@sellmate/design-system 1.25.1 → 1.26.1
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-chip-input.cjs.entry.js +48 -31
- package/dist/cjs/sd-circle-progress.cjs.entry.js +1 -1
- package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +3 -3
- 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 +12 -4
- 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-chip-input/sd-chip-input.css +3 -0
- package/dist/collection/components/sd-chip-input/sd-chip-input.js +66 -30
- package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
- package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +2 -2
- 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-portal/sd-portal.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-Dny4KukK.js → p-346Z6-KH.js} +1 -1
- package/dist/components/{p-BGpxtouI.js → p-B90EQBEX.js} +1 -1
- package/dist/components/{p-BuuIkYiY.js → p-BBRQlkBM.js} +1 -1
- package/dist/components/{p-PMD-Col0.js → p-BNxNJ3CK.js} +1 -1
- package/dist/components/{p-BZUlNC0d.js → p-BOTW76OV.js} +1 -1
- package/dist/components/{p-CtNDxhxx.js → p-BSnINeoq.js} +1 -1
- package/dist/components/{p-BoH7ykYx.js → p-BTWJkT9Y.js} +1 -1
- package/dist/components/{p-CQLezwlh.js → p-BVVYrEje.js} +1 -1
- package/dist/components/{p-BlN03Cqm.js → p-B_12VhSA.js} +1 -1
- package/dist/components/{p-BAsjJuJJ.js → p-BxiJsH7Z.js} +1 -1
- package/dist/components/{p-0U99W-3Z.js → p-C3rAloxT.js} +1 -1
- package/dist/components/{p-DBw58vNP.js → p-C4Vfr3RI.js} +1 -1
- package/dist/components/{p-B8uvCE1e.js → p-D6AroYk-.js} +1 -1
- package/dist/components/{p-CqivNcjh.js → p-D9tjoBhH.js} +1 -1
- package/dist/components/{p-CNwoxvpg.js → p-DGBRubiD.js} +1 -1
- package/dist/components/p-DLZRxIKh.js +1 -0
- package/dist/components/{p-d3KpOGRC.js → p-DUHiXyfJ.js} +1 -1
- package/dist/components/{p-BckY1cBy.js → p-DhgwAPO4.js} +1 -1
- package/dist/components/p-DiJvHjSG.js +1 -0
- package/dist/components/{p-1fgPu1BU.js → p-DlBZuGIN.js} +1 -1
- package/dist/components/{p-Dxye4-ZY.js → p-DlROb9xa.js} +1 -1
- package/dist/components/{p-BzrpKueg.js → p-DoJxhlz2.js} +1 -1
- package/dist/components/{p-h9_f4fUW.js → p-DsZ3vasC.js} +1 -1
- package/dist/components/{p-DpYG9T3S.js → p-Dz70SQco.js} +1 -1
- package/dist/components/{p-lGr865w2.js → p-UIytIOVz.js} +1 -1
- package/dist/components/{p-I-9rJnxk.js → p-c9mdxFTZ.js} +1 -1
- package/dist/components/{p-DMvWCQfX.js → p-h-EFBJM4.js} +1 -1
- package/dist/components/{p-BW-I-6Id.js → p-j1n74q9u.js} +1 -1
- package/dist/components/{p-DbbdfMAF.js → p-k89ztBz6.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-circle-progress.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-dropdown-button.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-portal.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-0fcb6fb3.entry.js} +1 -1
- package/dist/design-system/{p-5a67c40d.entry.js → p-1680b427.entry.js} +1 -1
- package/dist/design-system/{p-f1e0ba30.entry.js → p-20bb91ed.entry.js} +1 -1
- package/dist/design-system/{p-84b415d7.entry.js → p-250b8e5d.entry.js} +1 -1
- package/dist/design-system/{p-8862e3e3.entry.js → p-25a11d7d.entry.js} +1 -1
- package/dist/design-system/{p-0d5d2723.entry.js → p-3064d7c6.entry.js} +1 -1
- package/dist/design-system/{p-6b20c76b.entry.js → p-352a72ef.entry.js} +1 -1
- package/dist/design-system/{p-43d521c4.entry.js → p-3f16f44b.entry.js} +1 -1
- package/dist/design-system/{p-a8d69ab2.entry.js → p-43c47cd5.entry.js} +1 -1
- package/dist/design-system/{p-cb63d4cf.entry.js → p-6e702726.entry.js} +1 -1
- package/dist/design-system/{p-c0198e3a.entry.js → p-7cf2305b.entry.js} +1 -1
- package/dist/design-system/{p-9afc1f7c.entry.js → p-89c8585f.entry.js} +1 -1
- package/dist/design-system/p-8be26652.entry.js +1 -0
- package/dist/design-system/{p-a505459f.entry.js → p-8c5451f2.entry.js} +1 -1
- package/dist/design-system/{p-3b71d1d4.entry.js → p-992f9509.entry.js} +1 -1
- package/dist/design-system/{p-74e605c0.entry.js → p-a0349edd.entry.js} +1 -1
- package/dist/design-system/p-a32704bc.entry.js +1 -0
- package/dist/design-system/{p-b4df75b9.entry.js → p-a76a8463.entry.js} +1 -1
- package/dist/design-system/{p-c7ff7bc8.entry.js → p-c4e0c490.entry.js} +1 -1
- package/dist/design-system/{p-a1438f7d.entry.js → p-eb1233ff.entry.js} +1 -1
- package/dist/design-system/p-f089fc54.entry.js +1 -0
- package/dist/design-system/{p-6f77fc76.entry.js → p-f910d33f.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-chip-input.entry.js +48 -31
- package/dist/esm/sd-circle-progress.entry.js +1 -1
- package/dist/esm/sd-confirm-modal_2.entry.js +3 -3
- 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 +13 -5
- 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-chip-input/sd-chip-input.d.ts +3 -0
- package/dist/types/components/sd-tag/sd-tag.d.ts +3 -0
- package/dist/types/components.d.ts +20 -0
- package/hydrate/index.js +126 -99
- package/hydrate/index.mjs +126 -99
- package/package.json +1 -1
- package/dist/components/p-D6noGX38.js +0 -1
- package/dist/components/p-D8T1XeGP.js +0 -1
- package/dist/design-system/p-21d8f192.entry.js +0 -1
- package/dist/design-system/p-662ce409.entry.js +0 -1
- package/dist/design-system/p-ad822c82.entry.js +0 -1
|
@@ -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 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:"0864fe68a337d4bab526fa61570e856c8eff6d1c",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:"781819ed75f47395e96fd6808766e6bb8c246fa5",class:"sd-select",ref:t=>{this.triggerRef=t}},i("sd-select-trigger",{key:"8cebad98f0cd4b333954a55857aec3fbb6f3d283",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:"fe68f0b01256e1c1d3200f9f5fd17c2adf97f0e0",...t},i("sd-select-listbox",{key:"98368524ef06a6d752f2313756a89ae6e8c05955",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:"bb8c7f22a164d29e30d2f9da7740883daef4fc27",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:"ac1b06b12ec20d2b9d57ca3b4074b3752b5da5e1",isScrolled:this.isScrolled,onSdSearchFilter:this.handleSearchFilter}),i("div",{key:"2c7735e7098090762f573d63c2673d6face702c1",class:"sd-select-listbox__list",onScroll:this.handleScroll,ref:t=>{this.listEl=t}},this.showSelectAll&&i("sd-select-list-item",{key:"5377511fd55f0d34056ad64707265dd2cc86afc4",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:"b2f140907d6e4454a3adfb9d3dd9babd9058c178",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:"6803bc50c5f62dce1b1e9d874559f8ca5fca7b75",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:"397264b3179fb6699c1ee5454f76ac9d0779488c",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}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,c as i,a as t,h as s}from"./p-BZ5lcC25.js";import{n as d}from"./p-CCwNgVmC.js";import{D as n,a}from"./p-d24F7UcR.js";import{i as r}from"./p-e0ABNkP6.js";import{f as o}from"./p-BOJJ_sQS.js";import"./p-laVsm9VM.js";const l=class{constructor(t){e(this,t),this.update=i(this,"sdUpdate",7),this.viewChange=i(this,"sdViewChange",7)}static CLOSE_ANIMATION_DURATION=150;get el(){return t(this)}value=null;size="sm";placeholder="YYYY-MM-DD";selectable;disabled=!1;width="";label="";labelWidth="";addonLabel="";addonAlign="start";hint="";errorMessage="";rules=[];error=!1;icon=void 0;labelTooltip="";labelTooltipProps=null;isOpen=!1;isAnimatingOut=!1;focused=!1;hovered=!1;update;viewChange;triggerRef;formField;closeAnimationTimer;name=d();watchIsOpen(e){this.focused=e}async sdValidate(){return this.formField?.sdValidate()}async sdReset(){return this.formField?.sdReset()}async sdResetValidate(){return this.formField?.sdResetValidation()}closeDropdown(){this.isOpen&&(this.isOpen=!1,this.isAnimatingOut=!0,this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.closeAnimationTimer=setTimeout((()=>{this.isAnimatingOut=!1}),l.CLOSE_ANIMATION_DURATION))}handleTriggerClick=()=>{this.disabled||(this.isOpen?this.closeDropdown():(this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0))};handleSelect=e=>{e.stopPropagation(),this.closeDropdown(),this.value=e.detail;const i=this.value;requestAnimationFrame((()=>{this.update.emit(i)}))};handleViewChange=e=>{this.viewChange.emit(e.detail)};disconnectedCallback(){this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer)}render(){const e=a[this.size]??a.sm;return s("sd-field",{key:"4359c9ce80bfc919088774a4458c730c427aa3f5",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,size:this.size,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,ref:e=>this.formField=e,onMouseEnter:()=>this.hovered=!0,onMouseLeave:()=>this.hovered=!1,style:{"--sd-system-size-field-sm-height":`${e.height}px`,"--sd-system-radius-field-sm":`${e.radius}px`,"--sd-system-color-field-border-default":n.border.default,"--sd-system-color-field-border-focus":n.border.focus,"--sd-system-color-field-bg-default":n.bg.default}},s("div",{key:"638f4e59c9a7c5c841428c424181b3d2320857eb",class:"sd-date-picker",ref:e=>{this.triggerRef=e}},s("sd-date-picker-trigger",{key:"cbfe2bee0fdea1f089860cf3a7da9b7e35327c87",displayText:this.value??"",placeholder:this.placeholder,disabled:this.disabled,size:this.size,onSdTriggerClick:this.handleTriggerClick})),(this.isOpen||this.isAnimatingOut)&&s("sd-portal",{key:"a348437c5f9f53180cc7f74d5b275e4f3fbedea6",open:this.isOpen,parentRef:this.triggerRef,onSdClose:()=>this.closeDropdown()},s("sd-calendar",{key:"7dd08053b3a24d25e6149d4bc751c75eff94f752",elevated:!0,value:this.value,selectable:this.selectable,onSdUpdate:this.handleSelect,onSdViewChange:this.handleViewChange})))}static get watchers(){return{isOpen:[{watchIsOpen:0}]}}};l.style="sd-date-picker{display:inline-flex}sd-date-picker sd-portal{display:none}sd-date-picker .sd-date-picker{position:relative;width:100%;height:100%}";const h=class{constructor(t){e(this,t),this.update=i(this,"sdUpdate",7),this.viewChange=i(this,"sdViewChange",7)}static CLOSE_ANIMATION_DURATION=150;get el(){return t(this)}value=null;size="sm";placeholder="YYYY-MM-DD ~ YYYY-MM-DD";selectable;maxRange;disabled=!1;width="";label="";labelWidth="";addonLabel="";addonAlign="start";hint="";errorMessage="";rules=[];error=!1;icon=void 0;labelTooltip="";labelTooltipProps=null;isOpen=!1;isAnimatingOut=!1;focused=!1;hovered=!1;update;viewChange;triggerRef;formField;closeAnimationTimer;name=d();watchIsOpen(e){this.focused=e}async sdValidate(){return this.formField?.sdValidate()}async sdReset(){return this.formField?.sdReset()}async sdResetValidate(){return this.formField?.sdResetValidation()}closeDropdown(){this.isOpen&&(this.isOpen=!1,this.isAnimatingOut=!0,this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.closeAnimationTimer=setTimeout((()=>{this.isAnimatingOut=!1}),h.CLOSE_ANIMATION_DURATION))}handleTriggerClick=()=>{this.disabled||(this.isOpen?this.closeDropdown():(this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0))};handleSelect=e=>{this.closeDropdown(),this.value=e.detail;const i=this.value;requestAnimationFrame((()=>{this.update.emit(i)}))};handleViewChange=e=>{this.viewChange.emit(e.detail)};get displayText(){return null==this.value||""===this.value[0]||""===this.value[1]?"":`${this.value[0]} ~ ${this.value[1]}`}disconnectedCallback(){this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer)}render(){const e=a[this.size]??a.sm;return s("sd-field",{key:"00e25ab4608b5340b8be9e1dd19050968e34b758",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,size:this.size,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,ref:e=>this.formField=e,onMouseEnter:()=>this.hovered=!0,onMouseLeave:()=>this.hovered=!1,style:{"--sd-system-size-field-sm-height":`${e.height}px`,"--sd-system-radius-field-sm":`${e.radius}px`,"--sd-system-color-field-border-default":n.border.default,"--sd-system-color-field-border-focus":n.border.focus,"--sd-system-color-field-bg-default":n.bg.default}},s("div",{key:"98179e2ec90e55f83e5deff6e36fc821fc103456",class:"sd-date-range-picker",ref:e=>{this.triggerRef=e}},s("sd-date-picker-trigger",{key:"fe123228a851da602f0a5a8929fc20782742a24b",displayText:this.displayText,placeholder:this.placeholder,disabled:this.disabled,size:this.size,onSdTriggerClick:this.handleTriggerClick})),(this.isOpen||this.isAnimatingOut)&&s("sd-portal",{key:"ee7eb14cc09fd067a8eeb9f19bd93178378d81b2",open:this.isOpen,parentRef:this.triggerRef,onSdClose:()=>this.closeDropdown()},s("sd-date-range-picker-calendar",{key:"8dc57a29f1ecd6811fb4538a96eea823dfebe080",value:this.value,selectable:this.selectable,maxRange:this.maxRange,onSdSelect:this.handleSelect,onSdViewChange:this.handleViewChange})))}static get watchers(){return{isOpen:[{watchIsOpen:0}]}}};h.style="sd-date-range-picker{display:inline-flex}sd-date-range-picker sd-portal{display:none}sd-date-range-picker .sd-date-range-picker{position:relative;width:100%;height:100%}";var c={sm:{height:"28",paddingX:"12",gap:"8",radius:"4",typography:{fontWeight:"400",fontSize:"12",lineHeight:"20"},icon:"16"},text:{default:"#222222",placeholder:"#AAAAAA",disabled:"#888888"},icon:{disabled:"#BBBBBB"}};const p={height:c.sm.height,paddingX:c.sm.paddingX,gap:c.sm.gap,radius:c.sm.radius,fontSize:c.sm.typography.fontSize,lineHeight:c.sm.typography.lineHeight,fontWeight:c.sm.typography.fontWeight,iconSize:c.sm.icon},u={text:c.text,icon:{default:"#888888",disabled:c.icon.disabled}},f=class{constructor(t){e(this,t),this.update=i(this,"sdUpdate",7),this.reject=i(this,"sdReject",7)}get el(){return t(this)}value=null;placeholder="Click to upload";disabled=!1;inline=!1;multiple=!1;accept;maxFileSize;maxTotalSize;maxFiles;name=d();label="";labelWidth="";addonLabel="";addonAlign="start";hint="";errorMessage="";width="";rules;error=!1;status;icon=void 0;labelTooltip="";labelTooltipProps=null;focused=!1;hovered=!1;internalValue=null;showTooltip=!1;fileInputRef;fileNamesRef;formField;update;reject;valueChanged(e){this.internalValue=e}componentDidLoad(){this.checkOverflow()}componentDidUpdate(){this.checkOverflow()}async sdValidate(){return this.formField?.sdValidate()??Promise.resolve(!0)}async sdReset(){const e=this.multiple?[]:null;this.value=e,this.internalValue=e,this.fileInputRef&&(this.fileInputRef.value=""),await(this.formField?.sdResetValidation())}async sdResetValidate(){await(this.formField?.sdResetValidation())}toBytes(e){if(null!=e)return"string"==typeof e?Number(e):e}validateFiles(e,i=0){const t=this.toBytes(this.maxFileSize),s=this.toBytes(this.maxTotalSize),d=null!=this.maxFiles?Number(this.maxFiles):void 0;if(null!=d&&i+e.length>d)return{accepted:[],rejected:e,reason:"max-files"};if(null!=t){const i=e.filter((e=>e.size>t));if(i.length>0)return{accepted:[],rejected:i,reason:"max-file-size"}}return null!=s&&e.reduce(((e,i)=>e+i.size),0)>s?{accepted:[],rejected:e,reason:"max-total-size"}:{accepted:e,rejected:[]}}handleFileChange=e=>{const i=e.target.files;if(!i||0===i.length)return;const t=Array.from(i);if(this.multiple){const e=Array.isArray(this.internalValue)?this.internalValue:[],{accepted:i,rejected:s,reason:d}=this.validateFiles(t,e.length);if(this.fileInputRef&&(this.fileInputRef.value=""),null!=d)return void this.reject?.emit({files:s,reason:d});const n=[...e,...i];this.internalValue=n,this.value=n,this.update?.emit(this.value)}else{const{accepted:e,rejected:i,reason:s}=this.validateFiles(t);if(null!=s)return this.reject?.emit({files:i,reason:s}),void(this.fileInputRef&&(this.fileInputRef.value=""));this.internalValue=e[0],this.value=this.internalValue,this.update?.emit(this.value)}};handleClear=e=>{if(this.disabled)return;e.stopPropagation();const i=this.multiple?[]:null;this.value=i,this.internalValue=i,this.update?.emit(i),this.fileInputRef&&(this.fileInputRef.value="")};handleClick=()=>{this.disabled||this.fileInputRef?.click()};hasFiles(){return!this.multiple&&!!this.internalValue&&(!Array.isArray(this.internalValue)||this.internalValue.length>0)}hasChips(){return Array.isArray(this.internalValue)&&this.internalValue.length>0}getDisplayText(){return this.hasFiles()&&this.internalValue?.name||(this.placeholder??"Click to upload")}handleChipRemove=e=>{if(!Array.isArray(this.internalValue))return;const i=[...this.internalValue];i.splice(e,1),this.internalValue=i,this.value=i,this.update?.emit(this.value)};renderChipList(){return this.hasChips()?s("div",{class:"sd-file-picker__chip-list"},this.internalValue.map(((e,i)=>s("sd-chip",{value:e.name,onSdRemove:()=>this.handleChipRemove(i)})))):null}checkOverflow(){this.fileNamesRef&&(this.showTooltip=this.fileNamesRef.scrollWidth>this.fileNamesRef.clientWidth)}getIconColor(){return this.disabled?u.icon.disabled:u.icon.default}render(){const e=this.hasFiles(),i=this.getDisplayText(),t={"--sd-file-picker-font-size":`${p.fontSize}px`,"--sd-file-picker-line-height":`${p.lineHeight}px`,"--sd-file-picker-font-weight":p.fontWeight,"--sd-file-picker-padding-x":`${p.paddingX}px`,"--sd-file-picker-gap":`${p.gap}px`,"--sd-file-picker-text-color":u.text.default,"--sd-file-picker-placeholder-color":u.text.placeholder,"--sd-file-picker-disabled-color":u.text.disabled,"--sd-system-size-field-sm-height":`${p.height}px`,"--sd-system-radius-field-sm":`${p.radius}px`},d=s("div",{role:"button",tabindex:this.disabled?-1:0,class:"sd-file-picker__content",onClick:this.handleClick,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.handleClick())}},s("input",{ref:e=>this.fileInputRef=e,type:"file",class:"sd-file-picker__input",disabled:this.disabled,multiple:this.multiple,accept:this.accept,onInput:this.handleFileChange,"aria-label":this.placeholder??"Click to upload"}),s("sd-icon",{name:"attachFile",size:Number(p.iconSize),color:this.getIconColor(),class:"sd-file-picker__icon"}),s("div",{ref:e=>this.fileNamesRef=e,class:{"sd-file-picker__text":!0,"sd-file-picker__text--placeholder":!e,"sd-file-picker__text--active":e}},i),!this.disabled&&e&&s("sd-ghost-button",{icon:"close",size:"xxs",ariaLabel:"clear",disabled:this.disabled,class:"sd-file-picker__clear-icon",onClick:this.handleClear}),this.showTooltip&&e&&this.hovered&&s("div",{class:"sd-file-picker__tooltip"},i));return this.inline?s("div",{class:{"sd-file-picker--inline":!0,"sd-file-picker--inline-disabled":this.disabled},style:t,onMouseEnter:()=>this.hovered=!0,onMouseLeave:()=>this.hovered=!1},d,this.renderChipList()):s("div",{class:"sd-file-picker__wrapper",style:t},s("sd-field",{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,status:this.status,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,ref:e=>this.formField=e,onMouseEnter:()=>this.hovered=!0,onMouseLeave:()=>this.hovered=!1},d),this.renderChipList())}static get watchers(){return{value:[{valueChanged:0}]}}};f.style="sd-file-picker{display:flex;flex-direction:column;width:100%}.sd-file-picker__wrapper{display:flex;flex-direction:column;width:100%}.sd-file-picker__chip-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.sd-file-picker__content{width:100%;height:100%;display:flex;align-items:center;padding:0 var(--sd-file-picker-padding-x);gap:var(--sd-file-picker-gap);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;vertical-align:middle}.sd-file-picker__text{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:var(--sd-file-picker-font-weight);font-size:var(--sd-file-picker-font-size);line-height:var(--sd-file-picker-line-height);color:var(--sd-file-picker-placeholder-color)}.sd-file-picker__text--active{color:var(--sd-file-picker-text-color)}.sd-file-picker__text--placeholder{color:var(--sd-file-picker-placeholder-color)}.sd-file-picker__icon{flex-shrink:0}.sd-file-picker__clear-icon{flex-shrink:0;cursor:pointer;transition:opacity 0.2s ease}.sd-file-picker__clear-icon:hover{opacity:0.7}.sd-file-picker__input{display:none}.sd-file-picker__tooltip{position:absolute;top:calc(100% - 4px);left:50%;transform:translate(-50%);z-index:998;white-space:nowrap;padding:8px 12px;background:rgba(0, 0, 0, 0.8);color:white;font-size:12px;line-height:18px;border-radius:4px;pointer-events:none}.sd-field--disabled .sd-file-picker__content{cursor:not-allowed}.sd-field--disabled .sd-file-picker__text{color:var(--sd-file-picker-disabled-color)}.sd-file-picker--inline .sd-file-picker__content{border:none;background-color:transparent;padding:0;height:auto}.sd-file-picker--inline .sd-file-picker__text{color:var(--sd-file-picker-placeholder-color)}.sd-file-picker--inline:hover:not(.sd-file-picker--inline-disabled) .sd-file-picker__text{color:var(--sd-file-picker-text-color)}.sd-file-picker--inline .sd-file-picker__text--active{color:var(--sd-file-picker-text-color)}.sd-file-picker--inline.sd-file-picker--inline-disabled .sd-file-picker__content{cursor:not-allowed}.sd-file-picker--inline.sd-file-picker--inline-disabled .sd-file-picker__text{color:var(--sd-file-picker-disabled-color)}";const b=r.textinput.sm,g=r.textinput.md,m={sm:{height:b.height,paddingX:b.paddingX,gap:b.gap,radius:b.radius,fontSize:b.typography.fontSize,lineHeight:b.typography.lineHeight,fontWeight:b.typography.fontWeight},md:{height:g.height,paddingX:g.paddingX,gap:g.gap,radius:g.radius,fontSize:g.typography.fontSize,lineHeight:g.typography.lineHeight,fontWeight:g.typography.fontWeight}},_={text:r.textinput.text,icon:r.textinput.icon},x=class{constructor(t){e(this,t),this.input=i(this,"sdUpdate",7),this.focus=i(this,"sdFocus",7),this.blur=i(this,"sdBlur",7)}get host(){return t(this)}value=null;type="text";size="sm";addonLabel="";addonAlign="start";placeholder="입력해 주세요.";disabled=!1;clearable=!1;width="";rules=[];autoFocus=!1;autocomplete="";maxlength;minlength;inputmode;enterkeyhint;spellcheck=!1;status;hint="";errorMessage="";inputClass="";readonly=!1;error=!1;focused=!1;hovered=!1;label="";labelWidth="";icon=void 0;labelTooltip="";labelTooltipProps=null;inputStyle={};internalValue=null;passwordVisible=!1;nativeEl=void 0;formField;name=d();input;focus;blur;valueChanged(e){this.internalValue=e}internalValueChanged(e){e!==this.value&&(this.value=e,this.input?.emit(this.value))}async sdGetNativeElement(){return this.nativeEl||null}async sdValidate(){this.formField?.sdValidate()}async sdReset(){this.formField?.sdReset()}async sdResetValidate(){this.formField?.sdResetValidation()}async sdFocus(){this.formField?.sdFocus()}componentWillLoad(){null!=this.value&&""!==this.value&&(this.internalValue=this.value)}componentDidLoad(){this.autoFocus&&this.nativeEl?.focus()}handleInput=e=>{this.internalValue=e.target.value};handleFocus=async(e,i)=>{this.focused="focus"===e,"blur"===e?(this.rules&&this.rules.length>0&&await(this.formField?.sdValidate()),this.blur?.emit(i)):this.focus?.emit(i)};render(){const e=m[this.size]??m.sm;return s("sd-field",{key:"b29a9d582bd8993bd5c31c70bab02ff553f2e167",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,readonly:this.readonly,focused:this.focused,hovered:this.hovered,status:this.status,size:this.size,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,ref:e=>this.formField=e,onMouseEnter:()=>this.hovered=!0,onMouseLeave:()=>this.hovered=!1,style:{"--sd-input-font-size":`${e.fontSize}px`,"--sd-input-line-height":`${e.lineHeight}px`,"--sd-input-font-weight":e.fontWeight,"--sd-input-padding-x":`${e.paddingX}px`,"--sd-input-gap":`${e.gap}px`,"--sd-input-text-color":_.text.default,"--sd-input-placeholder-color":_.text.placeholder,"--sd-input-disabled-color":_.text.disabled,"--sd-input-icon-color":_.icon.default,"--sd-system-size-field-sm-height":`${e.height}px`,"--sd-system-radius-field-sm":`${e.radius}px`}},s("label",{key:"1a6ad118628ab8cb9282953c618ca61898cf241a",class:"sd-input__content"},s("slot",{key:"4de06d36b71ce2cad70a735e7620c2d320973962",name:"prefix"}),s("input",{key:"11c448201927a769c56fd1500ba8dd164d1b695a",name:this.name,ref:e=>this.nativeEl=e,class:`sd-input__native ${this.inputClass}`,type:"password"===this.type&&this.passwordVisible?"text":this.type??"text",value:this.internalValue||"",placeholder:this.placeholder??"입력해 주세요.",disabled:this.disabled,readonly:this.readonly,autofocus:this.autoFocus,autocomplete:this.autocomplete||void 0,maxlength:this.maxlength,minlength:this.minlength,inputmode:this.inputmode,enterkeyhint:this.enterkeyhint,spellcheck:this.spellcheck,onInput:this.handleInput,onFocus:e=>this.handleFocus("focus",e),onBlur:e=>this.handleFocus("blur",e),style:this.inputStyle}),s("slot",{key:"4ac88a21df8e2feaa67a68cab9fca4e24985d17d",name:"suffix"}),this.clearable&&this.internalValue&&!this.disabled&&!this.readonly&&s("sd-ghost-button",{key:"0985e2ed631ee746793563a22d766545a34d1562",icon:"close",ariaLabel:"clear",size:"xxs",disabled:this.disabled,class:"sd-input__clear-icon",onClick:async()=>{this.disabled||this.readonly||(this.internalValue="",await(this.formField?.sdValidate()))}}),"password"===this.type&&s("sd-ghost-button",{key:"16300e673a9c93209c403ec788217ba301c1d2e6",icon:this.passwordVisible?"visibilityOn":"visibilityOff",ariaLabel:"visibility",size:"xxs",disabled:this.disabled||this.readonly,class:"sd-input__password-icon",onClick:()=>{this.disabled||this.readonly||(this.passwordVisible=!this.passwordVisible)}})))}static get watchers(){return{value:[{valueChanged:0}],internalValue:[{internalValueChanged:0}]}}};x.style="sd-icon{display:inline-block;line-height:0}sd-icon .sd-icon--rotate-90{transform:rotate(90deg)}sd-icon .sd-icon--rotate-180{transform:rotate(180deg)}sd-icon .sd-icon--rotate-270{transform:rotate(270deg)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0px 1000px #fff inset;box-shadow:0 0 0px 1000px #fff inset;transition:background-color 5000s ease-in-out 0s}input:autofill,input:autofill:hover,input:autofill:focus,input:autofill:active{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0px 1000px #fff inset;box-shadow:0 0 0px 1000px #fff inset;transition:background-color 5000s ease-in-out 0s}sd-input{display:inline-flex}sd-input .sd-input__content{width:100%;height:100%;display:flex;flex-flow:row nowrap;align-items:center;color:var(--sd-input-text-color);font-size:var(--sd-input-font-size);line-height:var(--sd-input-line-height);font-weight:var(--sd-input-font-weight);padding:0 var(--sd-input-padding-x);gap:var(--sd-input-gap)}sd-input .sd-input__content .sd-input__native{width:100%;height:100%;border:none;outline:none;background:transparent;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit}sd-input .sd-input__content .sd-input__native[disabled]{cursor:not-allowed;color:var(--sd-input-disabled-color)}sd-input .sd-input__content .sd-input__native[readonly]{color:var(--sd-system-color-field-text-read-only)}sd-input .sd-input__content .sd-input__native::placeholder{color:var(--sd-input-placeholder-color)}sd-input .sd-input__content .sd-input__clear-icon,sd-input .sd-input__content .sd-input__password-icon{flex-shrink:0}sd-input .sd-input__content .sd-input__native[disabled]~.sd-input__clear-icon,sd-input .sd-input__content .sd-input__native[disabled]~.sd-input__password-icon,sd-input .sd-input__content .sd-input__native[readonly]~.sd-input__clear-icon,sd-input .sd-input__content .sd-input__native[readonly]~.sd-input__password-icon{cursor:not-allowed;pointer-events:none}";var v={numberInput:{sm:{height:"28",paddingX:"6",radius:"4",typography:{fontWeight:"400",fontSize:"12",lineHeight:"20"}},md:{height:"36",paddingX:"8",radius:"6",typography:{fontWeight:"400",fontSize:"14",lineHeight:"24"}},border:{default:"#AAAAAA",focus:"#0075FF",danger:"#FB4444"},bg:{default:"#FFFFFF"},text:{default:"#222222",placeholder:"#AAAAAA",disabled:"#888888"},stepper:{sm:{size:"20"},md:{size:"24"},radius:"4",bg:{default:"#EFF6FF",disabled:"#EEEEEE"},icon:{default:"#0075FF",disabled:"#BBBBBB"}}}};const y=v.numberInput.sm,k=v.numberInput.md,w={sm:{height:y.height,paddingX:y.paddingX,radius:y.radius,fontSize:y.typography.fontSize,lineHeight:y.typography.lineHeight,fontWeight:y.typography.fontWeight},md:{height:k.height,paddingX:k.paddingX,radius:k.radius,fontSize:k.typography.fontSize,lineHeight:k.typography.lineHeight,fontWeight:k.typography.fontWeight}},z={border:v.numberInput.border,bg:v.numberInput.bg,text:v.numberInput.text},C={sm:{size:v.numberInput.stepper.sm.size},md:{size:v.numberInput.stepper.md.size},radius:v.numberInput.stepper.radius,bg:v.numberInput.stepper.bg,icon:v.numberInput.stepper.icon},A=o.field.hint,T=o.field.errorMessage,F=o.field.contents.gap,$=class{constructor(t){e(this,t),this.update=i(this,"sdUpdate",7),this.focus=i(this,"sdFocus",7),this.blur=i(this,"sdBlur",7)}get el(){return t(this)}size="sm";min=Number.NEGATIVE_INFINITY;max=Number.POSITIVE_INFINITY;step=1;useButton=!1;useDecimal=!1;value=null;label;labelWidth="";icon=void 0;labelTooltip="";labelTooltipProps=null;addonLabel="";addonAlign="start";placeholder="입력해 주세요.";disabled=!1;width;rules=[];autoFocus=!1;status;hint="";errorMessage="";inputPrefix="";inputSuffix="";inputClass="";readonly=!1;inputStyle={};error=!1;focused=!1;hovered=!1;internalValue=null;displayValue="";nativeEl=void 0;formField;name=d();update;focus;blur;toNumber(e){if(null==e||""===e)return null;if("number"==typeof e)return isNaN(e)?null:e;if("string"==typeof e)return this.parseInput(e);const i=Number(e);return isNaN(i)?null:i}formatWithCommas(e){if(null==e||isNaN(e))return"";const i=e<0,t=Math.abs(e),[s,d]=t.toString().split("."),n=(+s).toLocaleString(),a=i?"-"+n:n;return void 0!==d&&""!==d?a+"."+d:String(a)}parseInput(e){if(""===e.trim())return null;const i=e.replace(/,/g,"").trim();if(!/^-?(\d+\.?\d*|\d*\.\d+)$/.test(i))return null;const t=parseFloat(i);return isNaN(t)||!this.useDecimal&&i.includes(".")?null:t}clampMinMax(e){return isNaN(e)?0:Math.min(Math.max(e,this.min),this.max)}updateDisplay(){this.displayValue=this.formatWithCommas(this.internalValue)}isIncrementDisabled(){return!(!this.disabled&&!this.readonly)||null!==this.internalValue&&this.internalValue>=this.max}isDecrementDisabled(){return!(!this.disabled&&!this.readonly)||null!==this.internalValue&&this.internalValue<=this.min}valueChanged(e){const i=this.toNumber(e);this.internalValue=null!==i?this.clampMinMax(i):null,this.updateDisplay()}internalValueChanged(e){this.updateDisplay(),e!==this.value&&(this.value=e,this.update?.emit(e))}async sdValidate(){this.formField?.sdValidate()}async sdReset(){this.formField?.sdReset()}async sdResetValidate(){this.formField?.sdResetValidation()}async sdFocus(){this.formField?.sdFocus()}async sdGetNativeElement(){return this.nativeEl||null}componentWillLoad(){const e=this.toNumber(this.value);null!==e&&(this.internalValue=this.clampMinMax(e)),this.updateDisplay()}componentDidLoad(){this.autoFocus&&this.nativeEl?.focus()}handleInput=e=>{const i=e.target,t=i.value;if(""===t)return this.internalValue=null,void(this.displayValue="");const s=t.replace(/,/g,""),d=(s.match(/\./g)||[]).length;if(d>1)return void(i.value=this.displayValue);if("-"===s||"."===s||"-."===s)return void(i.value=s);if(s.endsWith(".")&&1===d){const e=s.slice(0,-1),t=this.parseInput(e);if(null!==t){const e=this.formatWithCommas(t);return void(i.value=e+".")}}const n=this.parseInput(s);if(null!==n){if(n<this.min)return void(i.value=this.displayValue);if(n>this.max)return void(i.value=this.displayValue);this.internalValue=n,this.displayValue=this.formatWithCommas(n),i.value=this.displayValue}else i.value=this.displayValue};handleFocus=e=>{this.focused=!0,this.focus?.emit(e)};handleBlur=async e=>{this.updateDisplay(),this.nativeEl&&(this.nativeEl.value=this.displayValue),this.rules&&this.rules.length>0&&await(this.formField?.sdValidate()),this.focused=!1,this.blur?.emit(e)};handleKeyDown=e=>{"ArrowUp"===e.key?(e.preventDefault(),this.handleIncrement()):"ArrowDown"===e.key&&(e.preventDefault(),this.handleDecrement())};handleIncrement=()=>{if(this.isIncrementDisabled())return;const e=this.internalValue??this.min??0;let i=e+this.step;i>this.max&&(i=this.max),i!==e&&(this.internalValue=i)};handleDecrement=()=>{if(this.isDecrementDisabled())return;const e=this.internalValue??this.min??0;let i=e-this.step;i<this.min&&(i=this.min),i!==e&&(this.internalValue=i)};render(){const e=w[this.size]??w.sm,i="md"===this.size?14:12;return s("sd-field",{key:"581504f245674e1644f672aa77dd22f710a3c766",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,readonly:this.readonly,focused:this.focused,hovered:this.hovered,status:this.status,size:this.size,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,ref:e=>this.formField=e,onMouseEnter:()=>this.hovered=!0,onMouseLeave:()=>this.hovered=!1,style:{"--sd-number-input-font-size":`${e.fontSize}px`,"--sd-number-input-line-height":`${e.lineHeight}px`,"--sd-number-input-font-weight":e.fontWeight,"--sd-number-input-padding-x":`${e.paddingX}px`,"--sd-number-input-text-color":z.text.default,"--sd-number-input-placeholder-color":z.text.placeholder,"--sd-number-input-disabled-color":z.text.disabled,"--sd-number-input-stepper-size":`${C[this.size]?.size??C.sm.size}px`,"--sd-number-input-stepper-radius":`${C.radius}px`,"--sd-number-input-stepper-bg":C.bg.default,"--sd-number-input-stepper-bg-disabled":C.bg.disabled,"--sd-number-input-stepper-icon-color":C.icon.default,"--sd-number-input-stepper-icon-disabled":C.icon.disabled,"--sd-system-size-field-sm-height":`${e.height}px`,"--sd-system-radius-field-sm":`${e.radius}px`,"--sd-system-color-field-border-default":z.border.default,"--sd-system-color-field-border-focus":z.border.focus,"--sd-system-color-field-border-danger":z.border.danger,"--sd-system-color-field-bg-default":z.bg.default,"--sd-textinput-input-text-error-message":T.color,"--sd-textinput-input-error-message-typography-font-size":`${T.typography.fontSize}px`,"--sd-textinput-input-error-message-typography-line-height":`${T.typography.lineHeight}px`,"--sd-textinput-input-text-hint":A.color,"--sd-textinput-input-hint-typography-font-size":`${A.typography.fontSize}px`,"--sd-textinput-input-hint-typography-line-height":`${A.typography.lineHeight}px`,"--sd-textinput-input-contents-gap":`${F}px`}},s("div",{key:"f17872e37d0b0369061deb508d44ce7ae4943c5b",class:{"sd-number-input__content":!0,"sd-number-input__content--no-stepper":!this.useButton}},this.useButton&&s("button",{key:"b513ee5c44e2475ab751dae3a333e95405c9a319",type:"button",class:"sd-number-input__stepper sd-number-input__stepper--decrement",disabled:this.isDecrementDisabled(),onClick:this.handleDecrement,tabindex:-1},s("sd-icon",{key:"172dcff1a3559008183bed32c30ec02d98c12664",name:"minus",size:i,color:this.isDecrementDisabled()?C.icon.disabled:C.icon.default})),this.inputPrefix&&s("span",{key:"24d631ea8330ed6e90f2aa77e46707867ff57539",class:"sd-number-input__prefix"},this.inputPrefix),s("input",{key:"ed0c70a534f1f6e246a407073aee9efa3a222b01",name:this.name,ref:e=>this.nativeEl=e,class:`sd-number-input__native ${this.inputClass}`,type:"text",inputMode:"numeric",value:this.displayValue,placeholder:this.placeholder??"입력해 주세요.",disabled:this.disabled,readonly:this.readonly,autofocus:this.autoFocus,onInput:this.handleInput,onKeyDown:this.handleKeyDown,onFocus:this.handleFocus,onBlur:this.handleBlur,style:{textAlign:this.useButton?"center":"right",...this.inputStyle}}),this.inputSuffix&&s("span",{key:"7129df3b5cf544301cadaf5111e98ddcf3e7a340",class:"sd-number-input__suffix"},this.inputSuffix),this.useButton&&s("button",{key:"d5cb9acd77be94e494fb4af3b78001cd22dbfe3c",type:"button",class:"sd-number-input__stepper sd-number-input__stepper--increment",disabled:this.isIncrementDisabled(),onClick:this.handleIncrement,tabindex:-1},s("sd-icon",{key:"dba88711bda7f5522425d96187bce402c8516fff",name:"add",size:i,color:this.isIncrementDisabled()?C.icon.disabled:C.icon.default}))))}static get watchers(){return{value:[{valueChanged:0}],internalValue:[{internalValueChanged:0}]}}};$.style="sd-number-input{display:inline-flex}sd-number-input .sd-number-input__content{width:100%;height:100%;display:flex;flex-flow:row nowrap;align-items:center;gap:var(--sd-number-input-padding-x);color:var(--sd-number-input-text-color);font-size:var(--sd-number-input-font-size);line-height:var(--sd-number-input-line-height);font-weight:var(--sd-number-input-font-weight);padding:0 var(--sd-number-input-padding-x)}sd-number-input .sd-number-input__content--no-stepper{padding:0 calc(var(--sd-number-input-padding-x) * 2)}sd-number-input .sd-number-input__content .sd-number-input__native{width:100%;height:100%;min-width:0;border:none;outline:none;background:transparent;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;padding-block:0;padding-inline:0}sd-number-input .sd-number-input__content .sd-number-input__native[disabled]{cursor:not-allowed;color:var(--sd-number-input-disabled-color)}sd-number-input .sd-number-input__content .sd-number-input__native[readonly]{color:var(--sd-system-color-field-text-read-only)}sd-number-input .sd-number-input__content .sd-number-input__native::placeholder{color:var(--sd-number-input-placeholder-color)}sd-number-input .sd-number-input__content .sd-number-input__prefix,sd-number-input .sd-number-input__content .sd-number-input__suffix{flex-shrink:0;white-space:nowrap;color:var(--sd-number-input-placeholder-color);font-size:inherit;line-height:inherit}sd-number-input .sd-number-input__content .sd-number-input__stepper{flex-shrink:0;width:var(--sd-number-input-stepper-size);height:var(--sd-number-input-stepper-size);border:none;border-radius:var(--sd-number-input-stepper-radius);background-color:var(--sd-number-input-stepper-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin:0;transition:background-color 0.15s ease}sd-number-input .sd-number-input__content .sd-number-input__stepper:hover:not(:disabled){filter:brightness(0.95)}sd-number-input .sd-number-input__content .sd-number-input__stepper:disabled{background-color:var(--sd-number-input-stepper-bg-disabled);cursor:not-allowed}";const M=class{constructor(t){e(this,t),this.change=i(this,"sdUpdate",7)}value;options=[];direction="vertical";disabled=!1;groupName;change;valueChanged(e){this.value=e}handleRadioChange=e=>{if(this.disabled)return;const i=this.options.find((i=>String(i.value)===String(e))),t=i?i.value:e;this.value=t,this.change?.emit(t)};getGroupClasses(){return["sd-radio-group",`sd-radio-group--${this.direction??"vertical"}`].join(" ")}render(){return s("div",{key:"e5f4051ea9b2843816a849a018b8040e7b951a55",class:this.getGroupClasses(),role:"radiogroup"},this.options.map((e=>s("sd-radio",{key:`radio-${e.value}`,val:String(e.value),value:String(this.value),label:e.label,disabled:this.disabled||!!e.disabled,onSdUpdate:({detail:e})=>this.handleRadioChange(e)}))))}static get watchers(){return{value:[{valueChanged:0}]}}};M.style='sd-radio{display:inline-flex;width:fit-content;height:var(--sd-radio-line-height);line-height:0}sd-radio .sd-radio{cursor:pointer;display:inline-flex;align-items:center;gap:var(--sd-radio-gap);height:var(--sd-radio-line-height);max-height:var(--sd-radio-line-height)}sd-radio .sd-radio>input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}sd-radio .sd-radio>input:focus-visible+.sd-radio__circle{box-shadow:0 0 0 2px white, 0 0 0 4px var(--sd-radio-checked-border);outline:none}sd-radio .sd-radio__circle{position:relative;width:var(--sd-radio-size);height:var(--sd-radio-size);border-radius:50%;border:var(--sd-radio-border-width) solid var(--sd-radio-unchecked-border);box-sizing:border-box;background:var(--sd-radio-unchecked-bg);display:inline-flex;flex-shrink:0}sd-radio .sd-radio__label{font-size:var(--sd-radio-font-size);font-weight:var(--sd-radio-font-weight);color:var(--sd-radio-label-color);line-height:var(--sd-radio-line-height);display:inline-flex;flex-direction:column}sd-radio .sd-radio__label::before{content:attr(data-label);height:0;font-weight:var(--sd-radio-selected-font-weight);visibility:hidden;overflow:hidden;user-select:none;pointer-events:none}sd-radio .sd-radio:hover:not(.sd-radio--disabled) .sd-radio__circle{background:var(--sd-radio-unchecked-bg-hover);border-color:var(--sd-radio-unchecked-border-hover)}sd-radio .sd-radio--checked .sd-radio__label{font-weight:var(--sd-radio-selected-font-weight)}sd-radio .sd-radio--checked .sd-radio__circle{border-color:var(--sd-radio-checked-border)}sd-radio .sd-radio--checked .sd-radio__circle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:var(--sd-radio-dot-size);height:var(--sd-radio-dot-size);border-radius:50%;background:var(--sd-radio-checked-dot)}sd-radio .sd-radio--disabled{cursor:not-allowed}sd-radio .sd-radio--disabled .sd-radio__label{color:var(--sd-radio-label-disabled-color)}sd-radio .sd-radio--disabled .sd-radio__circle{background:var(--sd-radio-disabled-bg);border-color:var(--sd-radio-disabled-border)}sd-radio .sd-radio--disabled.sd-radio--checked .sd-radio__circle::after{background:var(--sd-radio-disabled-dot)}sd-radio-group{display:inline-block}sd-radio-group .sd-radio-group{display:flex}sd-radio-group .sd-radio-group--vertical{flex-direction:column;gap:8px}sd-radio-group .sd-radio-group--horizontal{flex-direction:row;align-items:center;gap:20px}';const S={paddingX:r.textinput.sm.paddingX,paddingY:r.textinput.sm.paddingY,radius:r.textinput.sm.radius,fontSize:r.textinput.sm.typography.fontSize,lineHeight:r.textinput.sm.typography.lineHeight,fontWeight:r.textinput.sm.typography.fontWeight},V={text:r.textinput.text,bg:r.textinput.bg,border:r.textinput.border,resizer:r.textinput.resizer},L=class{constructor(t){e(this,t),this.input=i(this,"sdUpdate",7),this.focus=i(this,"sdFocus",7),this.blur=i(this,"sdBlur",7)}get host(){return t(this)}value=null;placeholder="입력해 주세요.";disabled=!1;readonly=!1;autoFocus=!1;textareaClass="";textareaStyle={};maxLength;rows;spellcheck=!1;width="";label="";labelWidth="";addonLabel="";addonAlign="start";hint="";errorMessage="";icon=void 0;labelTooltip="";labelTooltipProps=null;rules=[];error=!1;status;focused=!1;hovered=!1;internalValue=null;nativeEl=void 0;formField;name=d();input;focus;blur;valueChanged(e){this.internalValue=e}internalValueChanged(e){e!==this.value&&(this.value=e,this.input?.emit(this.value))}async sdGetNativeElement(){return this.nativeEl||null}async sdValidate(){this.formField?.sdValidate()}async sdReset(){this.formField?.sdReset()}async sdResetValidate(){this.formField?.sdResetValidation()}async sdFocus(){this.formField?.sdFocus()}componentWillLoad(){null!=this.value&&(this.internalValue=this.value)}componentDidLoad(){this.autoFocus&&this.nativeEl?.focus()}handleInput=e=>{this.internalValue=e.target.value};handleFocus=async(e,i)=>{this.focused="focus"===e,"blur"===e?(this.rules&&this.rules.length>0&&await(this.formField?.sdValidate()),this.blur?.emit(i)):this.focus?.emit(i)};render(){return s("sd-field",{key:"dfa331524cbbac728c961c7a27d6c8dbd83853f4",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,readonly:this.readonly,focused:this.focused,hovered:this.hovered,status:this.status,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,ref:e=>this.formField=e,onMouseEnter:()=>this.hovered=!0,onMouseLeave:()=>this.hovered=!1,style:{"--sd-textarea-font-size":`${S.fontSize}px`,"--sd-textarea-line-height":`${S.lineHeight}px`,"--sd-textarea-font-weight":S.fontWeight,"--sd-textarea-padding-x":`${S.paddingX}px`,"--sd-textarea-padding-y":`${S.paddingY}px`,"--sd-textarea-radius":`${S.radius}px`,"--sd-textarea-text-color":V.text.default,"--sd-textarea-placeholder-color":V.text.placeholder,"--sd-textarea-disabled-color":V.text.disabled,"--sd-textarea-bg-color":V.bg.default,"--sd-textarea-disabled-bg-color":V.bg.disabled,"--sd-textarea-border-color":V.border.default,"--sd-textarea-resizer-color":V.resizer.color,"--sd-system-size-field-sm-height":"auto","--sd-system-radius-field-sm":`${S.radius}px`}},s("div",{key:"bd2d6d4b537364e28992971279d3278021b1ab5a",class:"sd-textarea__content"},s("textarea",{key:"270d55c84255a43153ed5f5cfdeed586c38d0cf1",name:this.name,ref:e=>this.nativeEl=e,class:`sd-textarea__native ${this.textareaClass}`,value:this.internalValue||"",placeholder:this.placeholder??"입력해 주세요.",disabled:this.disabled,readOnly:this.readonly,autofocus:this.autoFocus,maxLength:this.maxLength,rows:this.rows,spellcheck:this.spellcheck,onInput:this.handleInput,onFocus:e=>this.handleFocus("focus",e),onBlur:e=>this.handleFocus("blur",e),style:this.textareaStyle})))}static get watchers(){return{value:[{valueChanged:0}],internalValue:[{internalValueChanged:0}]}}};L.style="sd-textarea{display:inline-flex}sd-textarea .sd-textarea__content{width:100%;display:flex}sd-textarea .sd-textarea__content .sd-textarea__native{width:100%;min-height:100px;border:none;outline:none;background:transparent;padding:var(--sd-textarea-padding-y) var(--sd-textarea-padding-x);font-family:inherit;font-size:var(--sd-textarea-font-size);line-height:var(--sd-textarea-line-height);font-weight:var(--sd-textarea-font-weight);color:var(--sd-textarea-text-color);resize:vertical}sd-textarea .sd-textarea__content .sd-textarea__native::placeholder{color:var(--sd-textarea-placeholder-color)}sd-textarea .sd-textarea__content .sd-textarea__native:disabled{cursor:not-allowed;color:var(--sd-textarea-disabled-color)}sd-textarea .sd-textarea__content .sd-textarea__native[readonly]{color:var(--sd-system-color-field-text-read-only)}";export{l as sd_date_picker,h as sd_date_range_picker,f as sd_file_picker,x as sd_input,$ as sd_number_input,M as sd_radio_group,L as sd_textarea}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,c as t,h as s}from"./p-BZ5lcC25.js";import{g as i,i as l,h as c,j as d,k as
|
|
1
|
+
import{r as e,c as t,h as s}from"./p-BZ5lcC25.js";import{g as i,i as l,h as c,j as d,k as a}from"./p-CAFz8W8_.js";import{s as r}from"./p-BE4tnQ2Z.js";import"./p-U8VaRj9c.js";const o=class{constructor(s){e(this,s),this.listItemClick=t(this,"sdListItemClick",7)}option;depth=1;isSelected=!1;isFocused=!1;useCheckbox=!1;countInfo;listItemClick;get isGroup(){return!!this.option.children}get isSelectable(){return!this.isGroup||this.useCheckbox}get depthKey(){return this.depth<=1?"depth1":2===this.depth?"depth2":"depth3"}get paddingLeft(){return`${i.paddingLeft[this.depthKey]}px`}handleClick=e=>{e.stopPropagation(),!this.option.disabled&&this.isSelectable&&this.listItemClick.emit(this.option)};handleCheckboxClick=e=>{e.stopPropagation()};handleCheckboxUpdate=e=>{e.stopPropagation(),!this.option.disabled&&this.isSelectable&&this.listItemClick.emit(this.option)};render(){const e=this.isGroup,t=e&&1===this.depth,a=e&&2===this.depth,o={"--list-item-padding-y":`${i.paddingY}px`,"--list-item-padding-left":this.paddingLeft,"--list-item-padding-right":`${i.paddingRight}px`,"--list-item-gap":`${i.gap}px`,"--list-item-font-size":`${c.fontSize}px`,"--list-item-line-height":`${c.lineHeight}px`,"--list-item-font-weight":c.fontWeight,"--list-item-bg":t?d.depth1.bg:a?d.depth2.bg:d.bg.default,"--list-item-bg-hover":d.bg.hover,"--list-item-color":d.content.default,"--list-item-color-hover":d.content.hover,"--list-item-color-disabled":d.content.disabled,"--list-item-color-selected":d.content.selected,"--list-item-font-weight-selected":c.selectedFontWeight};return t&&(o["--list-item-border-top"]=`${d.depth1.borderWidth}px solid ${d.depth1.border}`),s("div",{key:"ffd420e1d1a6ff395ed3fff94cbaba66f71644ac",role:"option",tabindex:-1,"aria-selected":!0===this.isSelected?"true":"false",class:{"sd-select-list-item":!0,"sd-select-list-item--group":e,"sd-select-list-item--depth1-group":t,"sd-select-list-item--depth2-group":a,"sd-select-list-item--selected":!0===this.isSelected,"sd-select-list-item--indeterminate":null===this.isSelected,"sd-select-list-item--focused":this.isFocused,"sd-select-list-item--selectable":this.isSelectable&&!this.option.disabled,"sd-select-list-item--disabled":!!this.option.disabled},style:o,onClick:this.handleClick},this.useCheckbox&&s("sd-checkbox",{key:"4bc492e2021f255cb87344bd0498023b50d89c8a",value:null===this.isSelected?null:!!this.isSelected,disabled:this.option.disabled,inverse:this.isFocused&&!1!==this.isSelected,class:"sd-select-list-item__checkbox",onClick:this.handleCheckboxClick,onSdUpdate:this.handleCheckboxUpdate}),l(this.option.label)?s("span",{class:"sd-select-list-item__label",ref:e=>e&&(e.innerHTML=r(this.option.label))}):s("span",{class:"sd-select-list-item__label"},this.option.label),this.countInfo&&s("span",{key:"34a7671fa3f6ec1bff7c302f02bb4bfd7a113ce5",class:"sd-select-list-item__count"},"(",this.countInfo.selected,"/",this.countInfo.total,")"))}};o.style="sd-select-list-item{display:block}sd-select-list-item .sd-select-list-item{display:flex;align-items:center;gap:var(--list-item-gap);padding:var(--list-item-padding-y) var(--list-item-padding-right) var(--list-item-padding-y) var(--list-item-padding-left);font-size:var(--list-item-font-size);line-height:var(--list-item-line-height);font-weight:var(--list-item-font-weight);background:var(--list-item-bg);color:var(--list-item-color);cursor:default;user-select:none}sd-select-list-item .sd-select-list-item--selectable{cursor:pointer}sd-select-list-item .sd-select-list-item--depth1-group{border-top:var(--list-item-border-top);font-weight:700}sd-select-list-item .sd-select-list-item--depth2-group{font-weight:500}sd-select-list-item .sd-select-list-item--focused.sd-select-list-item--selectable:not(.sd-select-list-item--disabled){background:var(--list-item-bg-hover);color:var(--list-item-color-hover)}sd-select-list-item .sd-select-list-item--selected:not(.sd-select-list-item--group){font-weight:var(--list-item-font-weight-selected);color:var(--list-item-color-selected)}sd-select-list-item .sd-select-list-item--selected.sd-select-list-item--focused{color:var(--list-item-color-hover)}sd-select-list-item .sd-select-list-item--disabled{color:var(--list-item-color-disabled);cursor:not-allowed}sd-select-list-item .sd-select-list-item__label{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-select-list-item .sd-select-list-item__count{flex-shrink:0;font-weight:500;color:var(--list-item-color-disabled)}sd-select-list-item .sd-select-list-item--group.sd-select-list-item--focused .sd-select-list-item__count{color:#ffffff}sd-select-list-item .sd-select-list-item__checkbox{flex-shrink:0}";const h=class{constructor(s){e(this,s),this.searchFilter=t(this,"sdSearchFilter",7),this.searchFocus=t(this,"sdSearchFocus",7)}isScrolled=!1;searchText="";searchFilter;searchFocus;inputEl;debounceTimer;focusRafId;componentDidLoad(){requestAnimationFrame((()=>{this.focusRafId=requestAnimationFrame((()=>{this.inputEl?.focus()}))}))}async sdFocus(){this.inputEl?.focus()}handleInput=e=>{this.searchText=e.target.value,this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((()=>{this.searchFilter.emit(this.searchText)}),a)};handleClear=e=>{e.stopPropagation(),this.searchText="",this.debounceTimer&&clearTimeout(this.debounceTimer),this.searchFilter.emit(""),this.inputEl?.focus()};disconnectedCallback(){void 0!==this.focusRafId&&cancelAnimationFrame(this.focusRafId),void 0!==this.debounceTimer&&clearTimeout(this.debounceTimer)}render(){return s("div",{key:"e18205c606d8a47de3cd98be6ddad0c9a1ed4f5a",class:{"sd-select-list-item-search":!0,"sd-select-list-item-search--scrolled":this.isScrolled}},s("div",{key:"220a830db70628b4a240d19791db5090c6112cbf",class:"sd-select-list-item-search__inner"},s("sd-icon",{key:"f7680be3c49045f318887a2cd955e84ee4ea6646",name:"search",size:16,color:"grey_70",class:"sd-select-list-item-search__icon"}),s("input",{key:"94face3b593e33db6230ede587de77e5cb158774",ref:e=>{this.inputEl=e},type:"text",class:"sd-select-list-item-search__input",placeholder:"검색어 입력",value:this.searchText,onInput:this.handleInput,onFocus:()=>this.searchFocus.emit()}),s("button",{key:"38f9de8c7ebf98aea2ef03ce9ddbb03cb9f29f81",type:"button",class:{"sd-select-list-item-search__clear":!0,"sd-select-list-item-search__clear--hidden":""===this.searchText},onClick:this.handleClear,tabindex:""!==this.searchText?0:-1,"aria-hidden":""!==this.searchText?"false":"true"},s("sd-icon",{key:"fe32e9e44afbaa0f7ad07db665022839facbaf83",name:"close",size:12,color:"#888888"}))))}};h.style="sd-select-list-item-search{display:block}sd-select-list-item-search .sd-select-list-item-search{padding:4px 8px;position:sticky;top:0;z-index:1;background:white}sd-select-list-item-search .sd-select-list-item-search--scrolled{box-shadow:0 2px 4px rgba(0, 0, 0, 0.08)}sd-select-list-item-search .sd-select-list-item-search__inner{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #cccccc;border-radius:4px;background:white}sd-select-list-item-search .sd-select-list-item-search__inner:focus-within{border-color:#0075ff}sd-select-list-item-search .sd-select-list-item-search__icon{flex-shrink:0}sd-select-list-item-search .sd-select-list-item-search__input{flex:1;border:none;outline:none;font-size:12px;line-height:20px;color:#222222;background:transparent;min-width:0}sd-select-list-item-search .sd-select-list-item-search__input::placeholder{color:#aaaaaa}sd-select-list-item-search .sd-select-list-item-search__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;cursor:pointer;border-radius:2px}sd-select-list-item-search .sd-select-list-item-search__clear:hover{background:#f0f0f0}sd-select-list-item-search .sd-select-list-item-search__clear--hidden{visibility:hidden;pointer-events:none}";export{o as sd_select_list_item,h as sd_select_list_item_search}
|
|
@@ -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:"6fbd05e53170cb323d3db5fe5fb7bf17e03f3af9",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:"60e23369acd45ae6a74b076c08309644a10aceb3",name:"date",size:Number(e.iconSize),color:"var(--trigger-icon-color)",class:"sd-date-picker-trigger__icon"}),d("span",{key:"5db37f4d71914215e4ae4236791dd3e0eda10c96",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 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:"4502cc08eb9df7c24cdc9f22564fb2a4a0b2736e"},r("div",{key:"9da4356920cbce83c548a4c5f40cb2af9e36a257",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:"a8117206cd3d9368a86f4cc307037461c1314aad",class:"sd-date-range-picker-calendar__panels"},this.renderPanel(this.currentYear,this.currentMonth,!0),r("span",{key:"0f6cbaf53781429b3de08aa992a45f2c26444625",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}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as i,c as t,a as s,h as e}from"./p-BZ5lcC25.js";import{n}from"./p-CCwNgVmC.js";import{s as h}from"./p-BJfiMC9H.js";import{l as d,a as o}from"./p-U8VaRj9c.js";import{C as p,a,b as r}from"./p-ITP9Focx.js";var l={minHeight:"36",paddingX:"12",paddingY:"6",radius:"4",typography:{fontFamily:"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",fontWeight:"400",fontSize:"12",lineHeight:"20"}},c={minHeight:"40",paddingX:"16",paddingY:"8",radius:"6",typography:{fontFamily:"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",fontWeight:"400",fontSize:"14",lineHeight:"24"}},u={placeholder:"#AAAAAA"};const g={sm:{minHeight:l.minHeight,paddingX:l.paddingX,paddingY:l.paddingY,radius:l.radius,fontSize:l.typography.fontSize,lineHeight:l.typography.lineHeight,fontWeight:l.typography.fontWeight,fontFamily:l.typography.fontFamily},md:{minHeight:c.minHeight,paddingX:c.paddingX,paddingY:c.paddingY,radius:c.radius,fontSize:c.typography.fontSize,lineHeight:c.typography.lineHeight,fontWeight:c.typography.fontWeight,fontFamily:c.typography.fontFamily}},f={text:{placeholder:u.placeholder}},m={chipGap:`${{gap:"8"}.gap}px`},v=h.typography.feedback.sm.regular,b={fontSize:`${v.fontSize}px`,fontWeight:`${v.fontWeight}`,color:u.placeholder},y=o.listItem,x={radius:`${d.listBox.radius}px`,maxHeight:"260px",itemPaddingY:`${y.paddingY}px`,itemPaddingX:`${y.paddingLeft.depth1}px`,itemPaddingRight:`${y.paddingRight}px`,itemGap:`${y.gap}px`,itemFontSize:`${y.typography.default.fontSize}px`,itemFontWeight:y.typography.default.fontWeight,itemFontWeightSelected:y.typography.selected.fontWeight,itemLineHeight:`${y.typography.default.lineHeight}px`,itemFontFamily:y.typography.default.fontFamily,itemColor:y.content.default,itemColorHover:y.content.hover,itemBgHover:y.bg.hover,emptyColor:"#888888",emptyFontSize:"12px",emptyLineHeight:"20px"},w=class{constructor(s){i(this,s),this.update=t(this,"sdUpdate",7),this.focusEvent=t(this,"sdFocus",7),this.blurEvent=t(this,"sdBlur",7),this.inputEvent=t(this,"sdInput",7)}static SUGGESTIONS_VIEWPORT_PADDING=8;get host(){return s(this)}values=[];errors=[];disabledChips=[];size="sm";disabled=!1;placeholder="입력해 주세요.";name=n();rules=[];error=!1;useReset=!1;maxCount;duplicateLabel;suggestions=[];loadingSuggestions=!1;recommendedItems=[];loadingRecommendedItems=!1;autocompleteMinWidth;label="";labelWidth="";hint="";errorMessage="";width="";status;icon=void 0;labelTooltip="";labelTooltipProps=null;internalValues=[];internalErrors=[];focused=!1;hovered=!1;inputValue="";activeSuggestionIndex=-1;suppressSuggestions=!1;suppressRecommendations=!1;inputEl;formField;chipInputRef;fieldRef;get value(){return this.internalValues}valuesChanged(i){this.internalValues=Array.isArray(i)?[...i]:[]}errorsChanged(i){Array.isArray(i)&&(this.internalErrors=[...i])}internalValuesChanged_validate(){"function"==typeof this.formField?.sdValidate&&this.formField.sdValidate()}suggestionsChanged(i){Array.isArray(i)||(this.suggestions=[]),this.activeSuggestionIndex=-1,this.suppressSuggestions=!1}recommendedItemsChanged(i){Array.isArray(i)||(this.recommendedItems=[]),this.activeSuggestionIndex=-1}componentWillLoad(){this.internalValues=Array.isArray(this.values)?[...this.values]:[],Array.isArray(this.errors)&&(this.internalErrors=[...this.errors]),this.inputValue=this.inputValue??""}isDuplicateChip(i){return this.internalValues.indexOf(this.internalValues[i])!==i}getChipError(i){return!!this.isDuplicateChip(i)||("function"==typeof this.errors?this.errors(this.internalValues?.[i]??""):this.internalErrors?.[i]??!1)}getChipDisabled(i){return!!this.disabled||("function"==typeof this.disabledChips?this.disabledChips(this.internalValues?.[i]??""):this.disabledChips?.[i]??!1)}update;focusEvent;blurEvent;inputEvent;async sdValidate(){return this.formField?.sdValidate()}async sdReset(){return this.formField?.sdReset()}async sdResetValidate(){return this.formField?.sdResetValidation()}async sdFocus(){return this.formField?.sdFocus()}addChip=i=>{if(null!=this.maxCount&&this.internalValues.length>=this.maxCount)return;const t=[...this.internalValues,i];if(this.internalValues=t,this.values=t,Array.isArray(this.errors)){const i=[...this.internalErrors,!1];this.internalErrors=i,this.errors=i}Array.isArray(this.disabledChips)&&(this.disabledChips=[...this.disabledChips,!1]),null!=this.inputEl&&(this.inputEl.value=""),this.inputValue="",this.activeSuggestionIndex=-1,this.suppressSuggestions=!0,this.update.emit(t),this.inputEvent.emit(""),this.inputEl?.focus()};handleChipRemove=i=>{const t=this.internalValues.filter(((t,s)=>s!==i));if(this.internalValues=t,this.values=t,Array.isArray(this.errors)){const t=this.internalErrors.filter(((t,s)=>s!==i));this.internalErrors=t,this.errors=t}Array.isArray(this.disabledChips)&&(this.disabledChips=this.disabledChips.filter(((t,s)=>s!==i))),this.update.emit(t),this.inputEl?.focus(),this.suppressRecommendations=!0};handleKeyDown=i=>{const t=i.target,s=this.suggestions??[],e=this.recommendedItems??[],n=this.focused&&""!==this.inputValue&&!this.suppressSuggestions&&(s.length>0||this.loadingSuggestions),h=this.focused&&""===this.inputValue&&!this.suppressRecommendations&&(e.length>0||this.loadingRecommendedItems),d=n?s:e;if(n||h){if("ArrowDown"===i.key)return i.preventDefault(),void(this.activeSuggestionIndex=Math.min(this.activeSuggestionIndex+1,d.length-1));if("ArrowUp"===i.key)return i.preventDefault(),void(this.activeSuggestionIndex=Math.max(this.activeSuggestionIndex-1,-1));if("Escape"===i.key)return n&&(this.suppressSuggestions=!0),h&&(this.suppressRecommendations=!0),void(this.activeSuggestionIndex=-1);if("Enter"===i.key&&this.activeSuggestionIndex>=0){i.preventDefault();const t=d[this.activeSuggestionIndex];return void((this.internalValues??[]).includes(t)||this.addChip(t))}}if("Enter"!==i.key||i.isComposing||""===t.value.trim()){if("Backspace"===i.key&&""===t.value&&this.internalValues.length>0){if(this.getChipDisabled(this.internalValues.length-1))return;i.preventDefault();const t=this.internalValues.slice(0,-1);if(this.internalValues=t,this.values=t,Array.isArray(this.errors)){const i=this.internalErrors.slice(0,-1);this.internalErrors=i,this.errors=i}Array.isArray(this.disabledChips)&&(this.disabledChips=this.disabledChips.slice(0,-1)),this.update.emit(t)}}else{if(null!=this.maxCount&&this.internalValues.length>=this.maxCount)return;i.preventDefault(),this.addChip(t.value.trim())}};handleInput=i=>{const t=i.target.value,s=""===t;""===this.inputValue!==s&&(this.activeSuggestionIndex=-1,s&&(this.suppressRecommendations=!1)),this.inputValue=t,this.suppressSuggestions=!1,this.inputEvent.emit(t)};handleFocus=()=>{this.focused=!0,this.suppressRecommendations=!1,this.focusEvent.emit()};handleBlur=()=>{this.focused=!1,this.activeSuggestionIndex=-1,this.blurEvent.emit()};closeSuggestions=()=>{this.focused=!1,this.activeSuggestionIndex=-1,this.suppressSuggestions=!0,this.suppressRecommendations=!0};handleContainerClick=()=>{this.disabled||(this.suppressRecommendations=!1,this.suppressSuggestions=!1,this.inputEl?.focus())};handleResetInput=()=>{const i=this.internalValues.reduce(((i,t,s)=>(this.getChipDisabled(s)&&i.push(s),i)),[]),t=i.map((i=>this.internalValues[i]));if(this.internalValues=t,this.values=t,Array.isArray(this.errors)){const t=i.map((i=>this.internalErrors[i]??!1));this.internalErrors=t,this.errors=t}else this.internalErrors=[];if(Array.isArray(this.disabledChips)){const t=this.disabledChips;this.disabledChips=i.map((i=>t[i]))}this.update.emit(t),this.inputEl?.focus()};duplicateRule=()=>{const i=new Set;for(const t of this.internalValues){if(i.has(t))return null!=this.duplicateLabel&&""!==this.duplicateLabel?`이미 입력된 ${this.duplicateLabel}입니다.`:"중복된 값이 존재합니다.";i.add(t)}return!0};render(){const i=g[this.size]??g.sm,t={[`--sd-system-size-field-${this.size}-height`]:"auto",[`--sd-system-radius-field-${this.size}`]:`${i.radius}px`,"--sd-chip-input-min-height":`${i.minHeight}px`,"--sd-chip-input-padding-x":`${i.paddingX}px`,"--sd-chip-input-padding-y":`${i.paddingY}px`,"--sd-chip-input-font-size":`${i.fontSize}px`,"--sd-chip-input-line-height":`${i.lineHeight}px`,"--sd-chip-input-font-weight":i.fontWeight,"--sd-chip-input-font-family":i.fontFamily,"--sd-chip-input-chip-gap":m.chipGap,"--sd-chip-input-placeholder-color":f.text.placeholder,"--sd-chip-input-reset-gap":m.chipGap,"--sd-chip-input-divider-color":"#E1E1E1","--sd-chip-input-field-height":r.height,"--sd-chip-input-field-padding-x":r.paddingX,"--sd-chip-input-field-radius":r.radius,"--sd-chip-input-field-border-width":r.borderWidth,"--sd-chip-input-field-bg":a.bg.default,"--sd-chip-input-field-border-color":"transparent","--sd-chip-input-field-content":a.content.focus,"--sd-chip-input-field-font-size":p.focus.fontSize,"--sd-chip-input-field-font-weight":p.focus.fontWeight,"--sd-chip-input-field-line-height":p.focus.lineHeight,"--sd-chip-input-field-font-family":p.focus.fontFamily,"--sd-chip-input-max-count-font-size":b.fontSize,"--sd-chip-input-max-count-font-weight":b.fontWeight,"--sd-chip-input-max-count-color":b.color,"--sd-chip-input-suggestions-radius":x.radius,"--sd-chip-input-suggestions-max-height":x.maxHeight,"--sd-chip-input-suggestion-padding-y":x.itemPaddingY,"--sd-chip-input-suggestion-padding-x":x.itemPaddingX,"--sd-chip-input-suggestion-padding-right":x.itemPaddingRight,"--sd-chip-input-suggestion-gap":x.itemGap,"--sd-chip-input-suggestion-font-size":x.itemFontSize,"--sd-chip-input-suggestion-font-weight":x.itemFontWeight,"--sd-chip-input-suggestion-font-weight-selected":x.itemFontWeightSelected,"--sd-chip-input-suggestion-line-height":x.itemLineHeight,"--sd-chip-input-suggestion-font-family":x.itemFontFamily,"--sd-chip-input-suggestion-color":x.itemColor,"--sd-chip-input-suggestion-color-hover":x.itemColorHover,"--sd-chip-input-suggestion-bg-hover":x.itemBgHover,"--sd-chip-input-suggestions-empty-color":x.emptyColor,"--sd-chip-input-suggestions-empty-font-size":x.emptyFontSize,"--sd-chip-input-suggestions-empty-line-height":x.emptyLineHeight},s=null!=this.maxCount&&this.internalValues.length>=this.maxCount,n=this.useReset&&this.internalValues.length>0||null!=this.maxCount,h=this.suggestions??[],d=this.recommendedItems??[],o=this.focused&&""!==this.inputValue&&!this.suppressSuggestions&&(h.length>0||this.loadingSuggestions),l=this.focused&&""===this.inputValue&&!this.suppressRecommendations&&(d.length>0||this.loadingRecommendedItems),c=o&&this.loadingSuggestions&&0===h.length,u=l&&this.loadingRecommendedItems&&0===d.length,v=o?h:[],y=l?d:[],_={display:"flex",flexDirection:"column",boxSizing:"border-box",background:"#FFFFFF",borderRadius:x.radius,boxShadow:"2px 2px 12px 2px rgba(0, 0, 0, 0.1)",maxHeight:x.maxHeight,minHeight:"0",overflowY:"auto",overflowX:"hidden",outline:"none"},k={..._,width:`${this.chipInputRef?.offsetWidth??0}px`},S=null!=this.autocompleteMinWidth?"number"==typeof this.autocompleteMinWidth?`${this.autocompleteMinWidth}px`:this.autocompleteMinWidth:`${this.fieldRef?.offsetWidth??0}px`,C={..._,width:"max-content",minWidth:S},z={display:"flex",flexShrink:"0",alignItems:"center",gap:x.itemGap,padding:`${x.itemPaddingY} ${x.itemPaddingRight} ${x.itemPaddingY} ${x.itemPaddingX}`,fontSize:x.itemFontSize,lineHeight:x.itemLineHeight,fontWeight:x.itemFontWeight,fontFamily:x.itemFontFamily,color:x.itemColor,cursor:"pointer",userSelect:"none",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},F={padding:"12px",textAlign:"center",fontSize:x.emptyFontSize,lineHeight:x.emptyLineHeight,fontFamily:x.itemFontFamily,color:x.emptyColor};return e("sd-field",{key:"c5f94bcc3343549d225d8310e98d424bd74471e5",name:this.name,label:this.label,labelWidth:this.labelWidth,hint:this.hint,errorMessage:this.errorMessage,rules:[this.duplicateRule,...this.rules??[]],error:this.error,disabled:this.disabled,focused:this.focused,hovered:this.hovered,status:this.status,size:this.size,width:this.width,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,ref:i=>this.formField=i,style:t,onMouseEnter:()=>this.hovered=!0,onMouseLeave:()=>this.hovered=!1},e("div",{key:"40a0d8d08b33ff454eae29e815afd0378b93d927",class:"sd-chip-input",ref:i=>this.chipInputRef=i,onClick:this.handleContainerClick},(this.internalValues??[]).map(((i,t)=>e("sd-chip",{key:t,value:i,error:this.getChipError(t),disabled:this.getChipDisabled(t),editable:!1,onSdRemove:()=>this.handleChipRemove(t)}))),!s&&e("div",{key:"c40b423a77272adaded79c3bc45af2084ef76ecf",class:{"sd-chip-input__field":!0,"sd-chip-input__field--filled":""!==this.inputValue,"sd-chip-input__field--empty":""===this.inputValue&&this.internalValues.length>0&&!this.focused},ref:i=>this.fieldRef=i,"data-value":""!==this.inputValue?this.inputValue:0===this.internalValues.length?this.placeholder:""},e("input",{key:"05ff9dc453577cb53a6284b9d064ef3e572bbc83",ref:i=>this.inputEl=i,class:"sd-chip-input__input",placeholder:0===this.internalValues.length?this.placeholder:"",disabled:this.disabled,size:1,onInput:this.handleInput,onKeyDown:this.handleKeyDown,onFocus:this.handleFocus,onBlur:this.handleBlur})),n&&e("div",{key:"f2e5336974905e3b7672567b29ad4f902ed2bcdf",class:"sd-chip-input__reset",onMouseDown:i=>i.preventDefault()},""===this.inputValue&&e("span",{key:"65f0bcd6086029ab9637dd6c7a64524478c11e76",class:"sd-chip-input__divider"}),null!=this.maxCount&&e("span",{key:"d4702a86e9f1ca03bf74937dfb9e0c822e9722bf",class:"sd-chip-input__max-count"},"최대 ",this.maxCount,"개"),this.useReset&&this.internalValues.length>0&&e("sd-text-link",{key:"70a5d27129e37e49d8d8d7f92b6ad9471575fa71",icon:"reset",iconColor:"#888888",label:"입력 초기화",underline:!0,disabled:this.disabled,style:{"--sd-text-link-color":"#555555"},onSdClick:this.handleResetInput})),e("sd-portal",{key:"24e9ac9124c514debc6df00ed663c20ac0f92bf7",class:"sd-chip-input__autocomplete-portal",open:o,parentRef:this.fieldRef??null,viewportPadding:w.SUGGESTIONS_VIEWPORT_PADDING,onSdClose:this.closeSuggestions},e("div",{key:"d0e7697fc7a8a754d6b1ce6a34c205bbc7630a81",class:"sd-chip-input__suggestions sd-chip-input__suggestions--autocomplete",role:"listbox",style:C},c&&e("div",{key:"2709073f6174ede46b5d9e4d0c72f9b2dc207c54",class:"sd-chip-input__suggestions-empty",style:F},"불러오는 중..."),v.map(((i,t)=>{const s=(this.internalValues??[]).includes(i),n=t===this.activeSuggestionIndex&&!s;return e("div",{key:i,class:{"sd-chip-input__suggestion-item":!0,"sd-chip-input__suggestion-item--active":n,"sd-chip-input__suggestion-item--selected":s},role:"option",tabIndex:-1,"aria-selected":s||n,"aria-disabled":s?"true":void 0,style:s?{...z,color:"#0075FF",fontWeight:x.itemFontWeightSelected,cursor:"default"}:n?{...z,background:x.itemBgHover,color:x.itemColorHover,fontWeight:x.itemFontWeightSelected}:z,onMouseDown:t=>{t.preventDefault(),s||this.addChip(i)}},e("span",{style:{flex:"1"}},i),s&&e("sd-icon",{name:"check",size:"12",style:{color:"#0075FF",flexShrink:"0"}}))})))),e("sd-portal",{key:"96424b38ffe1ec646b48fdea0b65cdb9dbc2caf7",class:"sd-chip-input__recommendation-portal",open:l,parentRef:this.chipInputRef??null,viewportPadding:w.SUGGESTIONS_VIEWPORT_PADDING,onSdClose:this.closeSuggestions},e("div",{key:"2ae809c5d03b662e98252768ac3f7ac44730dbb7",class:"sd-chip-input__suggestions",role:"listbox",style:k},u&&e("div",{key:"3dbf23b89e923762c0ee092f9f5f724a043bd3a6",class:"sd-chip-input__suggestions-empty",style:F},"불러오는 중..."),e("div",{key:"ebbccb03b333bed84a88d1ca10f0e4e142211582",style:{display:"flex",flexWrap:"wrap",gap:"8px",padding:"12px"}},y.map(((i,t)=>{const s=(this.internalValues??[]).includes(i),n=t===this.activeSuggestionIndex&&!s;return e("div",{key:i,role:"option",tabIndex:-1,"aria-selected":s||n,"aria-disabled":s?"true":void 0,style:{cursor:s?"default":"pointer",borderRadius:"999px",outline:n?"2px solid #0075FF":void 0,outlineOffset:"1px"},onMouseDown:t=>{t.preventDefault(),s||this.addChip(i)}},e("sd-chip",{value:i,disabled:s,editable:!1,showRemove:!1}))})))))))}static get watchers(){return{values:[{valuesChanged:0}],errors:[{errorsChanged:0}],internalValues:[{internalValuesChanged_validate:0}],suggestions:[{suggestionsChanged:0}],recommendedItems:[{recommendedItemsChanged:0}]}}};w.style="sd-chip-input{display:inline-flex}sd-chip-input sd-portal{display:none}sd-chip-input .sd-chip-input{position:relative;width:100%;isolation:isolate;min-height:var(--sd-chip-input-min-height);display:flex;flex-flow:row wrap;align-items:center;gap:var(--sd-chip-input-chip-gap);padding:var(--sd-chip-input-padding-y) var(--sd-chip-input-padding-x);cursor:text}sd-chip-input .sd-chip-input__reset{display:inline-flex;align-items:center;gap:var(--sd-chip-input-reset-gap);flex-shrink:0}sd-chip-input .sd-chip-input__divider{display:inline-block;width:1px;height:12px;background-color:var(--sd-chip-input-divider-color);flex-shrink:0}sd-chip-input .sd-chip-input__max-count{font-size:var(--sd-chip-input-max-count-font-size);font-weight:var(--sd-chip-input-max-count-font-weight);color:var(--sd-chip-input-max-count-color);white-space:nowrap;flex-shrink:0}sd-chip-input .sd-chip-input__field{flex:0 0 auto;display:inline-grid;grid-template-columns:minmax(0, max-content);align-items:center;min-width:1ch;max-width:100%;height:var(--sd-chip-input-field-height);box-sizing:border-box;padding:0;border:none;border-radius:0;background:transparent;overflow:hidden}sd-chip-input .sd-chip-input__field::after{content:attr(data-value);grid-area:1/1;visibility:hidden;white-space:pre;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family)}sd-chip-input .sd-chip-input__field--filled{padding:0 var(--sd-chip-input-field-padding-x);border:var(--sd-chip-input-field-border-width) solid var(--sd-chip-input-field-border-color);border-radius:var(--sd-chip-input-field-radius);background:var(--sd-chip-input-field-bg)}sd-chip-input .sd-chip-input__field--empty{position:absolute;top:0;left:0;width:0;height:0;min-width:0;overflow:hidden}sd-chip-input .sd-chip-input__input{grid-area:1/1;width:100%;min-width:1ch;height:var(--sd-chip-input-field-height);margin:0;padding:0;border:none;outline:none;overflow:hidden;text-overflow:ellipsis;background:transparent;font-size:var(--sd-chip-input-field-font-size);line-height:var(--sd-chip-input-field-line-height);font-weight:var(--sd-chip-input-field-font-weight);font-family:var(--sd-chip-input-field-font-family);color:var(--sd-chip-input-field-content)}sd-chip-input .sd-chip-input__input[disabled]{cursor:not-allowed;pointer-events:none}sd-chip-input .sd-chip-input__input::placeholder{color:var(--sd-chip-input-placeholder-color)}sd-chip-input .sd-chip-input__suggestions{display:flex;flex-direction:column;box-sizing:border-box;background:white;border-radius:var(--sd-chip-input-suggestions-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);max-height:var(--sd-chip-input-suggestions-max-height);min-height:0;overflow-y:auto;overflow-x:hidden;outline:none}sd-chip-input .sd-chip-input__suggestions--autocomplete{width:max-content}sd-chip-input .sd-chip-input__suggestion-item{display:flex;flex-shrink:0;align-items:center;gap:var(--sd-chip-input-suggestion-gap);padding:var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-right) var(--sd-chip-input-suggestion-padding-y) var(--sd-chip-input-suggestion-padding-x);font-size:var(--sd-chip-input-suggestion-font-size);line-height:var(--sd-chip-input-suggestion-line-height);font-weight:var(--sd-chip-input-suggestion-font-weight);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestion-color);cursor:pointer;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-chip-input .sd-chip-input__suggestion-item--active{background:var(--sd-chip-input-suggestion-bg-hover);color:var(--sd-chip-input-suggestion-color-hover);font-weight:var(--sd-chip-input-suggestion-font-weight-selected)}sd-chip-input .sd-chip-input__suggestion-item--selected{cursor:default;overflow:visible;text-overflow:unset}sd-chip-input .sd-chip-input__suggestions-empty{padding:12px;text-align:center;font-size:var(--sd-chip-input-suggestions-empty-font-size);line-height:var(--sd-chip-input-suggestions-empty-line-height);font-family:var(--sd-chip-input-suggestion-font-family);color:var(--sd-chip-input-suggestions-empty-color)}";export{w as sd_chip_input}
|
|
@@ -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:"3d7a3fe3647010a8a96246ef3cdbfdf1550c0a91",style:{"--sd-toast-bg":t.bg,"--sd-toast-text":t.content,"--sd-toast-icon":a,"--sd-toast-link":o}},e("div",{key:"a863ff763bced7656cedc69f3598b3371fc13059",class:"sd-toast",role:"status","aria-live":"polite","aria-atomic":"true"},this.icon&&e("div",{key:"7606930ad68ab81543a719db8abb61055fdaf97d",class:"sd-toast__icon"},e("sd-icon",{key:"9b75fb05ab26ddab43b677482a026b5860613e07",name:this.icon,size:s,color:a})),e("div",{key:"5fb10f690ad560f0be74b5bf6afd288318e22082",class:"sd-toast__content"},e("span",{key:"c474a5e1f215a19e47a89ba154f6149e0a875f61",class:"sd-toast__message"},this.message)),this.link&&e("a",{key:"a0dcbba791c123776ccb6de62e169359777b3bd2",href:this.link,class:"sd-toast__link",target:"_blank",rel:"noopener noreferrer"},this.linkLabel||this.link),this.buttonLabel&&e("sd-button",{key:"b85f734cbe429207c028602b29bd5f7fa78f7910",class:"sd-toast__button",name:i,label:this.buttonLabel,onSdClick:t=>this.buttonClick.emit(t.detail)}),this.useClose&&e("sd-ghost-button",{key:"09cb6b946c18c1c079b036799272d7bc7bdb6480",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,h as e,H as s}from"./p-BZ5lcC25.js";import{p as c}from"./p-D1vaasIp.js";import{s as t}from"./p-BJfiMC9H.js";var a={track:"#EEEEEE",arc:"#2D8DFF"};const o=c.progress.color.label,i=t.color.fg.tertiary,l={primary:{arc:a.arc,track:a.track},inverse:{arc:"#FFFFFF",track:"transparent"},error:{arc:"#E30000",track:a.track},complete:{arc:"#01BB4B",track:a.track}},n=2*Math.PI*34,p=class{constructor(e){r(this,e)}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 r=l[this.type]??l.primary,c={"--sd-circle-progress-track":r.track,"--sd-circle-progress-arc":r.arc,"--sd-circle-progress-label-color":o,"--sd-circle-progress-percent-color":0===this.clampedValue?i:r.arc},t={};this.indeterminate||(t.strokeDasharray=`${this.clampedValue/100*n} ${n}`,t.strokeDashoffset="0");const a=!this.indeterminate;return e(s,{key:"
|
|
1
|
+
import{r,h as e,H as s}from"./p-BZ5lcC25.js";import{p as c}from"./p-D1vaasIp.js";import{s as t}from"./p-BJfiMC9H.js";var a={track:"#EEEEEE",arc:"#2D8DFF"};const o=c.progress.color.label,i=t.color.fg.tertiary,l={primary:{arc:a.arc,track:a.track},inverse:{arc:"#FFFFFF",track:"transparent"},error:{arc:"#E30000",track:a.track},complete:{arc:"#01BB4B",track:a.track}},n=2*Math.PI*34,p=class{constructor(e){r(this,e)}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 r=l[this.type]??l.primary,c={"--sd-circle-progress-track":r.track,"--sd-circle-progress-arc":r.arc,"--sd-circle-progress-label-color":o,"--sd-circle-progress-percent-color":0===this.clampedValue?i:r.arc},t={};this.indeterminate||(t.strokeDasharray=`${this.clampedValue/100*n} ${n}`,t.strokeDashoffset="0");const a=!this.indeterminate;return e(s,{key:"49f42179ae3f58775dda407b2a0fe3ad01baf2b8",style:c},e("svg",{key:"f2bcc5ae953409481b823fc7dd754f1e68bc47d8",class:"sd-circle-progress",viewBox:"0 0 80 80",xmlns:"http://www.w3.org/2000/svg"},e("circle",{key:"1dbbe8d19a29cd271c8fa483497ca085ee10831f",class:"sd-circle-progress__track",cx:40,cy:40,r:34,fill:"none","stroke-width":12}),e("circle",{key:"86e6514b2986e5574a78e15e0e3299d8cde858cc",class:"sd-circle-progress__arc",cx:40,cy:40,r:34,fill:"none","stroke-width":12,"stroke-linecap":"round",style:t})),a&&e("span",{key:"38d0dfc1f810acbe086852b24d83af2d4f707f2a",class:"sd-circle-progress__percent"},Math.round(this.clampedValue),"%"),this.label&&e("span",{key:"b10ae78d8b3894b89f0096bea66773006bf526e9",class:"sd-circle-progress__label"},this.label))}};p.style='@charset "UTF-8";sd-circle-progress{display:inline-flex;flex-direction:column;align-items:center;gap:8px}sd-circle-progress .sd-circle-progress{width:80px;height:80px}sd-circle-progress .sd-circle-progress__track{stroke:var(--sd-circle-progress-track)}sd-circle-progress .sd-circle-progress__arc{stroke:var(--sd-circle-progress-arc);transform:rotate(-90deg);transform-origin:center center;transition:stroke-dasharray 0.4s linear, stroke-dashoffset 0.4s linear}sd-circle-progress .sd-circle-progress__percent{text-align:center;color:var(--sd-circle-progress-percent-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:16px;font-weight:700;line-height:26px}sd-circle-progress .sd-circle-progress__label{text-align:center;color:var(--sd-circle-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-circle-progress{}sd-circle-progress[indeterminate] .sd-circle-progress{animation:sd-circle-progress-spin 2s linear infinite;transform-origin:center center}sd-circle-progress[indeterminate] .sd-circle-progress__arc{transform:none;transition:none;animation:sd-circle-progress-spin-path 1.5s ease-in-out infinite}@keyframes sd-circle-progress-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes sd-circle-progress-spin-path{0%{stroke-dasharray:1, 340;stroke-dashoffset:0}50%{stroke-dasharray:151, 340;stroke-dashoffset:-60}100%{stroke-dasharray:151, 340;stroke-dashoffset:-211}}';export{p as sd_circle_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:"1e9af4dd46dd901ba903518c1425ce0bc723e4b4",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}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,a as i,h as s,H as n}from"./p-BZ5lcC25.js";var o={size:"16",icon:"12"},a={size:"24",icon:"16"},r={size:"28",icon:"20"},h={size:"36",icon:"24"},d={size:"62",icon:"32"},c={sm:"4",md:"6"},l={opacity:"5%"},g={disabled:"#BBBBBB"},u={content:"#888888",hover:{bg:"#222222"}},b={content:"#E30000",hover:{bg:"#E30000"}},p={content:"#025497",hover:{bg:"#0075FF"}},f={content:"#FFFFFF",disabled:"#E1E1E1",hover:{bg:"#FFFFFF"}};const m={xxs:{size:Number(o.size),icon:Number(o.icon)},xs:{size:Number(a.size),icon:Number(a.icon)},sm:{size:Number(r.size),icon:Number(r.icon)},md:{size:Number(h.size),icon:Number(h.icon)},lg:{size:Number(d.size),icon:Number(d.icon)}},v={xxs:Number(c.sm),xs:Number(c.sm),sm:Number(c.sm),md:Number(c.md),lg:Number(c.md)},x=l.opacity,y={default:u.content,danger:b.content,action:p.content,inverse:f.content},F={default:u.hover.bg,danger:b.hover.bg,action:p.hover.bg,inverse:f.hover.bg},w=g.disabled,z={default:w,danger:w,action:w,inverse:f.disabled},k=class{constructor(i){t(this,i),this.click=e(this,"sdClick",7)}icon;size="sm";intent="default";ariaLabel="";tooltipText;disabled=!1;get hostEl(){return i(this)}isTooltipOpen=!1;click;hasWarnedMissingAriaLabel=!1;componentWillLoad(){this.size??="sm",this.intent??="default",this.ariaLabel??=""}handleClick=t=>{this.disabled?t.preventDefault():this.click.emit(t)};handleMouseEnter=()=>{this.isTooltipOpen=!0};handleMouseLeave=()=>{this.isTooltipOpen=!1};handleFocus=()=>{this.isTooltipOpen=!0};handleBlur=()=>{this.isTooltipOpen=!1};componentWillRender(){this.warnIfMissingAriaLabel()}warnIfMissingAriaLabel(){""===(this.ariaLabel??"").trim()?this.hasWarnedMissingAriaLabel||(console.warn(`[sd-ghost-button] icon-only buttons require \`ariaLabel\`. Received icon="${this.icon}".`),this.hasWarnedMissingAriaLabel=!0):this.hasWarnedMissingAriaLabel=!1}render(){const t=this.size??"sm",e=this.intent??"default",i=m[t]??m.sm,n=this.disabled?z[e]:y[e],o=(this.ariaLabel??"").trim()||void 0,a=(this.tooltipText??"").trim();return s("button",{key:"9d2d352d36c7c34c67d8c57de6236d72727bd078",class:{"sd-ghost-button":!0,"sd-ghost-button--disabled":this.disabled},type:"button","aria-disabled":this.disabled?"true":void 0,tabIndex:this.disabled?-1:void 0,"aria-label":o,style:{"--sd-ghost-button-size":`${i.size}px`,"--sd-ghost-button-radius":`${v[t]}px`,"--sd-ghost-button-hover-bg":F[e],"--sd-ghost-button-hover-opacity":x,"--sd-ghost-button-accent":"#0075FF"},onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,onFocus:this.handleFocus,onBlur:this.handleBlur},a.length>0&&this.isTooltipOpen&&s("sd-portal",{key:"1a73fb53be28a622d03e4f20be0b30e0e76bccd4",parentRef:this.hostEl,open:!0,offset:[i.size/2,4],placement:"top"},s("div",{key:"e4a349dbfbf2fd16eed9a46f5e2ed43935212cfe",class:"sd-ghost-button__tooltip-inner","aria-hidden":"true"},s("sd-tag",{key:"4aa1525a6da6ee72daf1815f1440d665bd1cf2c8",name:"square_xs_grey",label:a}))),s("sd-icon",{key:"4caac22d0d888c1998032697043e3a3761e012aa",name:this.icon,size:i.icon,color:n}))}};k.style='sd-ghost-button{display:inline-flex;width:fit-content;height:fit-content}.sd-ghost-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--sd-ghost-button-size);height:var(--sd-ghost-button-size);padding:0;border:none;border-radius:var(--sd-ghost-button-radius);background:transparent;cursor:pointer;box-sizing:border-box;transition:box-shadow 0.2s ease;-webkit-user-select:none;user-select:none}.sd-ghost-button::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--sd-ghost-button-hover-bg);opacity:0;transition:opacity 0.2s ease;pointer-events:none}.sd-ghost-button:hover:not(.sd-ghost-button--disabled)::before{opacity:var(--sd-ghost-button-hover-opacity)}.sd-ghost-button:focus-visible{outline:0;box-shadow:0 0 0 2px var(--sd-ghost-button-accent)}.sd-ghost-button--disabled{cursor:not-allowed}.sd-ghost-button__tooltip-inner{display:inline-flex;white-space:nowrap;transform:translateX(-50%)}[data-align=right] .sd-ghost-button__tooltip-inner{transform:none}';const $=class{constructor(i){t(this,i),this.close=e(this,"sdClose",3)}get hostEl(){return i(this)}to="body";parentRef=null;offset=[0,4];viewportPadding=0;zIndex=996;open=!1;placement="bottom";close;container;wrapper;rafId;isInsideClick=!1;closeTransitionTimer;handleObservedScroll=()=>this.updatePosition();resizeObserver;mutationObserver;scrollParents=[];isObserved=!1;handleOpenChange(){this.syncPortalState()}componentDidLoad(){this.container=this.resolveContainer(),this.syncPortalState()}componentDidRender(){this.syncPortalState()}disconnectedCallback(){if(this.closeTransitionTimer&&clearTimeout(this.closeTransitionTimer),this.unobserveParent(),this.wrapper?.parentNode)try{this.wrapper.parentNode.removeChild(this.wrapper)}catch{}}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,n=Number.isFinite(s)?s:997;return Math.max(t,n+1)}createWrapper(){this.wrapper=document.createElement("div"),Object.assign(this.wrapper.style,{position:"fixed",top:"0",left:"0",zIndex:this.resolveZIndex().toString(),opacity:"0",transition:"opacity 0.15s ease-out",boxSizing:"border-box",visibility:"hidden"}),this.container.appendChild(this.wrapper)}ensureWrapper(){this.wrapper||(this.container||=this.resolveContainer(),this.createWrapper(),this.moveSlotContent())}syncPortalState(){if(!this.open)return this.wrapper&&(this.wrapper.style.transition="opacity 0.15s ease-out",this.wrapper.style.opacity="0",this.wrapper.style.pointerEvents="none",this.closeTransitionTimer&&clearTimeout(this.closeTransitionTimer),this.closeTransitionTimer=setTimeout((()=>{this.wrapper&&!this.open&&(this.wrapper.style.display="none")}),150)),void this.unobserveParent();this.closeTransitionTimer&&clearTimeout(this.closeTransitionTimer),this.ensureWrapper(),this.wrapper&&(this.wrapper.style.display="block",this.wrapper.style.transition="opacity 0.25s ease-out",this.wrapper.style.opacity="0",this.wrapper.style.pointerEvents="",this.observeParent(),this.updatePosition())}moveSlotContent(){this.wrapper&&Array.from(this.hostEl.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(),e=window.innerWidth,i=window.innerHeight,s=this.offset??[0,4],n=Math.max(0,this.viewportPadding??0),o=Math.max(e-2*n,0),a=Math.max(i-2*n,0);this.wrapper.style.maxWidth=`${o}px`,this.wrapper.style.maxHeight=`${a}px`;const r=this.wrapper.getBoundingClientRect(),h=i-t.bottom-s[1]-n,d=t.top-s[1]-n;let c,l=t.left+s[0];"top"===(this.placement??"bottom")?(c=t.top-r.height-s[1],d<r.height&&h>d&&(c=t.bottom+s[1])):(c=t.bottom+s[1],h<r.height&&d>h&&(c=t.top-r.height-s[1]));const g=i-n-r.height;c=g<n?n:Math.min(Math.max(c,n),g);const u=l+r.width>e-n,b=n,p=e-n-r.width;this.wrapper.style.top=`${c}px`,p<b?(this.wrapper.style.left=`${b}px`,this.wrapper.style.right="auto",delete this.wrapper.dataset.align):u?(this.wrapper.style.left="auto",this.wrapper.style.right=e-t.right+"px",this.wrapper.dataset.align="right"):(this.wrapper.style.right="auto",delete this.wrapper.dataset.align,l=Math.min(Math.max(l,b),p),this.wrapper.style.left=`${l}px`),this.wrapper.style.visibility="visible",this.wrapper.style.opacity="1"}))}observeParent(){this.parentRef&&!this.isObserved&&(this.observeScrollParents(this.parentRef),"undefined"!=typeof ResizeObserver&&(this.resizeObserver=new ResizeObserver((()=>this.updatePosition())),this.resizeObserver.observe(this.parentRef)),"undefined"!=typeof MutationObserver&&(this.mutationObserver=new MutationObserver((()=>this.updatePosition())),this.mutationObserver.observe(document.body,{childList:!0,subtree:!0})),this.isObserved=!0)}unobserveParent(){this.isObserved&&(this.unobserveScrollParents(),this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.mutationObserver?.disconnect(),this.mutationObserver=void 0,this.isObserved=!1)}observeScrollParents(t){const e=this.getScrollParents(t);e.forEach((t=>{t.addEventListener("scroll",this.handleObservedScroll,{passive:!0})})),this.scrollParents=e}unobserveScrollParents(){this.scrollParents.forEach((t=>{t.removeEventListener("scroll",this.handleObservedScroll)})),this.scrollParents=[]}getScrollParents(t){const e=[];let i=t.parentElement;for(;i;){const{overflow:t,overflowX:s,overflowY:n}=getComputedStyle(i);[t,s,n].some((t=>/(auto|scroll|overlay)/.test(t)))&&e.push(i),i=i.parentElement}return e}isInsideTarget(t){return!(!this.wrapper?.contains(t)&&!this.parentRef?.contains(t))}handleMouseDown(t){this.open&&(this.isInsideClick=this.isInsideTarget(t.target))}handleWindowClick(t){this.open&&(this.isInsideClick?this.isInsideClick=!1:this.isInsideTarget(t.target)||this.close.emit())}render(){return s("slot",{key:"623ee5423b145701ba9dd801d44874214f7a76e3"})}static get watchers(){return{open:[{handleOpenChange:0}]}}};$.style=":host { display: none !important; }";var E={height:"20",paddingX:"8",gap:"4",typography:{fontSize:"11",fontWeight:"500",lineHeight:"18"},radius:"6"},_={height:"24",paddingX:"8",gap:"4",typography:{fontSize:"12",fontWeight:"700",lineHeight:"20"},radius:"6"},N={height:"28",paddingX:"12",gap:"6",typography:{fontSize:"14",fontWeight:"700",lineHeight:"24"},radius:"8"},C={content:"#FB4444",bg:"#FCEFEF"},M={content:"#FF6B00",bg:"#FEF1EA"},S={content:"#916C0D",bg:"#FFF7DD"},O={content:"#00973C",bg:"#E8F9EF"},W={content:"#0075FF",bg:"#E6F1FF"},L={content:"#006AC1",bg:"#EAF5FE"},B={content:"#004290",bg:"#EFF6FF"},I={content:"#737373",bg:"#EEEEEE"};const T=["xs","sm","md"],H=["grey","red","orange","yellow","green","blue","darkblue","indigo"],P={grey:{background:I.bg,content:I.content,icon:I.content},red:{background:C.bg,content:C.content,icon:C.content},orange:{background:M.bg,content:M.content,icon:M.content},yellow:{background:S.bg,content:S.content,icon:S.content},green:{background:O.bg,content:O.content,icon:O.content},blue:{background:W.bg,content:W.content,icon:W.content},darkblue:{background:L.bg,content:L.content,icon:L.content},indigo:{background:B.bg,content:B.content,icon:B.content}},j={xs:{height:`${E.height}px`,paddingX:`${E.paddingX}px`,gap:`${E.gap}px`,fontSize:`${E.typography.fontSize}px`,fontWeight:E.typography.fontWeight,lineHeight:`${E.typography.lineHeight}px`,iconSize:12,radius:`${E.radius}px`},sm:{height:`${_.height}px`,paddingX:`${_.paddingX}px`,gap:`${_.gap}px`,fontSize:`${_.typography.fontSize}px`,fontWeight:_.typography.fontWeight,lineHeight:`${_.typography.lineHeight}px`,iconSize:16,radius:`${_.radius}px`},md:{height:`${N.height}px`,paddingX:`${N.paddingX}px`,gap:`${N.gap}px`,fontSize:`${N.typography.fontSize}px`,fontWeight:N.typography.fontWeight,lineHeight:`${N.typography.lineHeight}px`,iconSize:16,radius:`${N.radius}px`}},A={xs:{...j.xs,radius:"999px"},sm:{...j.sm,radius:"999px"},md:{...j.md,radius:"999px"}},X=Object.fromEntries(["square","pill"].flatMap((t=>T.flatMap((e=>H.map((i=>[`${t}_${e}_${i}`,{shape:t,size:e,color:i,..."square"===t?j[e]:A[e],...P[i]}]))))))),q=class{constructor(e){t(this,e)}name="square_sm_grey";label="";icon;isLeft=!0;width="";componentWillLoad(){this.name=this.name??"square_sm_grey"}get resolvedName(){if(!Object.prototype.hasOwnProperty.call(X,this.name))throw new Error(`Invalid sd-tag name: "${this.name}"`);return this.name}get resolvedConfig(){return X[this.resolvedName]}renderIcon(t,e){return null==this.icon?null:s("sd-icon",{class:"sd-tag__icon",name:this.icon,size:e,color:t})}get resolvedWidth(){if(""!==this.width&&0!==this.width)return"number"==typeof this.width?`${this.width}px`:this.width}render(){const t=this.resolvedConfig,e=this.renderIcon(t.icon,t.iconSize),i=this.resolvedWidth;return s(n,{key:"37bb1fefd51f583b0a9dde9fe46cf843a48e8e13",style:null!=i?{"--sd-tag-width":i}:void 0},s("span",{key:"e996471849834802eaeff02abaadee1a2addac4f",class:"sd-tag",style:{"--sd-tag-background":t.background,"--sd-tag-content":t.content,"--sd-tag-height":t.height,"--sd-tag-padding-x":t.paddingX,"--sd-tag-gap":t.gap,"--sd-tag-font-size":t.fontSize,"--sd-tag-font-weight":t.fontWeight,"--sd-tag-line-height":t.lineHeight,"--sd-tag-radius":t.radius},"aria-label":this.label||"tag"},this.icon&&this.isLeft&&e,s("span",{key:"2e63073d1950046747521071ba5db5f9a404acef",class:"sd-tag__label"},this.label),this.icon&&!this.isLeft&&e))}};q.style="sd-tag{display:inline-flex;width:var(--sd-tag-width, fit-content);height:fit-content}.sd-tag{display:inline-flex;width:100%;align-items:center;justify-content:center;gap:var(--sd-tag-gap, 5px);min-height:var(--sd-tag-height, 24px);padding:0 var(--sd-tag-padding-x, 8px);border-radius:var(--sd-tag-radius, 4px);background:var(--sd-tag-background, #f3f3f3);color:var(--sd-tag-content, #7a7a7a);box-sizing:border-box;white-space:nowrap;-webkit-user-select:none;user-select:none}.sd-tag__icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center}.sd-tag__label{display:inline-flex;align-items:center;justify-content:center;min-width:0;font-size:var(--sd-tag-font-size, 12px);font-weight:var(--sd-tag-font-weight, 700);line-height:var(--sd-tag-line-height, 20px)}";export{k as sd_ghost_button,$ as sd_portal,q as sd_tag}
|