@prolibu-suite/cobalt-core 0.11.1 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/custom-elements.json +113 -34
  2. package/dist/cjs/co-button.cjs.entry.js +1 -1
  3. package/dist/cjs/co-chip_2.cjs.entry.js +1 -1
  4. package/dist/cjs/co-document-editor.cjs.entry.js +1 -1
  5. package/dist/cjs/co-modal.cjs.entry.js +27 -1
  6. package/dist/cjs/co-overlay.cjs.entry.js +205 -34
  7. package/dist/cjs/co-rich-text-editor.cjs.entry.js +2 -2
  8. package/dist/cjs/co-rich-text-viewer.cjs.entry.js +1 -1
  9. package/dist/cjs/cobalt.cjs.js +1 -1
  10. package/dist/cjs/{index-oMHzCXm6.js → index-BbSD1Eyw.js} +1 -1
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/{pagination-DV43TRj9.js → pagination-S2sSAgdl.js} +26 -2
  13. package/dist/cobalt/cobalt.esm.js +1 -1
  14. package/dist/cobalt/{p-d6e7c258.entry.js → p-02ff847e.entry.js} +1 -1
  15. package/dist/cobalt/{p-87e62e2b.entry.js → p-12914c0a.entry.js} +1 -1
  16. package/dist/cobalt/p-38eb2615.entry.js +1 -0
  17. package/dist/cobalt/{p-47eca182.entry.js → p-6c7e423c.entry.js} +1 -1
  18. package/dist/cobalt/p-93063876.entry.js +1 -0
  19. package/dist/cobalt/{p-RVQJEYxa.js → p-Ch-Tygdb.js} +1 -1
  20. package/dist/cobalt/p-DGLDAl09.js +1 -0
  21. package/dist/cobalt/{p-3b6efb79.entry.js → p-bb7bbe70.entry.js} +1 -1
  22. package/dist/cobalt/p-efd3e0de.entry.js +1 -0
  23. package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
  24. package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
  25. package/dist/collection/components/co-button/co-button.css +15 -0
  26. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
  27. package/dist/collection/components/co-chip/co-chip.css +16 -11
  28. package/dist/collection/components/co-color-area/co-color-area.js +2 -2
  29. package/dist/collection/components/co-color-slider/co-color-slider.js +1 -1
  30. package/dist/collection/components/co-combobox/co-combobox.js +1 -1
  31. package/dist/collection/components/co-command-search/co-command-search.js +1 -1
  32. package/dist/collection/components/co-data-table/co-data-table.js +1 -1
  33. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
  34. package/dist/collection/components/co-document-editor/co-document-editor.js +5 -5
  35. package/dist/collection/components/co-modal/co-modal.js +68 -1
  36. package/dist/collection/components/co-overlay/co-overlay.css +7 -0
  37. package/dist/collection/components/co-overlay/co-overlay.js +130 -26
  38. package/dist/collection/components/co-overlay/focusTrap.js +111 -3
  39. package/dist/collection/components/co-popover/co-popover.js +1 -1
  40. package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
  41. package/dist/collection/components/co-ref-field/co-ref-field.js +4 -4
  42. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
  43. package/dist/collection/components/co-select/co-select.js +1 -1
  44. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +1 -1
  45. package/dist/collection/components/co-toast/co-toast.js +2 -2
  46. package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
  47. package/dist/collection/components/co-tree-item/co-tree-item.js +2 -2
  48. package/dist/components/co-autocomplete.js +1 -1
  49. package/dist/components/co-button.js +1 -1
  50. package/dist/components/co-chip.js +1 -1
  51. package/dist/components/co-column-picker.js +1 -1
  52. package/dist/components/co-combobox.js +1 -1
  53. package/dist/components/co-command-search.js +1 -1
  54. package/dist/components/co-data-table.js +1 -1
  55. package/dist/components/co-date-picker.js +1 -1
  56. package/dist/components/co-date-range-picker.js +1 -1
  57. package/dist/components/co-date-range.js +1 -1
  58. package/dist/components/co-date-time-picker.js +1 -1
  59. package/dist/components/co-document-editor.js +1 -1
  60. package/dist/components/co-drawer.js +1 -1
  61. package/dist/components/co-modal.js +1 -1
  62. package/dist/components/co-overlay.js +1 -1
  63. package/dist/components/co-rich-text-editor.js +1 -1
  64. package/dist/components/co-rich-text-viewer.js +1 -1
  65. package/dist/components/{p-BVdCvEza.js → p-BI_VaFsx.js} +1 -1
  66. package/dist/components/{p-Du8EpQb-.js → p-C_6szR7t.js} +1 -1
  67. package/dist/components/{p-RVQJEYxa.js → p-Ch-Tygdb.js} +1 -1
  68. package/dist/components/{p-zJ3pjFzW.js → p-DB8DGMc-.js} +1 -1
  69. package/dist/components/p-DGLDAl09.js +1 -0
  70. package/dist/components/{p-Hi57w2_2.js → p-DhPxNA2f.js} +1 -1
  71. package/dist/components/p-wUXcJGdy.js +1 -0
  72. package/dist/esm/co-button.entry.js +1 -1
  73. package/dist/esm/co-chip_2.entry.js +1 -1
  74. package/dist/esm/co-document-editor.entry.js +1 -1
  75. package/dist/esm/co-modal.entry.js +28 -2
  76. package/dist/esm/co-overlay.entry.js +205 -34
  77. package/dist/esm/co-rich-text-editor.entry.js +2 -2
  78. package/dist/esm/co-rich-text-viewer.entry.js +1 -1
  79. package/dist/esm/cobalt.js +1 -1
  80. package/dist/esm/{index-Cpo8HTwr.js → index-CgyOJePd.js} +1 -1
  81. package/dist/esm/loader.js +1 -1
  82. package/dist/esm/{pagination-D9OfZUnY.js → pagination-BzrIQtrk.js} +26 -2
  83. package/dist/types/components/co-modal/co-modal.d.ts +23 -0
  84. package/dist/types/components/co-overlay/co-overlay.d.ts +29 -1
  85. package/dist/types/components/co-overlay/focusTrap.d.ts +24 -3
  86. package/dist/types/components.d.ts +21 -2
  87. package/package.json +4 -4
  88. package/dist/cobalt/p-1a5bec8c.entry.js +0 -1
  89. package/dist/cobalt/p-67a024dd.entry.js +0 -1
  90. package/dist/cobalt/p-B1JT7us1.js +0 -1
  91. package/dist/cobalt/p-c4c997f3.entry.js +0 -1
  92. package/dist/components/p-B1JT7us1.js +0 -1
  93. package/dist/components/p-nrwDl_gx.js +0 -1
@@ -1 +1 @@
1
- import{h as e,t as o,p as c,H as t,c as r}from"./index.js";import{n as i}from"./p-Ba_v-MzM.js";import{d as n}from"./p-BRZci8B3.js";import{d as s}from"./p-Du8EpQb-.js";import{d as a}from"./p-KK2vAKs-.js";function l(e){return e?e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/^\w/,(e=>e.toUpperCase())):""}function d(e){return(e+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function p(e,o){if(!o)return d(e);const c=o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return d(e).replace(RegExp(`(${c})`,"gi"),"<mark>$1</mark>")}function u(e,o){const c=new Set(e),t={};for(const c of e){const e=c.split(".");let r=t;for(let c=0;c<e.length;c++){const t=e[c],i=e.slice(0,c+1).join(".");if(!r[t]){const n=c===e.length-1&&(null==o?void 0:o.get(i))||t;r[t]={label:n,key:i,childrenMap:{}}}c<e.length-1&&(r=r[t].childrenMap)}}const r=e=>Object.values(e).map((e=>{const o=r(e.childrenMap),t=o.length>0,i=t&&c.has(e.key),n={label:e.label,key:e.key,fullPath:e.key,children:t?o:null};return i&&n.children&&n.children.unshift({label:e.label,key:e.key+".__self",fullPath:e.key,children:null,isSelf:!0}),n}));return m(r(t))}function m(e){return[...e].sort(((e,o)=>{if(e.isSelf)return-1;if(o.isSelf)return 1;const c=e.children&&e.children.length>0,t=o.children&&o.children.length>0;return!c&&t?-1:c&&!t?1:e.label.localeCompare(o.label)})).map((e=>Object.assign(Object.assign({},e),{children:e.children?m(e.children):null})))}function h(e,o){const c=i(o);return e.map((e=>{const t=i(e.label).includes(c),r=i(l(e.label)).includes(c),n=i(e.fullPath).includes(c);if(!e.children||0===e.children.length)return t||r||n?e:null;const s=h(e.children,o);return t||r||s.length>0?Object.assign(Object.assign({},e),{children:s.length>0?s:e.children}):null})).filter(Boolean)}function f(e){const o=[];for(const c of e)c.children&&0!==c.children.length?o.push(...f(c.children)):o.push(c.fullPath);return o}const _=o=>{const{node:c,depth:t,selected:r,expandedKeys:i,disabled:n,query:s,onOptionClick:a,onParentCheck:d,onToggleExpand:u}=o,m=!c.children||0===c.children.length,h=i.has(c.key),b=m&&r.includes(c.fullPath);let k=!1,x=!1,v=0,g=0;if(!m&&c.children){const e=f(c.children);g=e.length,v=e.filter((e=>r.includes(e))).length,k=g>0&&v===g,x=v>0}return e("div",{class:"co-column-picker__node"},e("div",{class:{"co-column-picker__node-row":!0,"co-column-picker__node-row--leaf":m,"co-column-picker__node-row--parent":!m,"co-column-picker__node-row--expanded":!m&&h,"co-column-picker__node-row--selected":m&&b},style:{paddingLeft:20*t+10+"px"},onClick:e=>m?a(c.fullPath):u(c.key,e)},e("co-checkbox",{checked:m?b:k,indeterminate:!m&&x&&!k,disabled:n,onClick:e=>{e.stopPropagation(),m?a(c.fullPath):d(c)}}),e("span",{class:{"co-column-picker__node-label":!0,"co-column-picker__node-label--parent":!m,"co-column-picker__node-label--self":!!c.isSelf},innerHTML:p(l(c.label),s)}),c.isSelf&&e("span",{class:"co-column-picker__self-tag"},"self"),!m&&e("span",{class:"co-column-picker__node-counter"},v>0&&[e("span",{class:"co-column-picker__counter-selected"},v),e("span",{class:"co-column-picker__counter-sep"},"/")],e("span",{class:"co-column-picker__counter-total"},g)),!m&&e("span",{class:{"co-column-picker__chevron":!0,"co-column-picker__chevron--open":h},onClick:e=>u(c.key,e)},e("co-icon",{name:"caret-right",size:16}))),!m&&h&&c.children&&e("div",{class:"co-column-picker__node-children",style:{"--guide-left":20*t+19+"px"}},c.children.map((o=>e(_,{node:o,depth:t+1,selected:r,expandedKeys:i,disabled:n,query:s,onOptionClick:a,onParentCheck:d,onToggleExpand:u})))))},b=c(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=r(this,"coChange",7),this.coClear=r(this,"coClear",7),this.coSearch=r(this,"coSearch",7),this.options="[]",this.value="[]",this.multiple=!0,this.disabled=!1,this.showToolbar=!0,this.showSearch=!0,this.clearable=!0,this.placeholder="Select…",this.maxHeight=220,this.emptyText="No results found",this.selectAllText="Select all",this.clearText="Clear",this.expandText="Expand",this.collapseText="Collapse",this.selectedText="selected",this.sections="[]",this.status="default",this.isOpen=!1,this.query="",this.expandedKeys=new Set,this.focused=!1,this.handleFieldClick=()=>{this.disabled||(this.isOpen=!this.isOpen,this.focused=!0,this.isOpen&&requestAnimationFrame((()=>{var e;return null===(e=this.searchInputEl)||void 0===e?void 0:e.focus()})))},this.handleSearchInput=e=>{this.query=e.target.value,this.coSearch.emit(this.query),this.query&&(this.expandedKeys=function(e,o,c){const t=i(o),r=new Set(c),n=e=>{var o;let c=!1;for(const s of e)if(null===(o=s.children)||void 0===o?void 0:o.length){const e=n(s.children),o=i(s.label).includes(t)||i(l(s.label)).includes(t);(e||o)&&(r.add(s.key),c=!0)}else(i(s.label).includes(t)||i(l(s.label)).includes(t))&&(c=!0);return c};return n(e),r}(this.getTree(),this.query,this.expandedKeys))},this.handleSearchClear=e=>{var o;e.stopPropagation(),this.query="",this.coSearch.emit(""),null===(o=this.searchInputEl)||void 0===o||o.focus()},this.handleClear=e=>{e.stopPropagation(),this.value="[]",this.coClear.emit(),this.coChange.emit([])},this.handleSelectAll=()=>{this.disabled||this.emitSelection(f(this.getTree()))},this.handleDeselectAll=()=>{this.disabled||(this.value="[]",this.coClear.emit(),this.coChange.emit([]))},this.handleExpandAll=()=>{this.expandedKeys=function(e){const o=new Set,c=e=>{var t;for(const r of e)(null===(t=r.children)||void 0===t?void 0:t.length)&&(o.add(r.key),c(r.children))};return c(e),o}(this.getTree())},this.handleCollapseAll=()=>{this.expandedKeys=new Set},this.handleOptionClick=e=>{if(!this.disabled)if(this.multiple){const o=[...this.selectedValues],c=o.indexOf(e);c>=0?o.splice(c,1):o.push(e),this.emitSelection(o)}else this.emitSelection([e]),this.isOpen=!1},this.handleParentCheck=e=>{if(this.disabled)return;const o=f(e.children||[]),c=[...this.selectedValues];if(o.every((e=>c.includes(e))))this.emitSelection(c.filter((e=>!o.includes(e))));else{for(const e of o)c.includes(e)||c.push(e);this.emitSelection(c)}},this.handleChipRemove=(e,o)=>{o.stopPropagation(),this.disabled||this.emitSelection(this.selectedValues.filter((o=>o!==e)))},this.handleToggleExpand=(e,o)=>{o.stopPropagation();const c=new Set(this.expandedKeys);c.has(e)?c.delete(e):c.add(e),this.expandedKeys=c}}get parsedOptions(){return function(e){let o=e;if("string"==typeof o)try{o=JSON.parse(o)}catch(e){return[]}return Array.isArray(o)?o.map((e=>"string"==typeof e?e:e.value)):[]}(this.options)}get parsedSections(){return function(e){let o=e;if("string"==typeof o)try{o=JSON.parse(o)}catch(e){return[]}return Array.isArray(o)?o:[]}(this.sections)}get selectedValues(){return function(e){if("string"==typeof e)try{return JSON.parse(e)}catch(o){return e?[e]:[]}return Array.isArray(e)?e:[]}(this.value)}get optionLabelMap(){return function(e){let o=e;if("string"==typeof o)try{o=JSON.parse(o)}catch(e){return new Map}if(!Array.isArray(o))return new Map;const c=new Map;for(const e of o)"string"==typeof e?c.set(e,l(e.split(".").pop()||e)):c.set(e.value,e.label||e.value);return c}(this.options)}get hasValue(){return this.selectedValues.length>0}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}emitSelection(e){this.value=JSON.stringify(e),this.coChange.emit(e)}onOptionsChange(){this.expandedKeys=function(e,o,c){if(!o.length)return c;const t=new Set(c),r=e=>{var c;for(const i of e)(null===(c=i.children)||void 0===c?void 0:c.length)&&(f(i.children).some((e=>o.includes(e)))&&t.add(i.key),r(i.children))};return r(e),t}(this.getTree(),this.selectedValues,this.expandedKeys)}handleDocumentClick(e){this.el.contains(e.target)||(this.isOpen=!1,this.focused=!1)}getTree(){return u(this.parsedOptions,this.optionLabelMap)}getSectionedTree(){const e=this.parsedSections;if(!e.length)return[];const o=this.parsedOptions;return e.map((c=>{const t=o.filter((o=>c.prefix?o.startsWith(c.prefix+"."):!e.some((e=>e.prefix&&o.startsWith(e.prefix+".")))));return Object.assign(Object.assign({},c),{nodes:m(u(t,this.optionLabelMap))})})).filter((e=>e.nodes.length>0))}renderField(){const o=this.selectedValues,c=this.optionLabelMap;return e("div",{class:{"co-column-picker__field":!0,"co-column-picker__field--focused":this.focused,"co-column-picker__field--disabled":this.disabled,"co-column-picker__field--open":this.isOpen},onClick:this.handleFieldClick},this.multiple&&o.length>0&&e("div",{class:"co-column-picker__field-chips"},o.map((o=>e("co-chip",{label:c.get(o)||l(o.split(".").pop()||o),size:"small",removable:!this.disabled,onCoRemove:e=>this.handleChipRemove(o,e)})))),!this.multiple&&o.length>0&&e("span",{class:"co-column-picker__field-text"},o.map((e=>c.get(e)||l(e.split(".").pop()||e))).join(", ")),0===o.length&&e("span",{class:"co-column-picker__field-placeholder"},this.placeholder),e("div",{class:"co-column-picker__field-actions"},this.clearable&&this.hasValue&&!this.disabled&&e("button",{class:"co-column-picker__field-clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear"},e("co-icon",{name:"x-circle",size:16,weight:"fill"})),e("co-icon",{name:this.isOpen?"caret-up":"caret-down",size:16,class:"co-column-picker__field-caret"})))}renderTree(){const o={selected:this.selectedValues,expandedKeys:this.expandedKeys,disabled:this.disabled,query:this.query,onOptionClick:this.handleOptionClick,onParentCheck:this.handleParentCheck,onToggleExpand:this.handleToggleExpand};if(this.parsedSections.length>0){const c=this.getSectionedTree(),t=this.query?c.map((e=>Object.assign(Object.assign({},e),{nodes:h(e.nodes,this.query)}))).filter((e=>e.nodes.length>0)):c;return t.length?e("div",{class:"co-column-picker__tree"},t.map((c=>[e("div",{class:"co-column-picker__section-header"},e("span",{class:"co-column-picker__section-label"},c.label),c.prefix&&e("span",{class:"co-column-picker__section-prefix"},"(",c.prefix,")")),...c.nodes.map((c=>e(_,Object.assign({node:c,depth:0},o))))]))):this.renderEmpty()}const c=this.getTree(),t=this.query?h(c,this.query):c;return t.length?e("div",{class:"co-column-picker__tree"},t.map((c=>e(_,Object.assign({node:c,depth:0},o))))):this.renderEmpty()}renderEmpty(){return e("div",{class:"co-column-picker__empty"},e("co-icon",{name:"magnifying-glass",size:40,class:"co-column-picker__empty-icon"}),e("span",null,this.emptyText))}render(){return e("div",{key:"ab2ad3bd249351f19e223ee8437d0f66ea368f84",class:{"co-column-picker":!0,"co-column-picker--open":this.isOpen,"co-column-picker--disabled":this.disabled,"co-column-picker--focused":this.focused,["co-column-picker--"+this.status]:"default"!==this.status}},(this.label||this.secondaryLabel)&&e("div",{key:"eef032ff9774ee1ac9c656a8413ebf099a7d4a42",class:"co-column-picker__labels"},this.label&&e("label",{key:"6638950f784fac9809d853945b87dd8ce26d86b8",class:"co-column-picker__label"},this.label),this.secondaryLabel&&e("span",{key:"eeac25d27edddeabf25e7b62f9e7e550d9683f87",class:"co-column-picker__secondary-label"},this.secondaryLabel)),this.renderField(),this.isOpen&&e("div",{key:"761ac25d7c97c1b5b51e24dde8e0bd98d1471649",class:"co-column-picker__dropdown"},this.showSearch&&e("div",{key:"e54ed5eee5f71cb30b3e09728b0e4d4987d98e99",class:"co-column-picker__search"},e("co-icon",{key:"184a9b2193e53669fb10796bdd770a863fe642b7",name:"magnifying-glass",size:14,class:"co-column-picker__search-icon"}),e("input",{key:"9f41b5adf0dfeec083a300ce743c3bbe78b95fe9",ref:e=>this.searchInputEl=e,class:"co-column-picker__search-input",type:"text",value:this.query,placeholder:this.placeholder,onInput:this.handleSearchInput,onClick:e=>e.stopPropagation()}),this.query&&e("button",{key:"4dd69184260a2edead1737df4f2f07ecf6b10680",class:"co-column-picker__search-clear",type:"button",onClick:this.handleSearchClear},e("co-icon",{key:"5cf2e640b64683b3802696ac66d6ecfabfffdb3a",name:"x",size:14}))),this.showToolbar&&this.multiple&&e("div",{key:"d383004d0b209a93f11f7d070796b2944f3c6849",class:"co-column-picker__toolbar"},e("button",{key:"22dd890b4c35c8cac632f2c90ce0d0a4f20a166a",class:"co-column-picker__toolbar-btn",type:"button",onClick:this.handleSelectAll},this.selectAllText),e("button",{key:"5a69e90720c2e3724656ca9a9a774f496faafcb1",class:"co-column-picker__toolbar-btn",type:"button",onClick:this.handleDeselectAll},this.clearText),e("span",{key:"4c9bc30f4429d7e54f4040ec874ea18423e7de77",class:"co-column-picker__toolbar-sep"}),e("button",{key:"b3a106e5b4268f3ea6d6de8bdac162b247d43b91",class:"co-column-picker__toolbar-btn",type:"button",onClick:this.handleExpandAll},this.expandText),e("button",{key:"a79d4b5ba8a481c2db958ba9d685712e24b95feb",class:"co-column-picker__toolbar-btn",type:"button",onClick:this.handleCollapseAll},this.collapseText),e("span",{key:"53439fb7eab725a7e11261aa440106c68dbf7865",style:{flex:"1"}}),this.selectedValues.length>0&&e("span",{key:"d34736ad6f2081228f7cb43a5d88b69e7fc33e15",class:"co-column-picker__toolbar-counter"},this.selectedValues.length," ",this.selectedText)),e("div",{key:"28226718a1270e859742fe754d4ea75a0c23a8e6",class:"co-column-picker__scroll",style:{maxHeight:this.maxHeight+"px"}},this.renderTree())),this.helperText&&e("div",{key:"e9a252deb5af1abd89d988bc354a8dbd6130a6cd",class:"co-column-picker__helper co-column-picker__helper--"+this.status},this.statusIcon&&e("co-icon",{key:"051cd7eee2817ba288be2e8d38c2b92b0fc63cb8",name:this.statusIcon,size:14,weight:"fill",class:"co-column-picker__helper-icon"}),e("span",{key:"b496d726484740151c2830e1e4d2a85b1040d86f",class:"co-column-picker__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{options:[{onOptionsChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-column-picker{display:flex;flex-direction:column;gap:var(--co-spacing-xs);position:relative}.co-column-picker__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-xs)}.co-column-picker__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-column-picker__secondary-label{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-column-picker--disabled .co-column-picker__label,.co-column-picker--disabled .co-column-picker__secondary-label{color:var(--co-semantic-text-disabled)}.co-column-picker__field{display:flex;align-items:center;flex-wrap:wrap;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs) var(--co-spacing-md);background:var(--co-semantic-surface-secondary);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-column-picker__field--focused{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-column-picker__field--disabled{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-column-picker--error .co-column-picker__field{border-color:var(--co-semantic-status-error)}.co-column-picker--success .co-column-picker__field{border-color:var(--co-semantic-status-success)}.co-column-picker--warning .co-column-picker__field{border-color:var(--co-color-status-review)}.co-column-picker--info .co-column-picker__field{border-color:var(--co-semantic-status-info)}.co-column-picker__field-text{flex:1;min-width:0;color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-column-picker__field-placeholder{flex:1;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400}.co-column-picker__field-chips{display:flex;flex-wrap:wrap;gap:var(--co-spacing-xs);flex:1}.co-column-picker__field-actions{display:flex;align-items:center;gap:var(--co-spacing-xs);flex-shrink:0;margin-left:auto}.co-column-picker__field-clear{display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-column-picker__field-clear:hover{color:var(--co-semantic-text-default)}.co-column-picker__field-caret{color:var(--co-semantic-text-muted);display:flex;align-items:center;transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-column-picker__field--open .co-column-picker__field-caret{color:var(--co-semantic-text-default)}.co-column-picker__dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;margin-top:var(--co-spacing-xs);background:var(--co-semantic-surface-secondary);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-sm, 12px);box-shadow:0 4px 16px var(--co-color-opacity-negro-8);overflow:hidden}.co-column-picker__search{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs) var(--co-spacing-md);border-bottom:1px solid var(--co-semantic-border-subtle);transition:border-color var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-column-picker__search:focus-within{border-color:var(--co-semantic-border-focus)}.co-column-picker__search-icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-column-picker__search-input{flex:1;border:none;outline:none;background:transparent;font-size:var(--co-font-size-14);font-family:inherit;color:var(--co-semantic-text-default);line-height:1.4;padding:0}.co-column-picker__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-column-picker__search-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:none;cursor:pointer;color:var(--co-semantic-text-muted);padding:0;border-radius:var(--co-border-radius-xxs);transition:all var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-column-picker__search-clear:hover{color:var(--co-semantic-text-default);background:var(--co-semantic-surface-hover)}.co-column-picker__toolbar{display:flex;align-items:center;gap:2px;padding:var(--co-spacing-xs) var(--co-spacing-md);border-bottom:1px solid var(--co-semantic-border-subtle)}.co-column-picker__toolbar-sep{width:1px;height:14px;background:var(--co-semantic-border-subtle);margin:0 var(--co-spacing-xs)}.co-column-picker__toolbar-btn{border:none;background:none;font-size:11.5px;font-family:inherit;color:var(--co-semantic-text-muted);cursor:pointer;padding:3px var(--co-spacing-xs);font-weight:500;transition:all var(--co-motion-duration-fast) var(--co-motion-ease-out);border-radius:var(--co-border-radius-xxs);line-height:1.4}.co-column-picker__toolbar-btn:hover{color:var(--co-semantic-text-default);background:var(--co-semantic-surface-hover)}.co-column-picker__toolbar-counter{font-size:11.5px;font-weight:500;color:var(--co-semantic-text-muted);font-variant-numeric:tabular-nums;padding:2px var(--co-spacing-xs);background:var(--co-semantic-surface-muted);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xxs)}.co-column-picker__scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--co-semantic-border-default) transparent}.co-column-picker__scroll::-webkit-scrollbar{width:6px}.co-column-picker__scroll::-webkit-scrollbar-track{background:transparent}.co-column-picker__scroll::-webkit-scrollbar-thumb{background:var(--co-semantic-border-default);border-radius:var(--co-border-radius-full)}.co-column-picker__tree{padding:var(--co-spacing-xs) 0}.co-column-picker__node{user-select:none}.co-column-picker__node-row{display:flex;align-items:center;min-height:34px;padding:0 12px 0 10px;gap:var(--co-spacing-xs);cursor:pointer;transition:background-color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-column-picker__node-row:hover{background-color:var(--co-semantic-surface-hover)}.co-column-picker__node-row--parent:hover{background-color:var(--co-semantic-surface-muted)}.co-column-picker__node-row--expanded{background-color:var(--co-semantic-surface-muted)}.co-column-picker__node-row--selected{background-color:var(--co-semantic-surface-muted)}.co-column-picker__node-label{flex:1;font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.co-column-picker__node-label--parent{font-weight:600;text-transform:capitalize}.co-column-picker__node-label--self{font-weight:400;color:var(--co-semantic-text-muted);text-transform:none}.co-column-picker__node-label mark{background:color-mix(in srgb, var(--co-color-primary-amarillo) 30%, transparent);color:inherit;padding:0 1px;border-radius:1px}.co-column-picker__self-tag{flex-shrink:0;font-size:10px;font-weight:500;color:var(--co-semantic-text-muted);background:var(--co-semantic-surface-muted);padding:1px 6px;border-radius:var(--co-border-radius-xxs);border:1px solid var(--co-semantic-border-subtle);text-transform:lowercase}.co-column-picker__node-counter{flex-shrink:0;font-size:11px;font-weight:400;color:var(--co-semantic-text-muted);font-variant-numeric:tabular-nums}.co-column-picker__counter-selected{font-weight:600;color:var(--co-semantic-text-default)}.co-column-picker__counter-sep{color:var(--co-semantic-border-default);margin:0 1px}.co-column-picker__counter-total{color:var(--co-semantic-text-muted)}.co-column-picker__chevron{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--co-semantic-text-muted);margin-left:var(--co-spacing-xs);transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out), color var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-column-picker__chevron:hover{color:var(--co-semantic-text-default)}.co-column-picker__chevron--open{transform:rotate(90deg);color:var(--co-semantic-text-default)}.co-column-picker__node-children{position:relative}.co-column-picker__node-children::before{content:'';position:absolute;left:var(--guide-left, 19px);top:0;bottom:0;width:1px;background:var(--co-semantic-border-default)}.co-column-picker__section-header{display:flex;align-items:center;gap:6px;padding:var(--co-spacing-xs) var(--co-spacing-md) var(--co-spacing-xs);margin-top:var(--co-spacing-xs);border-top:1px solid var(--co-semantic-border-subtle)}.co-column-picker__section-header:first-child{margin-top:0;border-top:none}.co-column-picker__section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--co-semantic-text-secondary)}.co-column-picker__section-prefix{font-size:10px;font-weight:500;color:var(--co-semantic-text-muted);opacity:0.75}.co-column-picker__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--co-spacing-xs);padding:40px 16px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14)}.co-column-picker__empty-icon{color:var(--co-semantic-border-default)}.co-column-picker__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-column-picker__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-column-picker__helper-text{font-size:var(--co-font-size-12, 12px);font-weight:400;line-height:1.4;color:var(--co-semantic-text-muted)}.co-column-picker__helper--error .co-column-picker__helper-text,.co-column-picker__helper--error .co-column-picker__helper-icon{color:var(--co-semantic-status-error)}.co-column-picker__helper--success .co-column-picker__helper-text,.co-column-picker__helper--success .co-column-picker__helper-icon{color:var(--co-semantic-status-success)}.co-column-picker__helper--warning .co-column-picker__helper-text,.co-column-picker__helper--warning .co-column-picker__helper-icon{color:var(--co-color-status-review)}.co-column-picker__helper--info .co-column-picker__helper-text,.co-column-picker__helper--info .co-column-picker__helper-icon{color:var(--co-semantic-status-info)}"}},[1,"co-column-picker",{label:[1],secondaryLabel:[1,"secondary-label"],options:[1],value:[1025],multiple:[4],disabled:[4],showToolbar:[4,"show-toolbar"],showSearch:[4,"show-search"],clearable:[4],placeholder:[1],maxHeight:[2,"max-height"],emptyText:[1,"empty-text"],selectAllText:[1,"select-all-text"],clearText:[1,"clear-text"],expandText:[1,"expand-text"],collapseText:[1,"collapse-text"],selectedText:[1,"selected-text"],sections:[1],status:[1],helperText:[1,"helper-text"],isOpen:[32],query:[32],expandedKeys:[32],focused:[32]},[[4,"click","handleDocumentClick"]],{options:[{onOptionsChange:0}]}]);function k(){"undefined"!=typeof customElements&&["co-column-picker","co-checkbox","co-chip","co-icon"].forEach((e=>{switch(e){case"co-column-picker":customElements.get(o(e))||customElements.define(o(e),b);break;case"co-checkbox":customElements.get(o(e))||n();break;case"co-chip":customElements.get(o(e))||s();break;case"co-icon":customElements.get(o(e))||a()}}))}k();const x=b,v=k;export{x as CoColumnPicker,v as defineCustomElement}
1
+ import{h as e,t as o,p as c,H as t,c as r}from"./index.js";import{n as i}from"./p-Ba_v-MzM.js";import{d as n}from"./p-BRZci8B3.js";import{d as s}from"./p-C_6szR7t.js";import{d as a}from"./p-KK2vAKs-.js";function l(e){return e?e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/^\w/,(e=>e.toUpperCase())):""}function d(e){return(e+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function p(e,o){if(!o)return d(e);const c=o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return d(e).replace(RegExp(`(${c})`,"gi"),"<mark>$1</mark>")}function u(e,o){const c=new Set(e),t={};for(const c of e){const e=c.split(".");let r=t;for(let c=0;c<e.length;c++){const t=e[c],i=e.slice(0,c+1).join(".");if(!r[t]){const n=c===e.length-1&&(null==o?void 0:o.get(i))||t;r[t]={label:n,key:i,childrenMap:{}}}c<e.length-1&&(r=r[t].childrenMap)}}const r=e=>Object.values(e).map((e=>{const o=r(e.childrenMap),t=o.length>0,i=t&&c.has(e.key),n={label:e.label,key:e.key,fullPath:e.key,children:t?o:null};return i&&n.children&&n.children.unshift({label:e.label,key:e.key+".__self",fullPath:e.key,children:null,isSelf:!0}),n}));return m(r(t))}function m(e){return[...e].sort(((e,o)=>{if(e.isSelf)return-1;if(o.isSelf)return 1;const c=e.children&&e.children.length>0,t=o.children&&o.children.length>0;return!c&&t?-1:c&&!t?1:e.label.localeCompare(o.label)})).map((e=>Object.assign(Object.assign({},e),{children:e.children?m(e.children):null})))}function h(e,o){const c=i(o);return e.map((e=>{const t=i(e.label).includes(c),r=i(l(e.label)).includes(c),n=i(e.fullPath).includes(c);if(!e.children||0===e.children.length)return t||r||n?e:null;const s=h(e.children,o);return t||r||s.length>0?Object.assign(Object.assign({},e),{children:s.length>0?s:e.children}):null})).filter(Boolean)}function f(e){const o=[];for(const c of e)c.children&&0!==c.children.length?o.push(...f(c.children)):o.push(c.fullPath);return o}const _=o=>{const{node:c,depth:t,selected:r,expandedKeys:i,disabled:n,query:s,onOptionClick:a,onParentCheck:d,onToggleExpand:u}=o,m=!c.children||0===c.children.length,h=i.has(c.key),b=m&&r.includes(c.fullPath);let k=!1,x=!1,v=0,g=0;if(!m&&c.children){const e=f(c.children);g=e.length,v=e.filter((e=>r.includes(e))).length,k=g>0&&v===g,x=v>0}return e("div",{class:"co-column-picker__node"},e("div",{class:{"co-column-picker__node-row":!0,"co-column-picker__node-row--leaf":m,"co-column-picker__node-row--parent":!m,"co-column-picker__node-row--expanded":!m&&h,"co-column-picker__node-row--selected":m&&b},style:{paddingLeft:20*t+10+"px"},onClick:e=>m?a(c.fullPath):u(c.key,e)},e("co-checkbox",{checked:m?b:k,indeterminate:!m&&x&&!k,disabled:n,onClick:e=>{e.stopPropagation(),m?a(c.fullPath):d(c)}}),e("span",{class:{"co-column-picker__node-label":!0,"co-column-picker__node-label--parent":!m,"co-column-picker__node-label--self":!!c.isSelf},innerHTML:p(l(c.label),s)}),c.isSelf&&e("span",{class:"co-column-picker__self-tag"},"self"),!m&&e("span",{class:"co-column-picker__node-counter"},v>0&&[e("span",{class:"co-column-picker__counter-selected"},v),e("span",{class:"co-column-picker__counter-sep"},"/")],e("span",{class:"co-column-picker__counter-total"},g)),!m&&e("span",{class:{"co-column-picker__chevron":!0,"co-column-picker__chevron--open":h},onClick:e=>u(c.key,e)},e("co-icon",{name:"caret-right",size:16}))),!m&&h&&c.children&&e("div",{class:"co-column-picker__node-children",style:{"--guide-left":20*t+19+"px"}},c.children.map((o=>e(_,{node:o,depth:t+1,selected:r,expandedKeys:i,disabled:n,query:s,onOptionClick:a,onParentCheck:d,onToggleExpand:u})))))},b=c(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=r(this,"coChange",7),this.coClear=r(this,"coClear",7),this.coSearch=r(this,"coSearch",7),this.options="[]",this.value="[]",this.multiple=!0,this.disabled=!1,this.showToolbar=!0,this.showSearch=!0,this.clearable=!0,this.placeholder="Select…",this.maxHeight=220,this.emptyText="No results found",this.selectAllText="Select all",this.clearText="Clear",this.expandText="Expand",this.collapseText="Collapse",this.selectedText="selected",this.sections="[]",this.status="default",this.isOpen=!1,this.query="",this.expandedKeys=new Set,this.focused=!1,this.handleFieldClick=()=>{this.disabled||(this.isOpen=!this.isOpen,this.focused=!0,this.isOpen&&requestAnimationFrame((()=>{var e;return null===(e=this.searchInputEl)||void 0===e?void 0:e.focus()})))},this.handleSearchInput=e=>{this.query=e.target.value,this.coSearch.emit(this.query),this.query&&(this.expandedKeys=function(e,o,c){const t=i(o),r=new Set(c),n=e=>{var o;let c=!1;for(const s of e)if(null===(o=s.children)||void 0===o?void 0:o.length){const e=n(s.children),o=i(s.label).includes(t)||i(l(s.label)).includes(t);(e||o)&&(r.add(s.key),c=!0)}else(i(s.label).includes(t)||i(l(s.label)).includes(t))&&(c=!0);return c};return n(e),r}(this.getTree(),this.query,this.expandedKeys))},this.handleSearchClear=e=>{var o;e.stopPropagation(),this.query="",this.coSearch.emit(""),null===(o=this.searchInputEl)||void 0===o||o.focus()},this.handleClear=e=>{e.stopPropagation(),this.value="[]",this.coClear.emit(),this.coChange.emit([])},this.handleSelectAll=()=>{this.disabled||this.emitSelection(f(this.getTree()))},this.handleDeselectAll=()=>{this.disabled||(this.value="[]",this.coClear.emit(),this.coChange.emit([]))},this.handleExpandAll=()=>{this.expandedKeys=function(e){const o=new Set,c=e=>{var t;for(const r of e)(null===(t=r.children)||void 0===t?void 0:t.length)&&(o.add(r.key),c(r.children))};return c(e),o}(this.getTree())},this.handleCollapseAll=()=>{this.expandedKeys=new Set},this.handleOptionClick=e=>{if(!this.disabled)if(this.multiple){const o=[...this.selectedValues],c=o.indexOf(e);c>=0?o.splice(c,1):o.push(e),this.emitSelection(o)}else this.emitSelection([e]),this.isOpen=!1},this.handleParentCheck=e=>{if(this.disabled)return;const o=f(e.children||[]),c=[...this.selectedValues];if(o.every((e=>c.includes(e))))this.emitSelection(c.filter((e=>!o.includes(e))));else{for(const e of o)c.includes(e)||c.push(e);this.emitSelection(c)}},this.handleChipRemove=(e,o)=>{o.stopPropagation(),this.disabled||this.emitSelection(this.selectedValues.filter((o=>o!==e)))},this.handleToggleExpand=(e,o)=>{o.stopPropagation();const c=new Set(this.expandedKeys);c.has(e)?c.delete(e):c.add(e),this.expandedKeys=c}}get parsedOptions(){return function(e){let o=e;if("string"==typeof o)try{o=JSON.parse(o)}catch(e){return[]}return Array.isArray(o)?o.map((e=>"string"==typeof e?e:e.value)):[]}(this.options)}get parsedSections(){return function(e){let o=e;if("string"==typeof o)try{o=JSON.parse(o)}catch(e){return[]}return Array.isArray(o)?o:[]}(this.sections)}get selectedValues(){return function(e){if("string"==typeof e)try{return JSON.parse(e)}catch(o){return e?[e]:[]}return Array.isArray(e)?e:[]}(this.value)}get optionLabelMap(){return function(e){let o=e;if("string"==typeof o)try{o=JSON.parse(o)}catch(e){return new Map}if(!Array.isArray(o))return new Map;const c=new Map;for(const e of o)"string"==typeof e?c.set(e,l(e.split(".").pop()||e)):c.set(e.value,e.label||e.value);return c}(this.options)}get hasValue(){return this.selectedValues.length>0}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}emitSelection(e){this.value=JSON.stringify(e),this.coChange.emit(e)}onOptionsChange(){this.expandedKeys=function(e,o,c){if(!o.length)return c;const t=new Set(c),r=e=>{var c;for(const i of e)(null===(c=i.children)||void 0===c?void 0:c.length)&&(f(i.children).some((e=>o.includes(e)))&&t.add(i.key),r(i.children))};return r(e),t}(this.getTree(),this.selectedValues,this.expandedKeys)}handleDocumentClick(e){this.el.contains(e.target)||(this.isOpen=!1,this.focused=!1)}getTree(){return u(this.parsedOptions,this.optionLabelMap)}getSectionedTree(){const e=this.parsedSections;if(!e.length)return[];const o=this.parsedOptions;return e.map((c=>{const t=o.filter((o=>c.prefix?o.startsWith(c.prefix+"."):!e.some((e=>e.prefix&&o.startsWith(e.prefix+".")))));return Object.assign(Object.assign({},c),{nodes:m(u(t,this.optionLabelMap))})})).filter((e=>e.nodes.length>0))}renderField(){const o=this.selectedValues,c=this.optionLabelMap;return e("div",{class:{"co-column-picker__field":!0,"co-column-picker__field--focused":this.focused,"co-column-picker__field--disabled":this.disabled,"co-column-picker__field--open":this.isOpen},onClick:this.handleFieldClick},this.multiple&&o.length>0&&e("div",{class:"co-column-picker__field-chips"},o.map((o=>e("co-chip",{label:c.get(o)||l(o.split(".").pop()||o),size:"small",removable:!this.disabled,onCoRemove:e=>this.handleChipRemove(o,e)})))),!this.multiple&&o.length>0&&e("span",{class:"co-column-picker__field-text"},o.map((e=>c.get(e)||l(e.split(".").pop()||e))).join(", ")),0===o.length&&e("span",{class:"co-column-picker__field-placeholder"},this.placeholder),e("div",{class:"co-column-picker__field-actions"},this.clearable&&this.hasValue&&!this.disabled&&e("button",{class:"co-column-picker__field-clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear"},e("co-icon",{name:"x-circle",size:16,weight:"fill"})),e("co-icon",{name:this.isOpen?"caret-up":"caret-down",size:16,class:"co-column-picker__field-caret"})))}renderTree(){const o={selected:this.selectedValues,expandedKeys:this.expandedKeys,disabled:this.disabled,query:this.query,onOptionClick:this.handleOptionClick,onParentCheck:this.handleParentCheck,onToggleExpand:this.handleToggleExpand};if(this.parsedSections.length>0){const c=this.getSectionedTree(),t=this.query?c.map((e=>Object.assign(Object.assign({},e),{nodes:h(e.nodes,this.query)}))).filter((e=>e.nodes.length>0)):c;return t.length?e("div",{class:"co-column-picker__tree"},t.map((c=>[e("div",{class:"co-column-picker__section-header"},e("span",{class:"co-column-picker__section-label"},c.label),c.prefix&&e("span",{class:"co-column-picker__section-prefix"},"(",c.prefix,")")),...c.nodes.map((c=>e(_,Object.assign({node:c,depth:0},o))))]))):this.renderEmpty()}const c=this.getTree(),t=this.query?h(c,this.query):c;return t.length?e("div",{class:"co-column-picker__tree"},t.map((c=>e(_,Object.assign({node:c,depth:0},o))))):this.renderEmpty()}renderEmpty(){return e("div",{class:"co-column-picker__empty"},e("co-icon",{name:"magnifying-glass",size:40,class:"co-column-picker__empty-icon"}),e("span",null,this.emptyText))}render(){return e("div",{key:"ab2ad3bd249351f19e223ee8437d0f66ea368f84",class:{"co-column-picker":!0,"co-column-picker--open":this.isOpen,"co-column-picker--disabled":this.disabled,"co-column-picker--focused":this.focused,["co-column-picker--"+this.status]:"default"!==this.status}},(this.label||this.secondaryLabel)&&e("div",{key:"eef032ff9774ee1ac9c656a8413ebf099a7d4a42",class:"co-column-picker__labels"},this.label&&e("label",{key:"6638950f784fac9809d853945b87dd8ce26d86b8",class:"co-column-picker__label"},this.label),this.secondaryLabel&&e("span",{key:"eeac25d27edddeabf25e7b62f9e7e550d9683f87",class:"co-column-picker__secondary-label"},this.secondaryLabel)),this.renderField(),this.isOpen&&e("div",{key:"761ac25d7c97c1b5b51e24dde8e0bd98d1471649",class:"co-column-picker__dropdown"},this.showSearch&&e("div",{key:"e54ed5eee5f71cb30b3e09728b0e4d4987d98e99",class:"co-column-picker__search"},e("co-icon",{key:"184a9b2193e53669fb10796bdd770a863fe642b7",name:"magnifying-glass",size:14,class:"co-column-picker__search-icon"}),e("input",{key:"9f41b5adf0dfeec083a300ce743c3bbe78b95fe9",ref:e=>this.searchInputEl=e,class:"co-column-picker__search-input",type:"text",value:this.query,placeholder:this.placeholder,onInput:this.handleSearchInput,onClick:e=>e.stopPropagation()}),this.query&&e("button",{key:"4dd69184260a2edead1737df4f2f07ecf6b10680",class:"co-column-picker__search-clear",type:"button",onClick:this.handleSearchClear},e("co-icon",{key:"5cf2e640b64683b3802696ac66d6ecfabfffdb3a",name:"x",size:14}))),this.showToolbar&&this.multiple&&e("div",{key:"d383004d0b209a93f11f7d070796b2944f3c6849",class:"co-column-picker__toolbar"},e("button",{key:"22dd890b4c35c8cac632f2c90ce0d0a4f20a166a",class:"co-column-picker__toolbar-btn",type:"button",onClick:this.handleSelectAll},this.selectAllText),e("button",{key:"5a69e90720c2e3724656ca9a9a774f496faafcb1",class:"co-column-picker__toolbar-btn",type:"button",onClick:this.handleDeselectAll},this.clearText),e("span",{key:"4c9bc30f4429d7e54f4040ec874ea18423e7de77",class:"co-column-picker__toolbar-sep"}),e("button",{key:"b3a106e5b4268f3ea6d6de8bdac162b247d43b91",class:"co-column-picker__toolbar-btn",type:"button",onClick:this.handleExpandAll},this.expandText),e("button",{key:"a79d4b5ba8a481c2db958ba9d685712e24b95feb",class:"co-column-picker__toolbar-btn",type:"button",onClick:this.handleCollapseAll},this.collapseText),e("span",{key:"53439fb7eab725a7e11261aa440106c68dbf7865",style:{flex:"1"}}),this.selectedValues.length>0&&e("span",{key:"d34736ad6f2081228f7cb43a5d88b69e7fc33e15",class:"co-column-picker__toolbar-counter"},this.selectedValues.length," ",this.selectedText)),e("div",{key:"28226718a1270e859742fe754d4ea75a0c23a8e6",class:"co-column-picker__scroll",style:{maxHeight:this.maxHeight+"px"}},this.renderTree())),this.helperText&&e("div",{key:"e9a252deb5af1abd89d988bc354a8dbd6130a6cd",class:"co-column-picker__helper co-column-picker__helper--"+this.status},this.statusIcon&&e("co-icon",{key:"051cd7eee2817ba288be2e8d38c2b92b0fc63cb8",name:this.statusIcon,size:14,weight:"fill",class:"co-column-picker__helper-icon"}),e("span",{key:"b496d726484740151c2830e1e4d2a85b1040d86f",class:"co-column-picker__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{options:[{onOptionsChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-column-picker{display:flex;flex-direction:column;gap:var(--co-spacing-xs);position:relative}.co-column-picker__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-xs)}.co-column-picker__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-column-picker__secondary-label{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-column-picker--disabled .co-column-picker__label,.co-column-picker--disabled .co-column-picker__secondary-label{color:var(--co-semantic-text-disabled)}.co-column-picker__field{display:flex;align-items:center;flex-wrap:wrap;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs) var(--co-spacing-md);background:var(--co-semantic-surface-secondary);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-column-picker__field--focused{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-column-picker__field--disabled{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-column-picker--error .co-column-picker__field{border-color:var(--co-semantic-status-error)}.co-column-picker--success .co-column-picker__field{border-color:var(--co-semantic-status-success)}.co-column-picker--warning .co-column-picker__field{border-color:var(--co-color-status-review)}.co-column-picker--info .co-column-picker__field{border-color:var(--co-semantic-status-info)}.co-column-picker__field-text{flex:1;min-width:0;color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-column-picker__field-placeholder{flex:1;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400}.co-column-picker__field-chips{display:flex;flex-wrap:wrap;gap:var(--co-spacing-xs);flex:1}.co-column-picker__field-actions{display:flex;align-items:center;gap:var(--co-spacing-xs);flex-shrink:0;margin-left:auto}.co-column-picker__field-clear{display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-column-picker__field-clear:hover{color:var(--co-semantic-text-default)}.co-column-picker__field-caret{color:var(--co-semantic-text-muted);display:flex;align-items:center;transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-column-picker__field--open .co-column-picker__field-caret{color:var(--co-semantic-text-default)}.co-column-picker__dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;margin-top:var(--co-spacing-xs);background:var(--co-semantic-surface-secondary);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-sm, 12px);box-shadow:0 4px 16px var(--co-color-opacity-negro-8);overflow:hidden}.co-column-picker__search{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs) var(--co-spacing-md);border-bottom:1px solid var(--co-semantic-border-subtle);transition:border-color var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-column-picker__search:focus-within{border-color:var(--co-semantic-border-focus)}.co-column-picker__search-icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-column-picker__search-input{flex:1;border:none;outline:none;background:transparent;font-size:var(--co-font-size-14);font-family:inherit;color:var(--co-semantic-text-default);line-height:1.4;padding:0}.co-column-picker__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-column-picker__search-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:none;cursor:pointer;color:var(--co-semantic-text-muted);padding:0;border-radius:var(--co-border-radius-xxs);transition:all var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-column-picker__search-clear:hover{color:var(--co-semantic-text-default);background:var(--co-semantic-surface-hover)}.co-column-picker__toolbar{display:flex;align-items:center;gap:2px;padding:var(--co-spacing-xs) var(--co-spacing-md);border-bottom:1px solid var(--co-semantic-border-subtle)}.co-column-picker__toolbar-sep{width:1px;height:14px;background:var(--co-semantic-border-subtle);margin:0 var(--co-spacing-xs)}.co-column-picker__toolbar-btn{border:none;background:none;font-size:11.5px;font-family:inherit;color:var(--co-semantic-text-muted);cursor:pointer;padding:3px var(--co-spacing-xs);font-weight:500;transition:all var(--co-motion-duration-fast) var(--co-motion-ease-out);border-radius:var(--co-border-radius-xxs);line-height:1.4}.co-column-picker__toolbar-btn:hover{color:var(--co-semantic-text-default);background:var(--co-semantic-surface-hover)}.co-column-picker__toolbar-counter{font-size:11.5px;font-weight:500;color:var(--co-semantic-text-muted);font-variant-numeric:tabular-nums;padding:2px var(--co-spacing-xs);background:var(--co-semantic-surface-muted);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xxs)}.co-column-picker__scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--co-semantic-border-default) transparent}.co-column-picker__scroll::-webkit-scrollbar{width:6px}.co-column-picker__scroll::-webkit-scrollbar-track{background:transparent}.co-column-picker__scroll::-webkit-scrollbar-thumb{background:var(--co-semantic-border-default);border-radius:var(--co-border-radius-full)}.co-column-picker__tree{padding:var(--co-spacing-xs) 0}.co-column-picker__node{user-select:none}.co-column-picker__node-row{display:flex;align-items:center;min-height:34px;padding:0 12px 0 10px;gap:var(--co-spacing-xs);cursor:pointer;transition:background-color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-column-picker__node-row:hover{background-color:var(--co-semantic-surface-hover)}.co-column-picker__node-row--parent:hover{background-color:var(--co-semantic-surface-muted)}.co-column-picker__node-row--expanded{background-color:var(--co-semantic-surface-muted)}.co-column-picker__node-row--selected{background-color:var(--co-semantic-surface-muted)}.co-column-picker__node-label{flex:1;font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.co-column-picker__node-label--parent{font-weight:600;text-transform:capitalize}.co-column-picker__node-label--self{font-weight:400;color:var(--co-semantic-text-muted);text-transform:none}.co-column-picker__node-label mark{background:color-mix(in srgb, var(--co-color-primary-amarillo) 30%, transparent);color:inherit;padding:0 1px;border-radius:1px}.co-column-picker__self-tag{flex-shrink:0;font-size:10px;font-weight:500;color:var(--co-semantic-text-muted);background:var(--co-semantic-surface-muted);padding:1px 6px;border-radius:var(--co-border-radius-xxs);border:1px solid var(--co-semantic-border-subtle);text-transform:lowercase}.co-column-picker__node-counter{flex-shrink:0;font-size:11px;font-weight:400;color:var(--co-semantic-text-muted);font-variant-numeric:tabular-nums}.co-column-picker__counter-selected{font-weight:600;color:var(--co-semantic-text-default)}.co-column-picker__counter-sep{color:var(--co-semantic-border-default);margin:0 1px}.co-column-picker__counter-total{color:var(--co-semantic-text-muted)}.co-column-picker__chevron{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--co-semantic-text-muted);margin-left:var(--co-spacing-xs);transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out), color var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-column-picker__chevron:hover{color:var(--co-semantic-text-default)}.co-column-picker__chevron--open{transform:rotate(90deg);color:var(--co-semantic-text-default)}.co-column-picker__node-children{position:relative}.co-column-picker__node-children::before{content:'';position:absolute;left:var(--guide-left, 19px);top:0;bottom:0;width:1px;background:var(--co-semantic-border-default)}.co-column-picker__section-header{display:flex;align-items:center;gap:6px;padding:var(--co-spacing-xs) var(--co-spacing-md) var(--co-spacing-xs);margin-top:var(--co-spacing-xs);border-top:1px solid var(--co-semantic-border-subtle)}.co-column-picker__section-header:first-child{margin-top:0;border-top:none}.co-column-picker__section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--co-semantic-text-secondary)}.co-column-picker__section-prefix{font-size:10px;font-weight:500;color:var(--co-semantic-text-muted);opacity:0.75}.co-column-picker__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--co-spacing-xs);padding:40px 16px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14)}.co-column-picker__empty-icon{color:var(--co-semantic-border-default)}.co-column-picker__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-column-picker__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-column-picker__helper-text{font-size:var(--co-font-size-12, 12px);font-weight:400;line-height:1.4;color:var(--co-semantic-text-muted)}.co-column-picker__helper--error .co-column-picker__helper-text,.co-column-picker__helper--error .co-column-picker__helper-icon{color:var(--co-semantic-status-error)}.co-column-picker__helper--success .co-column-picker__helper-text,.co-column-picker__helper--success .co-column-picker__helper-icon{color:var(--co-semantic-status-success)}.co-column-picker__helper--warning .co-column-picker__helper-text,.co-column-picker__helper--warning .co-column-picker__helper-icon{color:var(--co-color-status-review)}.co-column-picker__helper--info .co-column-picker__helper-text,.co-column-picker__helper--info .co-column-picker__helper-icon{color:var(--co-semantic-status-info)}"}},[1,"co-column-picker",{label:[1],secondaryLabel:[1,"secondary-label"],options:[1],value:[1025],multiple:[4],disabled:[4],showToolbar:[4,"show-toolbar"],showSearch:[4,"show-search"],clearable:[4],placeholder:[1],maxHeight:[2,"max-height"],emptyText:[1,"empty-text"],selectAllText:[1,"select-all-text"],clearText:[1,"clear-text"],expandText:[1,"expand-text"],collapseText:[1,"collapse-text"],selectedText:[1,"selected-text"],sections:[1],status:[1],helperText:[1,"helper-text"],isOpen:[32],query:[32],expandedKeys:[32],focused:[32]},[[4,"click","handleDocumentClick"]],{options:[{onOptionsChange:0}]}]);function k(){"undefined"!=typeof customElements&&["co-column-picker","co-checkbox","co-chip","co-icon"].forEach((e=>{switch(e){case"co-column-picker":customElements.get(o(e))||customElements.define(o(e),b);break;case"co-checkbox":customElements.get(o(e))||n();break;case"co-chip":customElements.get(o(e))||s();break;case"co-icon":customElements.get(o(e))||a()}}))}k();const x=b,v=k;export{x as CoColumnPicker,v as defineCustomElement}
@@ -1 +1 @@
1
- import{p as o,H as e,c as t,h as c,t as i}from"./index.js";import{R as s}from"./p-CWneqh4n.js";import{r as a}from"./p-Ba_v-MzM.js";import{d as r}from"./p-VcrjNCew.js";import{d as n}from"./p-Du8EpQb-.js";import{d as l}from"./p-KK2vAKs-.js";import{d as h}from"./p-8XzG8pzY.js";import{d as b}from"./p-Bw_b_czs.js";import{d}from"./p-BH184F0X.js";import{d as m}from"./p-Cnfd6Zze.js";import{d as p}from"./p-TGRbLkLz.js";import{d as f}from"./p-9VoFSbIH.js";const x=o(class o extends e{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.coChange=t(this,"coChange",7),this.coOpen=t(this,"coOpen",3),this.coClose=t(this,"coClose",3),this.coClear=t(this,"coClear",7),this.coFooterPrimary=t(this,"coFooterPrimary",7),this.coFooterSecondary=t(this,"coFooterSecondary",7),this.required=!1,this.placeholder="",this.disabled=!1,this.clearable=!0,this.searchable=!1,this.searchPlaceholder="Search",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.footerSecondaryLabel="New Tags",this.options="[]",this.emptyMessage="No results found",this.value="[]",this.multiple=!0,this.size="md",this.status="default",this.layout="vertical",this.isOpen=!1,this.searchQuery="",this.overflowCount=0,this.pendingFocus=!1,this.handleTriggerClick=o=>{this.disabled&&o.stopPropagation()},this.handleTriggerKeyDown=o=>{this.disabled||o.target===this.triggerEl&&("Enter"===o.key||" "===o.key?(o.preventDefault(),this.isOpen=!this.isOpen):"ArrowDown"!==o.key||this.isOpen||(o.preventDefault(),this.isOpen=!0))},this.handlePopoverOpen=()=>{console.log("[co-combobox] handlePopoverOpen called"),this.isOpen=!0},this.handlePopoverClose=()=>{console.log("[co-combobox] handlePopoverClose called"),this.isOpen=!1},this.handleClear=o=>{o.stopPropagation(),this.value="[]",this.coClear.emit(),this.coChange.emit({value:this.multiple?[]:"",item:null})},this.handleListChange=o=>{if(null==o.value)return this.value="[]",this.isOpen=!1,void this.coChange.emit({value:null,item:null});if(this.multiple){const e=o.value;this.value=JSON.stringify(e),this.coChange.emit({value:e,item:o.item})}else{const e=o.value;this.value=JSON.stringify([e]),this.isOpen=!1,this.coChange.emit({value:e,item:o.item})}},this.handleListRemove=o=>{const e=this.selectedValues.filter((e=>e!==o));this.value=JSON.stringify(e),this.coChange.emit({value:e,item:{_id:o,label:o}})},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleFooterSecondary=()=>{this.coFooterSecondary.emit()}}normalizeOptions(o){return o.map((o=>"string"==typeof o?{label:o,value:o}:o))}get parsedOptions(){if("string"==typeof this.options)try{return this.normalizeOptions(JSON.parse(this.options))}catch(o){return[]}return this.normalizeOptions(this.options)}get selectedValues(){if("string"==typeof this.value)try{return JSON.parse(this.value)}catch(o){return[]}return this.value}get filteredOptions(){return this.searchQuery?a(this.parsedOptions,this.searchQuery,(o=>o.label)):this.parsedOptions}get listItemsJson(){return JSON.stringify(this.filteredOptions.map((o=>({_id:o.value,label:o.label,icon:o.icon}))))}get displayText(){const o=this.selectedValues;if(0===o.length)return"";const e=this.parsedOptions.find((e=>e.value===o[0]));return e?e.label:o[0]}get selectedOptions(){return this.selectedValues.map((o=>this.parsedOptions.find((e=>e.value===o)))).filter((o=>!!o))}get hasValue(){return this.selectedValues.length>0}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}onOpenChange(o){o?(this.searchQuery="",this.pendingFocus=!0,this.coOpen.emit()):(this.coClose.emit(),this.restoreTriggerFocus())}onValueChange(){}connectedCallback(){this.resizeObserver=new ResizeObserver((()=>{this.calcOverflow()}))}disconnectedCallback(){var o;null===(o=this.resizeObserver)||void 0===o||o.disconnect()}componentDidRender(){var o,e,t;this.chipContainerEl&&(null===(o=this.resizeObserver)||void 0===o||o.disconnect(),null===(e=this.resizeObserver)||void 0===e||e.observe(this.chipContainerEl)),this.calcOverflow(),this.pendingFocus&&(null===(t=this.optionListEl)||void 0===t?void 0:t.isConnected)&&(this.pendingFocus=!1,this.optionListEl.focusSearch())}calcOverflow(){if(!this.multiple||!this.chipContainerEl)return;const o=this.chipContainerEl,e=Array.from(o.querySelectorAll("co-chip"));if(0===e.length)return void(0!==this.overflowCount&&(this.overflowCount=0));const t=o.getBoundingClientRect().right;let c=0;for(let o=e.length-1;o>=0&&e[o].getBoundingClientRect().right>t+1;o--)c++;c!==this.overflowCount&&(this.overflowCount=c)}restoreTriggerFocus(){var o;const e=document.activeElement;(e===this.el||this.el.contains(e))&&(null===(o=this.triggerEl)||void 0===o||o.focus())}render(){return c("div",{key:"8b0ff4418cd4ef8313fb18f597423938668e7c4c",class:{"co-combobox":!0,"co-combobox--open":this.isOpen,"co-combobox--disabled":this.disabled,["co-combobox--"+this.size]:!0},part:"wrapper"},(this.label||this.secondaryLabel)&&c("div",{key:"e54542e22563eafd57909405254d85a8b4df3e4f",class:"co-combobox__labels"},this.label&&c("label",{key:"3f54d1ba25400dd89b1e3a59c564f68e8a3785df",class:"co-combobox__label",part:"label"},this.label,c(s,{key:"4b0c64794195101ef3dfac1b656cd393eb19012a",required:this.required})),this.secondaryLabel&&c("span",{key:"51f2ed8dcd890fa162011ccf1fe9e3f96afcc6b9",class:"co-combobox__secondary-label",part:"secondary-label"},this.secondaryLabel)),c("co-popover",{key:"c071e11ad27db937caa615b63d32e056b099ea4a",open:this.isOpen,placement:"bottom-start",matchWidth:!0,offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},c("div",{key:"c4b215350ab75d791e9f0181f43af320e32506a9",slot:"trigger",class:"co-combobox__trigger",part:"trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-label":this.label||void 0,"aria-disabled":this.disabled?"true":void 0,"aria-controls":this.isOpen?o.LIST_ID:void 0,tabIndex:this.disabled?-1:0,ref:o=>this.triggerEl=o,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&c("co-icon",{key:"595cfc20ba148cd99e487002d4ce186feaf4b590",name:this.iconLeft,size:16,class:"co-combobox__icon"}),c("div",{key:"04a932c116df074d9a9e293d7dc3fead24f85e84",class:"co-combobox__input-wrapper",ref:o=>this.chipContainerEl=o},this.multiple&&this.hasValue?this.selectedOptions.map((o=>c("co-chip",{size:"small","icon-mode":"both",label:o.label},c("co-icon",{slot:"icon-left",name:o.icon||"circle",size:10}),c("co-icon",{slot:"icon-right",name:"x-circle",size:10,weight:"fill",onClick:e=>{e.stopPropagation(),this.handleListRemove(o.value)}})))):c("span",{class:{"co-combobox__text":!0,"co-combobox__text--placeholder":!this.hasValue}},this.hasValue?this.displayText:this.placeholder)),this.multiple&&this.overflowCount>0&&c("span",{key:"3717ddeb6a6cbfb50992f060a94466637d641848",class:"co-combobox__overflow-badge"},this.overflowCount),this.clearable&&this.hasValue&&!this.disabled&&c("button",{key:"3bd22162de7163e761f4deec4813c7bbd2dc7ab3",class:"co-combobox__clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear selection",part:"clear"},c("co-icon",{key:"466f7859e45f36d572e2736f8c67bb028be00e90",name:"x-circle",size:16,weight:"fill"})),c("co-icon",{key:"6631ac9f8053225d79b4ec3e70733de96044a5fa",name:this.isOpen?"caret-up":"caret-down",size:16,class:"co-combobox__caret"})),c("div",{key:"3d3cf9b043e50c161f48575e625dfa167c0efefd",class:"co-combobox__dropdown",part:"dropdown"},this.isOpen&&c("co-option-list",{key:"74eb44b2f32b30f5965a24d3d46fd99dba6b05b3",id:o.LIST_ID,ref:o=>this.optionListEl=o,items:this.listItemsJson,value:this.multiple?JSON.stringify(this.selectedValues):this.selectedValues[0]||"",multiple:this.multiple,selectedAffordance:"check",removableItems:this.multiple,virtual:!0,searchable:this.searchable,searchPlaceholder:this.searchPlaceholder,searchDebounce:0,highlightMatches:!0,emptyMessage:this.emptyMessage,onCoSearch:o=>{this.searchQuery=o.detail},onCoChange:o=>this.handleListChange(o.detail),onCoRemoveItem:o=>this.handleListRemove(o.detail)},this.showFooter&&c("co-list-footer",{key:"00861de6c0f6cd87a9a21d88d9f4fe1dd31afc6c",slot:"footer",secondaryLabel:this.footerSecondaryLabel,primaryLabel:this.footerPrimaryLabel,onCoSecondary:this.handleFooterSecondary,onCoPrimary:this.handleFooterPrimary})))),this.helperText&&c("div",{key:"ac1eaf079ae327e76df9723972404a375903689e",class:"co-combobox__helper co-combobox__helper--"+this.status,part:"helper"},this.statusIcon&&c("co-icon",{key:"be90b01fda8c51b11bbc73b8ab76085e160492b1",name:this.statusIcon,size:14,weight:"fill",class:"co-combobox__helper-icon"}),c("span",{key:"c3921ff5a264d24bbba07358085d92675aadbe9b",class:"co-combobox__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{isOpen:[{onOpenChange:0}],value:[{onValueChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-combobox{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-combobox__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-combobox__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-combobox__secondary-label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;text-align:right}.co-combobox__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);overflow:hidden}.co-combobox--s .co-combobox__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-combobox--sm .co-combobox__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-combobox--lg .co-combobox__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-combobox--open .co-combobox__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-combobox__trigger:focus-visible{outline:none;border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-combobox--disabled .co-combobox__trigger{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-combobox__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-combobox--disabled .co-combobox__icon{color:var(--co-semantic-text-disabled)}.co-combobox__input-wrapper{flex:1;display:flex;align-items:center;flex-wrap:nowrap;gap:4px;min-width:0;min-height:22px;padding:0;overflow:hidden}.co-combobox__input-wrapper co-chip{--co-chip-max-width:120px;--co-chip-bg:var(--co-semantic-surface-muted);--co-chip-color:var(--co-semantic-text-default);--co-chip-border:1px solid var(--co-semantic-border-subtle);flex-shrink:0}.co-combobox__overflow-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-status-info, #2d6cc5);color:var(--co-color-base-blanco, #fff);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-10);font-weight:600;line-height:1;white-space:nowrap}.co-combobox__text{color:var(--co-semantic-text-default);font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-combobox__text--placeholder{color:var(--co-semantic-text-muted)}.co-combobox--disabled .co-combobox__text{color:var(--co-semantic-text-disabled)}.co-combobox__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-combobox__clear:hover{color:var(--co-semantic-text-default)}.co-combobox__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-combobox--disabled .co-combobox__caret{color:var(--co-semantic-text-disabled)}.co-combobox__dropdown{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-combobox__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-combobox__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-combobox__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-combobox__helper--error .co-combobox__helper-icon,.co-combobox__helper--error .co-combobox__helper-text{color:var(--co-semantic-status-error)}.co-combobox__helper--success .co-combobox__helper-icon,.co-combobox__helper--success .co-combobox__helper-text{color:var(--co-semantic-status-success)}.co-combobox__helper--warning .co-combobox__helper-icon,.co-combobox__helper--warning .co-combobox__helper-text{color:var(--co-color-status-review)}.co-combobox__helper--info .co-combobox__helper-icon,.co-combobox__helper--info .co-combobox__helper-text{color:var(--co-semantic-status-info)}:host([layout='horizontal']) .co-combobox{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-combobox__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-combobox__label{white-space:normal}:host([layout='horizontal']) .co-combobox>:not(.co-combobox__labels){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}"}},[1,"co-combobox",{label:[1],required:[4],secondaryLabel:[1,"secondary-label"],placeholder:[1],disabled:[4],iconLeft:[1,"icon-left"],clearable:[4],searchable:[4],searchPlaceholder:[1,"search-placeholder"],showFooter:[4,"show-footer"],footerPrimaryLabel:[1,"footer-primary-label"],footerSecondaryLabel:[1,"footer-secondary-label"],options:[1],emptyMessage:[1,"empty-message"],value:[1025],multiple:[4],size:[513],helperText:[1,"helper-text"],status:[1],layout:[513],isOpen:[32],searchQuery:[32],overflowCount:[32]},void 0,{isOpen:[{onOpenChange:0}],value:[{onValueChange:0}]}]);function u(){"undefined"!=typeof customElements&&["co-combobox","co-avatar","co-chip","co-icon","co-kbd","co-list-footer","co-loader","co-option-list","co-popover","co-tooltip"].forEach((o=>{switch(o){case"co-combobox":customElements.get(i(o))||customElements.define(i(o),x);break;case"co-avatar":customElements.get(i(o))||r();break;case"co-chip":customElements.get(i(o))||n();break;case"co-icon":customElements.get(i(o))||l();break;case"co-kbd":customElements.get(i(o))||h();break;case"co-list-footer":customElements.get(i(o))||b();break;case"co-loader":customElements.get(i(o))||d();break;case"co-option-list":customElements.get(i(o))||m();break;case"co-popover":customElements.get(i(o))||p();break;case"co-tooltip":customElements.get(i(o))||f()}}))}x.LIST_ID="co-combobox-list",u();const g=x,_=u;export{g as CoCombobox,_ as defineCustomElement}
1
+ import{p as o,H as e,c as t,h as c,t as i}from"./index.js";import{R as s}from"./p-CWneqh4n.js";import{r as a}from"./p-Ba_v-MzM.js";import{d as r}from"./p-VcrjNCew.js";import{d as n}from"./p-C_6szR7t.js";import{d as l}from"./p-KK2vAKs-.js";import{d as h}from"./p-8XzG8pzY.js";import{d as b}from"./p-Bw_b_czs.js";import{d}from"./p-BH184F0X.js";import{d as m}from"./p-Cnfd6Zze.js";import{d as p}from"./p-TGRbLkLz.js";import{d as f}from"./p-9VoFSbIH.js";const x=o(class o extends e{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.coChange=t(this,"coChange",7),this.coOpen=t(this,"coOpen",3),this.coClose=t(this,"coClose",3),this.coClear=t(this,"coClear",7),this.coFooterPrimary=t(this,"coFooterPrimary",7),this.coFooterSecondary=t(this,"coFooterSecondary",7),this.required=!1,this.placeholder="",this.disabled=!1,this.clearable=!0,this.searchable=!1,this.searchPlaceholder="Search",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.footerSecondaryLabel="New Tags",this.options="[]",this.emptyMessage="No results found",this.value="[]",this.multiple=!0,this.size="md",this.status="default",this.layout="vertical",this.isOpen=!1,this.searchQuery="",this.overflowCount=0,this.pendingFocus=!1,this.handleTriggerClick=o=>{this.disabled&&o.stopPropagation()},this.handleTriggerKeyDown=o=>{this.disabled||o.target===this.triggerEl&&("Enter"===o.key||" "===o.key?(o.preventDefault(),this.isOpen=!this.isOpen):"ArrowDown"!==o.key||this.isOpen||(o.preventDefault(),this.isOpen=!0))},this.handlePopoverOpen=()=>{console.log("[co-combobox] handlePopoverOpen called"),this.isOpen=!0},this.handlePopoverClose=()=>{console.log("[co-combobox] handlePopoverClose called"),this.isOpen=!1},this.handleClear=o=>{o.stopPropagation(),this.value="[]",this.coClear.emit(),this.coChange.emit({value:this.multiple?[]:"",item:null})},this.handleListChange=o=>{if(null==o.value)return this.value="[]",this.isOpen=!1,void this.coChange.emit({value:null,item:null});if(this.multiple){const e=o.value;this.value=JSON.stringify(e),this.coChange.emit({value:e,item:o.item})}else{const e=o.value;this.value=JSON.stringify([e]),this.isOpen=!1,this.coChange.emit({value:e,item:o.item})}},this.handleListRemove=o=>{const e=this.selectedValues.filter((e=>e!==o));this.value=JSON.stringify(e),this.coChange.emit({value:e,item:{_id:o,label:o}})},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleFooterSecondary=()=>{this.coFooterSecondary.emit()}}normalizeOptions(o){return o.map((o=>"string"==typeof o?{label:o,value:o}:o))}get parsedOptions(){if("string"==typeof this.options)try{return this.normalizeOptions(JSON.parse(this.options))}catch(o){return[]}return this.normalizeOptions(this.options)}get selectedValues(){if("string"==typeof this.value)try{return JSON.parse(this.value)}catch(o){return[]}return this.value}get filteredOptions(){return this.searchQuery?a(this.parsedOptions,this.searchQuery,(o=>o.label)):this.parsedOptions}get listItemsJson(){return JSON.stringify(this.filteredOptions.map((o=>({_id:o.value,label:o.label,icon:o.icon}))))}get displayText(){const o=this.selectedValues;if(0===o.length)return"";const e=this.parsedOptions.find((e=>e.value===o[0]));return e?e.label:o[0]}get selectedOptions(){return this.selectedValues.map((o=>this.parsedOptions.find((e=>e.value===o)))).filter((o=>!!o))}get hasValue(){return this.selectedValues.length>0}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}onOpenChange(o){o?(this.searchQuery="",this.pendingFocus=!0,this.coOpen.emit()):(this.coClose.emit(),this.restoreTriggerFocus())}onValueChange(){}connectedCallback(){this.resizeObserver=new ResizeObserver((()=>{this.calcOverflow()}))}disconnectedCallback(){var o;null===(o=this.resizeObserver)||void 0===o||o.disconnect()}componentDidRender(){var o,e,t;this.chipContainerEl&&(null===(o=this.resizeObserver)||void 0===o||o.disconnect(),null===(e=this.resizeObserver)||void 0===e||e.observe(this.chipContainerEl)),this.calcOverflow(),this.pendingFocus&&(null===(t=this.optionListEl)||void 0===t?void 0:t.isConnected)&&(this.pendingFocus=!1,this.optionListEl.focusSearch())}calcOverflow(){if(!this.multiple||!this.chipContainerEl)return;const o=this.chipContainerEl,e=Array.from(o.querySelectorAll("co-chip"));if(0===e.length)return void(0!==this.overflowCount&&(this.overflowCount=0));const t=o.getBoundingClientRect().right;let c=0;for(let o=e.length-1;o>=0&&e[o].getBoundingClientRect().right>t+1;o--)c++;c!==this.overflowCount&&(this.overflowCount=c)}restoreTriggerFocus(){var o;const e=document.activeElement;(e===this.el||this.el.contains(e))&&(null===(o=this.triggerEl)||void 0===o||o.focus())}render(){return c("div",{key:"8b0ff4418cd4ef8313fb18f597423938668e7c4c",class:{"co-combobox":!0,"co-combobox--open":this.isOpen,"co-combobox--disabled":this.disabled,["co-combobox--"+this.size]:!0},part:"wrapper"},(this.label||this.secondaryLabel)&&c("div",{key:"e54542e22563eafd57909405254d85a8b4df3e4f",class:"co-combobox__labels"},this.label&&c("label",{key:"3f54d1ba25400dd89b1e3a59c564f68e8a3785df",class:"co-combobox__label",part:"label"},this.label,c(s,{key:"4b0c64794195101ef3dfac1b656cd393eb19012a",required:this.required})),this.secondaryLabel&&c("span",{key:"51f2ed8dcd890fa162011ccf1fe9e3f96afcc6b9",class:"co-combobox__secondary-label",part:"secondary-label"},this.secondaryLabel)),c("co-popover",{key:"c071e11ad27db937caa615b63d32e056b099ea4a",open:this.isOpen,placement:"bottom-start",matchWidth:!0,offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},c("div",{key:"c4b215350ab75d791e9f0181f43af320e32506a9",slot:"trigger",class:"co-combobox__trigger",part:"trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-label":this.label||void 0,"aria-disabled":this.disabled?"true":void 0,"aria-controls":this.isOpen?o.LIST_ID:void 0,tabIndex:this.disabled?-1:0,ref:o=>this.triggerEl=o,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&c("co-icon",{key:"595cfc20ba148cd99e487002d4ce186feaf4b590",name:this.iconLeft,size:16,class:"co-combobox__icon"}),c("div",{key:"04a932c116df074d9a9e293d7dc3fead24f85e84",class:"co-combobox__input-wrapper",ref:o=>this.chipContainerEl=o},this.multiple&&this.hasValue?this.selectedOptions.map((o=>c("co-chip",{size:"small","icon-mode":"both",label:o.label},c("co-icon",{slot:"icon-left",name:o.icon||"circle",size:10}),c("co-icon",{slot:"icon-right",name:"x-circle",size:10,weight:"fill",onClick:e=>{e.stopPropagation(),this.handleListRemove(o.value)}})))):c("span",{class:{"co-combobox__text":!0,"co-combobox__text--placeholder":!this.hasValue}},this.hasValue?this.displayText:this.placeholder)),this.multiple&&this.overflowCount>0&&c("span",{key:"3717ddeb6a6cbfb50992f060a94466637d641848",class:"co-combobox__overflow-badge"},this.overflowCount),this.clearable&&this.hasValue&&!this.disabled&&c("button",{key:"3bd22162de7163e761f4deec4813c7bbd2dc7ab3",class:"co-combobox__clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear selection",part:"clear"},c("co-icon",{key:"466f7859e45f36d572e2736f8c67bb028be00e90",name:"x-circle",size:16,weight:"fill"})),c("co-icon",{key:"6631ac9f8053225d79b4ec3e70733de96044a5fa",name:this.isOpen?"caret-up":"caret-down",size:16,class:"co-combobox__caret"})),c("div",{key:"3d3cf9b043e50c161f48575e625dfa167c0efefd",class:"co-combobox__dropdown",part:"dropdown"},this.isOpen&&c("co-option-list",{key:"74eb44b2f32b30f5965a24d3d46fd99dba6b05b3",id:o.LIST_ID,ref:o=>this.optionListEl=o,items:this.listItemsJson,value:this.multiple?JSON.stringify(this.selectedValues):this.selectedValues[0]||"",multiple:this.multiple,selectedAffordance:"check",removableItems:this.multiple,virtual:!0,searchable:this.searchable,searchPlaceholder:this.searchPlaceholder,searchDebounce:0,highlightMatches:!0,emptyMessage:this.emptyMessage,onCoSearch:o=>{this.searchQuery=o.detail},onCoChange:o=>this.handleListChange(o.detail),onCoRemoveItem:o=>this.handleListRemove(o.detail)},this.showFooter&&c("co-list-footer",{key:"00861de6c0f6cd87a9a21d88d9f4fe1dd31afc6c",slot:"footer",secondaryLabel:this.footerSecondaryLabel,primaryLabel:this.footerPrimaryLabel,onCoSecondary:this.handleFooterSecondary,onCoPrimary:this.handleFooterPrimary})))),this.helperText&&c("div",{key:"ac1eaf079ae327e76df9723972404a375903689e",class:"co-combobox__helper co-combobox__helper--"+this.status,part:"helper"},this.statusIcon&&c("co-icon",{key:"be90b01fda8c51b11bbc73b8ab76085e160492b1",name:this.statusIcon,size:14,weight:"fill",class:"co-combobox__helper-icon"}),c("span",{key:"c3921ff5a264d24bbba07358085d92675aadbe9b",class:"co-combobox__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{isOpen:[{onOpenChange:0}],value:[{onValueChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-combobox{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-combobox__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-combobox__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-combobox__secondary-label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;text-align:right}.co-combobox__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);overflow:hidden}.co-combobox--s .co-combobox__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-combobox--sm .co-combobox__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-combobox--lg .co-combobox__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-combobox--open .co-combobox__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-combobox__trigger:focus-visible{outline:none;border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-combobox--disabled .co-combobox__trigger{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-combobox__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-combobox--disabled .co-combobox__icon{color:var(--co-semantic-text-disabled)}.co-combobox__input-wrapper{flex:1;display:flex;align-items:center;flex-wrap:nowrap;gap:4px;min-width:0;min-height:22px;padding:0;overflow:hidden}.co-combobox__input-wrapper co-chip{--co-chip-max-width:120px;--co-chip-bg:var(--co-semantic-surface-muted);--co-chip-color:var(--co-semantic-text-default);--co-chip-border:1px solid var(--co-semantic-border-subtle);flex-shrink:0}.co-combobox__overflow-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-status-info, #2d6cc5);color:var(--co-color-base-blanco, #fff);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-10);font-weight:600;line-height:1;white-space:nowrap}.co-combobox__text{color:var(--co-semantic-text-default);font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-combobox__text--placeholder{color:var(--co-semantic-text-muted)}.co-combobox--disabled .co-combobox__text{color:var(--co-semantic-text-disabled)}.co-combobox__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-combobox__clear:hover{color:var(--co-semantic-text-default)}.co-combobox__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-combobox--disabled .co-combobox__caret{color:var(--co-semantic-text-disabled)}.co-combobox__dropdown{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-combobox__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-combobox__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-combobox__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-combobox__helper--error .co-combobox__helper-icon,.co-combobox__helper--error .co-combobox__helper-text{color:var(--co-semantic-status-error)}.co-combobox__helper--success .co-combobox__helper-icon,.co-combobox__helper--success .co-combobox__helper-text{color:var(--co-semantic-status-success)}.co-combobox__helper--warning .co-combobox__helper-icon,.co-combobox__helper--warning .co-combobox__helper-text{color:var(--co-color-status-review)}.co-combobox__helper--info .co-combobox__helper-icon,.co-combobox__helper--info .co-combobox__helper-text{color:var(--co-semantic-status-info)}:host([layout='horizontal']) .co-combobox{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-combobox__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-combobox__label{white-space:normal}:host([layout='horizontal']) .co-combobox>:not(.co-combobox__labels){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}"}},[1,"co-combobox",{label:[1],required:[4],secondaryLabel:[1,"secondary-label"],placeholder:[1],disabled:[4],iconLeft:[1,"icon-left"],clearable:[4],searchable:[4],searchPlaceholder:[1,"search-placeholder"],showFooter:[4,"show-footer"],footerPrimaryLabel:[1,"footer-primary-label"],footerSecondaryLabel:[1,"footer-secondary-label"],options:[1],emptyMessage:[1,"empty-message"],value:[1025],multiple:[4],size:[513],helperText:[1,"helper-text"],status:[1],layout:[513],isOpen:[32],searchQuery:[32],overflowCount:[32]},void 0,{isOpen:[{onOpenChange:0}],value:[{onValueChange:0}]}]);function u(){"undefined"!=typeof customElements&&["co-combobox","co-avatar","co-chip","co-icon","co-kbd","co-list-footer","co-loader","co-option-list","co-popover","co-tooltip"].forEach((o=>{switch(o){case"co-combobox":customElements.get(i(o))||customElements.define(i(o),x);break;case"co-avatar":customElements.get(i(o))||r();break;case"co-chip":customElements.get(i(o))||n();break;case"co-icon":customElements.get(i(o))||l();break;case"co-kbd":customElements.get(i(o))||h();break;case"co-list-footer":customElements.get(i(o))||b();break;case"co-loader":customElements.get(i(o))||d();break;case"co-option-list":customElements.get(i(o))||m();break;case"co-popover":customElements.get(i(o))||p();break;case"co-tooltip":customElements.get(i(o))||f()}}))}x.LIST_ID="co-combobox-list",u();const g=x,_=u;export{g as CoCombobox,_ as defineCustomElement}
@@ -1 +1 @@
1
- import{t as a,p as e,H as o,c,h as t}from"./index.js";import{r as s}from"./p-Ba_v-MzM.js";import{d as r}from"./p-VcrjNCew.js";import{d as i}from"./p-Du8EpQb-.js";import{d as n}from"./p-KK2vAKs-.js";import{d}from"./p-8XzG8pzY.js";import{d as l}from"./p-BH184F0X.js";import{d as h}from"./p-Cnfd6Zze.js";import{d as m}from"./p-nrwDl_gx.js";import{d as p}from"./p-9VoFSbIH.js";const f=e(class extends o{constructor(a){super(),!1!==a&&this.__registerHost(),this.__attachShadow(),this.coSelect=c(this,"coSelect",7),this.coClose=c(this,"coClose",7),this.coSearch=c(this,"coSearch",7),this.coScopeChange=c(this,"coScopeChange",1),this.coBackspaceEmpty=c(this,"coBackspaceEmpty",1),this.coChipRemove=c(this,"coChipRemove",1),this.coTabSelect=c(this,"coTabSelect",1),this.coMoreTabs=c(this,"coMoreTabs",1),this.open=!1,this.placeholder="Search...",this.items=[],this.emptyMessage="No results found",this.async=!1,this.loading=!1,this.chips="[]",this.tabs="[]",this.activeTab="",this.hasMore=!1,this.moreLabel="More",this.favorites="[]",this.query="",this.handleInput=a=>{this.query=a.target.value,this.coSearch.emit(this.query)},this.handleKeyDown=a=>{var e,o;if(function(a,e){return"Backspace"===a&&""===e}(a.key,this.query))return a.preventDefault(),void this.coBackspaceEmpty.emit(this.query);switch(a.key){case"ArrowDown":case"ArrowUp":case"Enter":a.preventDefault(),null===(e=this.optionListEl)||void 0===e||e.handleKey(a);break;case"Escape":a.preventDefault(),this.close();break;case"Tab":a.preventDefault(),null===(o=this.optionListEl)||void 0===o||o.handleKey(new KeyboardEvent("keydown",{key:a.shiftKey?"ArrowUp":"ArrowDown"}))}},this.handleListPick=a=>{const e=this.filteredItems.find((e=>e.value===a));e&&this.selectItem(e)},this.handlePanelKeyDown=a=>{"Escape"===a.key&&(a.preventDefault(),this.close())},this.handleOverlayClick=()=>{this.close()},this.handlePanelClick=a=>{a.stopPropagation()},this.handleTriggerClick=()=>{this.open=!0}}get parsedItems(){if("string"==typeof this.items)try{return JSON.parse(this.items)}catch(a){return[]}return this.items}get filteredItems(){return function(a,e,o){return o?a:e?s(a,e,(a=>[a.label,a.value])):a}(this.parsedItems,this.query,this.async)}get parsedChips(){try{const a="string"==typeof this.chips?JSON.parse(this.chips):this.chips;return Array.isArray(a)?a:[]}catch(a){return[]}}get parsedTabs(){try{const a="string"==typeof this.tabs?JSON.parse(this.tabs):this.tabs;return Array.isArray(a)?a:[]}catch(a){return[]}}get parsedFavorites(){try{const a="string"==typeof this.favorites?JSON.parse(this.favorites):this.favorites;return Array.isArray(a)?a:[]}catch(a){return[]}}onActiveTabChange(a){a&&(this.query=""),requestAnimationFrame((()=>{var a;const e=null===(a=this.el.shadowRoot)||void 0===a?void 0:a.querySelector('.co-command-search__tab[aria-selected="true"]');null==e||e.scrollIntoView({inline:"nearest",block:"nearest"})}))}onOpenChange(a){a&&(this.query="",requestAnimationFrame((()=>{var a;return null===(a=this.inputEl)||void 0===a?void 0:a.focus()})))}selectItem(a){!function(a){return!0===a.keepOpen}(a)?(this.coSelect.emit(a.value),this.close()):this.coScopeChange.emit(a.value)}close(){this.open&&(this.open=!1,this.coClose.emit())}render(){const a=this.filteredItems;return[t("div",{key:"37a7fa941fee9d90d58937fea9a968604e825daf",class:"co-command-search__trigger",onClick:this.handleTriggerClick},t("slot",{key:"23aff571c1cc19b36b1931a5c30d3d3c544eb9b8",name:"trigger"})),t("co-overlay",{key:"bc74cdb881e5005d12ae0e55f301507715303d63",open:this.open,onCoClose:this.handleOverlayClick},t("div",{key:"654ab29570bd313809b660cce6ba9f71c0730e57",class:{"co-command-search":!0,"co-command-search--open":this.open},part:"panel",role:"dialog","aria-modal":"true","aria-label":"Command palette",onClick:this.handlePanelClick,onKeyDown:this.handlePanelKeyDown},t("div",{key:"f62ae09d7384d180b4169e1f7c21d14c7f3ca0b3",class:"co-command-search__input-row",part:"input-row"},t("co-icon",{key:"800323c34524e72dd0255166e45528dcf273a642",name:"magnifying-glass",size:20}),this.parsedChips.map(((a,e)=>t("span",{class:"co-command-search__facet-chip"},a.icon&&t("co-icon",{name:a.icon,size:12}),t("span",{class:"co-command-search__facet-chip-label"},a.label),t("button",{class:"co-command-search__facet-chip-remove",type:"button","aria-label":"Remove filter "+a.label,onClick:a=>{a.stopPropagation(),this.coChipRemove.emit(e)}},t("co-icon",{name:"x",size:10,weight:"bold"}))))),t("input",{key:"5468e510b549c996e7208b691b846b2949b2870d",class:"co-command-search__input",type:"text",placeholder:this.placeholder,value:this.query,onInput:this.handleInput,onKeyDown:this.handleKeyDown,ref:a=>this.inputEl=a,part:"input",role:"combobox","aria-expanded":this.open?"true":"false","aria-autocomplete":"list"}),this.loading&&t("co-loader",{key:"300afe578342e795b968c01ec4a941b2fc07c25b",class:"co-command-search__loading",part:"loading",size:"sm"}),t("span",{key:"96c6c03f2330c1c4fbdecba635cc61aee1cef442",class:"co-command-search__shortcut"},"ESC")),(this.parsedTabs.length>0||this.hasMore)&&t("div",{key:"b05917311a4e65b98ed2e1db1c0cedb9f83bd5a2",class:"co-command-search__tabs",part:"tabs",role:"tablist"},this.parsedTabs.map((a=>{const e=a.value===this.activeTab;return t("co-chip",{class:"co-command-search__tab",role:"tab","aria-selected":e?"true":"false",clickable:!0,selected:e,variant:e?"filled":"outlined",color:e?"primary":"default",iconLeft:a.icon,label:a.label,onCoClick:()=>this.coTabSelect.emit(e?"":a.value)})})),this.hasMore&&t("co-chip",{key:"36c25c208b1e26394bd02a56dda55d5e0fd912fd",class:"co-command-search__tab co-command-search__tab--more",clickable:!0,variant:"outlined",label:this.moreLabel,iconRight:"caret-down",onCoClick:()=>this.coMoreTabs.emit()})),t("div",{key:"72497fec08f07fd6a91f62db10091d7d635eeab9",class:"co-command-search__results",part:"results"},this.parsedFavorites.length>0&&!this.query&&t("div",{key:"be18a43f0e3e5cc4c9ce0cbfacc90c7e5568017b",class:"co-command-search__fav",part:"favorites"},t("div",{key:"9c29628bb6ba66daf9253aa5d490f7dcc56e4b3b",class:"co-command-search__fav-grid"},this.parsedFavorites.map((a=>t("button",{class:"co-command-search__fav-card",type:"button",onClick:()=>this.coSelect.emit(a.value)},t("span",{class:"co-command-search__fav-icon",style:{background:a.color||"var(--co-semantic-surface-muted)"}},t("co-icon",{name:a.icon||"circle",size:26,weight:"fill"})),t("span",{class:"co-command-search__fav-label"},a.label)))))),t("co-option-list",{key:"ee50dd0d97743a7a85de59f8daf6e45e989a422d",ref:a=>this.optionListEl=a,items:JSON.stringify(a.map((a=>({_id:a.value,label:a.label,icon:a.icon,description:a.subtitle,group:a.section,disabled:a.disabled})))),autoHighlight:!0,highlightMatches:!0,highlightTerm:this.query,loading:this.loading,emptyMessage:this.emptyMessage,onCoChange:a=>this.handleListPick(a.detail.item._id)}))))]}get el(){return this}static get watchers(){return{activeTab:[{onActiveTabChange:0}],open:[{onOpenChange:0}]}}static get style(){return":host{display:contents}co-overlay{--co-overlay-bg:rgba(0, 0, 0, 0.16)}.co-command-search__trigger{display:contents}.co-command-search{display:flex;flex-direction:column;width:90vw;max-width:560px;max-height:420px;background:var(--co-semantic-surface-page);border-radius:var(--co-border-radius-lg);box-shadow:0 8px 32px rgba(0, 0, 0, 0.12);overflow:hidden;font-family:var(--co-font-family-primary);transform:translateY(8px) scale(0.98);opacity:0;transition:transform var(--co-motion-duration-fast) var(--co-motion-ease-out), opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);margin-top:-15vh}.co-command-search--open{transform:translateY(0) scale(1);opacity:1}.co-command-search__input-row{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-md) var(--co-spacing-lg);border-bottom:1px solid var(--co-semantic-border-default);color:var(--co-semantic-text-muted)}.co-command-search__input{flex:1;border:none;outline:none;background:transparent;font-size:var(--co-font-size-16);font-family:var(--co-font-family-primary);color:var(--co-semantic-text-default);min-width:0}.co-command-search__input::placeholder{color:var(--co-semantic-text-muted)}.co-command-search__shortcut{font-size:var(--co-font-size-10);color:var(--co-semantic-text-muted);background:var(--co-semantic-surface-muted);padding:2px var(--co-spacing-xs);border-radius:var(--co-border-radius-xxs);font-weight:500;line-height:1.4;flex-shrink:0}.co-command-search__results{flex:1;overflow-y:auto;padding:var(--co-spacing-xs) 0}.co-command-search__loading{flex-shrink:0;display:flex;align-items:center}.co-command-search__facet-chip{display:inline-flex;align-items:center;gap:2px;padding:2px var(--co-spacing-xs);background:var(--co-color-primary-azul);color:var(--co-color-base-blanco, #fff);border-radius:var(--co-border-radius-full);font-size:var(--co-font-size-12);font-weight:500;white-space:nowrap;flex-shrink:0}.co-command-search__facet-chip-label{max-width:110px;overflow:hidden;text-overflow:ellipsis}.co-command-search__facet-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;border-radius:var(--co-border-radius-full);background:rgba(255, 255, 255, 0.25);color:inherit;cursor:pointer;padding:0;line-height:1;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-command-search__facet-chip-remove:hover{background:rgba(255, 255, 255, 0.4)}.co-command-search__tabs{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-md);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-bottom:1px solid var(--co-semantic-border-default);scroll-padding-right:104px}.co-command-search__tabs::-webkit-scrollbar{display:none;}.co-command-search__tab{flex:0 0 auto}.co-command-search__tab--more{position:sticky;right:0;padding-left:var(--co-spacing-sm);background:var(--co-semantic-surface-page);box-shadow:-12px 0 10px -4px var(--co-semantic-surface-page)}.co-command-search__fav{padding:var(--co-spacing-sm) var(--co-spacing-lg) var(--co-spacing-md);border-bottom:1px solid var(--co-semantic-border-default)}.co-command-search__fav-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(88px, 1fr));gap:var(--co-spacing-xs)}.co-command-search__fav-card{display:flex;flex-direction:column;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-sm) var(--co-spacing-xs);background:transparent;border:none;border-radius:var(--co-border-radius-sm);cursor:pointer;font-family:inherit;text-align:center;min-width:0;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-command-search__fav-card:hover{background:var(--co-semantic-surface-hover)}.co-command-search__fav-card:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-command-search__fav-icon{flex:none;width:50px;height:50px;border-radius:var(--co-border-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--co-color-base-blanco, #fff);box-shadow:0 2px 6px rgba(0, 0, 0, 0.14)}.co-command-search__fav-label{font-size:var(--co-font-size-12);font-weight:500;line-height:1.2;color:var(--co-semantic-text-default);max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}"}},[257,"co-command-search",{open:[1540],placeholder:[1],items:[1],emptyMessage:[1,"empty-message"],async:[516],loading:[516],chips:[513],tabs:[1],activeTab:[1,"active-tab"],hasMore:[4,"has-more"],moreLabel:[1,"more-label"],favorites:[1],query:[32]},void 0,{activeTab:[{onActiveTabChange:0}],open:[{onOpenChange:0}]}]);function b(){"undefined"!=typeof customElements&&["co-command-search","co-avatar","co-chip","co-icon","co-kbd","co-loader","co-option-list","co-overlay","co-tooltip"].forEach((e=>{switch(e){case"co-command-search":customElements.get(a(e))||customElements.define(a(e),f);break;case"co-avatar":customElements.get(a(e))||r();break;case"co-chip":customElements.get(a(e))||i();break;case"co-icon":customElements.get(a(e))||n();break;case"co-kbd":customElements.get(a(e))||d();break;case"co-loader":customElements.get(a(e))||l();break;case"co-option-list":customElements.get(a(e))||h();break;case"co-overlay":customElements.get(a(e))||m();break;case"co-tooltip":customElements.get(a(e))||p()}}))}b();const u=f,g=b;export{u as CoCommandSearch,g as defineCustomElement}
1
+ import{t as a,p as e,H as o,c,h as t}from"./index.js";import{r as s}from"./p-Ba_v-MzM.js";import{d as r}from"./p-VcrjNCew.js";import{d as i}from"./p-C_6szR7t.js";import{d as n}from"./p-KK2vAKs-.js";import{d}from"./p-8XzG8pzY.js";import{d as h}from"./p-BH184F0X.js";import{d as l}from"./p-Cnfd6Zze.js";import{d as m}from"./p-wUXcJGdy.js";import{d as p}from"./p-9VoFSbIH.js";const f=e(class extends o{constructor(a){super(),!1!==a&&this.__registerHost(),this.__attachShadow(),this.coSelect=c(this,"coSelect",7),this.coClose=c(this,"coClose",7),this.coSearch=c(this,"coSearch",7),this.coScopeChange=c(this,"coScopeChange",1),this.coBackspaceEmpty=c(this,"coBackspaceEmpty",1),this.coChipRemove=c(this,"coChipRemove",1),this.coTabSelect=c(this,"coTabSelect",1),this.coMoreTabs=c(this,"coMoreTabs",1),this.open=!1,this.placeholder="Search...",this.items=[],this.emptyMessage="No results found",this.async=!1,this.loading=!1,this.chips="[]",this.tabs="[]",this.activeTab="",this.hasMore=!1,this.moreLabel="More",this.favorites="[]",this.query="",this.handleInput=a=>{this.query=a.target.value,this.coSearch.emit(this.query)},this.handleKeyDown=a=>{var e,o;if(function(a,e){return"Backspace"===a&&""===e}(a.key,this.query))return a.preventDefault(),void this.coBackspaceEmpty.emit(this.query);switch(a.key){case"ArrowDown":case"ArrowUp":case"Enter":a.preventDefault(),null===(e=this.optionListEl)||void 0===e||e.handleKey(a);break;case"Escape":a.preventDefault(),this.close();break;case"Tab":a.preventDefault(),null===(o=this.optionListEl)||void 0===o||o.handleKey(new KeyboardEvent("keydown",{key:a.shiftKey?"ArrowUp":"ArrowDown"}))}},this.handleListPick=a=>{const e=this.filteredItems.find((e=>e.value===a));e&&this.selectItem(e)},this.handlePanelKeyDown=a=>{"Escape"===a.key&&(a.preventDefault(),this.close())},this.handleOverlayClick=()=>{this.close()},this.handlePanelClick=a=>{a.stopPropagation()},this.handleTriggerClick=()=>{this.open=!0}}get parsedItems(){if("string"==typeof this.items)try{return JSON.parse(this.items)}catch(a){return[]}return this.items}get filteredItems(){return function(a,e,o){return o?a:e?s(a,e,(a=>[a.label,a.value])):a}(this.parsedItems,this.query,this.async)}get parsedChips(){try{const a="string"==typeof this.chips?JSON.parse(this.chips):this.chips;return Array.isArray(a)?a:[]}catch(a){return[]}}get parsedTabs(){try{const a="string"==typeof this.tabs?JSON.parse(this.tabs):this.tabs;return Array.isArray(a)?a:[]}catch(a){return[]}}get parsedFavorites(){try{const a="string"==typeof this.favorites?JSON.parse(this.favorites):this.favorites;return Array.isArray(a)?a:[]}catch(a){return[]}}onActiveTabChange(a){a&&(this.query=""),requestAnimationFrame((()=>{var a;const e=null===(a=this.el.shadowRoot)||void 0===a?void 0:a.querySelector('.co-command-search__tab[aria-selected="true"]');null==e||e.scrollIntoView({inline:"nearest",block:"nearest"})}))}onOpenChange(a){a&&(this.query="",requestAnimationFrame((()=>{var a;return null===(a=this.inputEl)||void 0===a?void 0:a.focus()})))}selectItem(a){!function(a){return!0===a.keepOpen}(a)?(this.coSelect.emit(a.value),this.close()):this.coScopeChange.emit(a.value)}close(){this.open&&(this.open=!1,this.coClose.emit())}render(){const a=this.filteredItems;return[t("div",{key:"37a7fa941fee9d90d58937fea9a968604e825daf",class:"co-command-search__trigger",onClick:this.handleTriggerClick},t("slot",{key:"23aff571c1cc19b36b1931a5c30d3d3c544eb9b8",name:"trigger"})),t("co-overlay",{key:"bc74cdb881e5005d12ae0e55f301507715303d63",open:this.open,onCoClose:this.handleOverlayClick},t("div",{key:"654ab29570bd313809b660cce6ba9f71c0730e57",class:{"co-command-search":!0,"co-command-search--open":this.open},part:"panel",role:"dialog","aria-modal":"true","aria-label":"Command palette",onClick:this.handlePanelClick,onKeyDown:this.handlePanelKeyDown},t("div",{key:"f62ae09d7384d180b4169e1f7c21d14c7f3ca0b3",class:"co-command-search__input-row",part:"input-row"},t("co-icon",{key:"800323c34524e72dd0255166e45528dcf273a642",name:"magnifying-glass",size:20}),this.parsedChips.map(((a,e)=>t("span",{class:"co-command-search__facet-chip"},a.icon&&t("co-icon",{name:a.icon,size:12}),t("span",{class:"co-command-search__facet-chip-label"},a.label),t("button",{class:"co-command-search__facet-chip-remove",type:"button","aria-label":"Remove filter "+a.label,onClick:a=>{a.stopPropagation(),this.coChipRemove.emit(e)}},t("co-icon",{name:"x",size:10,weight:"bold"}))))),t("input",{key:"5468e510b549c996e7208b691b846b2949b2870d",class:"co-command-search__input",type:"text",placeholder:this.placeholder,value:this.query,onInput:this.handleInput,onKeyDown:this.handleKeyDown,ref:a=>this.inputEl=a,part:"input",role:"combobox","aria-expanded":this.open?"true":"false","aria-autocomplete":"list"}),this.loading&&t("co-loader",{key:"300afe578342e795b968c01ec4a941b2fc07c25b",class:"co-command-search__loading",part:"loading",size:"sm"}),t("span",{key:"96c6c03f2330c1c4fbdecba635cc61aee1cef442",class:"co-command-search__shortcut"},"ESC")),(this.parsedTabs.length>0||this.hasMore)&&t("div",{key:"b05917311a4e65b98ed2e1db1c0cedb9f83bd5a2",class:"co-command-search__tabs",part:"tabs",role:"tablist"},this.parsedTabs.map((a=>{const e=a.value===this.activeTab;return t("co-chip",{class:"co-command-search__tab",role:"tab","aria-selected":e?"true":"false",clickable:!0,selected:e,variant:e?"filled":"outlined",color:e?"primary":"default",iconLeft:a.icon,label:a.label,onCoClick:()=>this.coTabSelect.emit(e?"":a.value)})})),this.hasMore&&t("co-chip",{key:"36c25c208b1e26394bd02a56dda55d5e0fd912fd",class:"co-command-search__tab co-command-search__tab--more",clickable:!0,variant:"outlined",label:this.moreLabel,iconRight:"caret-down",onCoClick:()=>this.coMoreTabs.emit()})),t("div",{key:"72497fec08f07fd6a91f62db10091d7d635eeab9",class:"co-command-search__results",part:"results"},this.parsedFavorites.length>0&&!this.query&&t("div",{key:"be18a43f0e3e5cc4c9ce0cbfacc90c7e5568017b",class:"co-command-search__fav",part:"favorites"},t("div",{key:"9c29628bb6ba66daf9253aa5d490f7dcc56e4b3b",class:"co-command-search__fav-grid"},this.parsedFavorites.map((a=>t("button",{class:"co-command-search__fav-card",type:"button",onClick:()=>this.coSelect.emit(a.value)},t("span",{class:"co-command-search__fav-icon",style:{background:a.color||"var(--co-semantic-surface-muted)"}},t("co-icon",{name:a.icon||"circle",size:26,weight:"fill"})),t("span",{class:"co-command-search__fav-label"},a.label)))))),t("co-option-list",{key:"ee50dd0d97743a7a85de59f8daf6e45e989a422d",ref:a=>this.optionListEl=a,items:JSON.stringify(a.map((a=>({_id:a.value,label:a.label,icon:a.icon,description:a.subtitle,group:a.section,disabled:a.disabled})))),autoHighlight:!0,highlightMatches:!0,highlightTerm:this.query,loading:this.loading,emptyMessage:this.emptyMessage,onCoChange:a=>this.handleListPick(a.detail.item._id)}))))]}get el(){return this}static get watchers(){return{activeTab:[{onActiveTabChange:0}],open:[{onOpenChange:0}]}}static get style(){return":host{display:contents}co-overlay{--co-overlay-bg:rgba(0, 0, 0, 0.16)}.co-command-search__trigger{display:contents}.co-command-search{display:flex;flex-direction:column;width:90vw;max-width:560px;max-height:420px;background:var(--co-semantic-surface-page);border-radius:var(--co-border-radius-lg);box-shadow:0 8px 32px rgba(0, 0, 0, 0.12);overflow:hidden;font-family:var(--co-font-family-primary);transform:translateY(8px) scale(0.98);opacity:0;transition:transform var(--co-motion-duration-fast) var(--co-motion-ease-out), opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);margin-top:-15vh}.co-command-search--open{transform:translateY(0) scale(1);opacity:1}.co-command-search__input-row{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-md) var(--co-spacing-lg);border-bottom:1px solid var(--co-semantic-border-default);color:var(--co-semantic-text-muted)}.co-command-search__input{flex:1;border:none;outline:none;background:transparent;font-size:var(--co-font-size-16);font-family:var(--co-font-family-primary);color:var(--co-semantic-text-default);min-width:0}.co-command-search__input::placeholder{color:var(--co-semantic-text-muted)}.co-command-search__shortcut{font-size:var(--co-font-size-10);color:var(--co-semantic-text-muted);background:var(--co-semantic-surface-muted);padding:2px var(--co-spacing-xs);border-radius:var(--co-border-radius-xxs);font-weight:500;line-height:1.4;flex-shrink:0}.co-command-search__results{flex:1;overflow-y:auto;padding:var(--co-spacing-xs) 0}.co-command-search__loading{flex-shrink:0;display:flex;align-items:center}.co-command-search__facet-chip{display:inline-flex;align-items:center;gap:2px;padding:2px var(--co-spacing-xs);background:var(--co-color-primary-azul);color:var(--co-color-base-blanco, #fff);border-radius:var(--co-border-radius-full);font-size:var(--co-font-size-12);font-weight:500;white-space:nowrap;flex-shrink:0}.co-command-search__facet-chip-label{max-width:110px;overflow:hidden;text-overflow:ellipsis}.co-command-search__facet-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;border-radius:var(--co-border-radius-full);background:rgba(255, 255, 255, 0.25);color:inherit;cursor:pointer;padding:0;line-height:1;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-command-search__facet-chip-remove:hover{background:rgba(255, 255, 255, 0.4)}.co-command-search__tabs{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-md);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-bottom:1px solid var(--co-semantic-border-default);scroll-padding-right:104px}.co-command-search__tabs::-webkit-scrollbar{display:none;}.co-command-search__tab{flex:0 0 auto}.co-command-search__tab--more{position:sticky;right:0;padding-left:var(--co-spacing-sm);background:var(--co-semantic-surface-page);box-shadow:-12px 0 10px -4px var(--co-semantic-surface-page)}.co-command-search__fav{padding:var(--co-spacing-sm) var(--co-spacing-lg) var(--co-spacing-md);border-bottom:1px solid var(--co-semantic-border-default)}.co-command-search__fav-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(88px, 1fr));gap:var(--co-spacing-xs)}.co-command-search__fav-card{display:flex;flex-direction:column;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-sm) var(--co-spacing-xs);background:transparent;border:none;border-radius:var(--co-border-radius-sm);cursor:pointer;font-family:inherit;text-align:center;min-width:0;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-command-search__fav-card:hover{background:var(--co-semantic-surface-hover)}.co-command-search__fav-card:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-command-search__fav-icon{flex:none;width:50px;height:50px;border-radius:var(--co-border-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--co-color-base-blanco, #fff);box-shadow:0 2px 6px rgba(0, 0, 0, 0.14)}.co-command-search__fav-label{font-size:var(--co-font-size-12);font-weight:500;line-height:1.2;color:var(--co-semantic-text-default);max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}"}},[257,"co-command-search",{open:[1540],placeholder:[1],items:[1],emptyMessage:[1,"empty-message"],async:[516],loading:[516],chips:[513],tabs:[1],activeTab:[1,"active-tab"],hasMore:[4,"has-more"],moreLabel:[1,"more-label"],favorites:[1],query:[32]},void 0,{activeTab:[{onActiveTabChange:0}],open:[{onOpenChange:0}]}]);function b(){"undefined"!=typeof customElements&&["co-command-search","co-avatar","co-chip","co-icon","co-kbd","co-loader","co-option-list","co-overlay","co-tooltip"].forEach((e=>{switch(e){case"co-command-search":customElements.get(a(e))||customElements.define(a(e),f);break;case"co-avatar":customElements.get(a(e))||r();break;case"co-chip":customElements.get(a(e))||i();break;case"co-icon":customElements.get(a(e))||n();break;case"co-kbd":customElements.get(a(e))||d();break;case"co-loader":customElements.get(a(e))||h();break;case"co-option-list":customElements.get(a(e))||l();break;case"co-overlay":customElements.get(a(e))||m();break;case"co-tooltip":customElements.get(a(e))||p()}}))}b();const u=f,g=b;export{u as CoCommandSearch,g as defineCustomElement}
@@ -1 +1 @@
1
- import{t,p as e,H as a,c as o,h as i}from"./index.js";import{d as s}from"./p-Hi57w2_2.js";import{d as c}from"./p-BRZci8B3.js";import{d as r}from"./p-KK2vAKs-.js";import{d as n}from"./p-8XzG8pzY.js";import{d as l}from"./p-9VoFSbIH.js";const d=e(class extends a{constructor(t){super(),!1!==t&&this.__registerHost(),this.coSort=o(this,"coSort",7),this.coRowSelect=o(this,"coRowSelect",7),this.coSelectAll=o(this,"coSelectAll",7),this.coColumnResize=o(this,"coColumnResize",7),this.coColumnPin=o(this,"coColumnPin",7),this.coHeaderFilter=o(this,"coHeaderFilter",7),this.coRowDblClick=o(this,"coRowDblClick",7),this.coRowClick=o(this,"coRowClick",7),this.coEmptyAction=o(this,"coEmptyAction",7),this.columns="[]",this.rows="[]",this.rowKey="_id",this.loading=!1,this.skeletonRows=10,this.emptyTitle="",this.emptyMessage="No records found",this.emptyIcon="magnifying-glass",this.emptyActionVariant="stroke",this.sortField="",this.sortOrder="",this.filteredFields="[]",this.indirectFilteredFields="[]",this.selectable=!1,this.selectedKeys="[]",this.resizable=!0,this.parsedColumns=[],this.parsedRows=[],this.parsedSelectedKeys=new Set,this.parsedFilteredFields=[],this.parsedIndirectFields=[],this.columnWidths=new Map,this.headerMeasurePending=!1,this.resizingColumn=null,this.resizeStartX=0,this.resizeStartWidth=0,this.resizeEdgeExtra=0,this.resizeLastClientX=0,this.resizeAutoScrollRaf=0,this.resizePendingScroll=0,this.suppressNextSort=!1}parseColumns(){this.headerMeasurePending=!0;try{const t="string"==typeof this.columns?JSON.parse(this.columns):this.columns;this.parsedColumns=t,t.forEach((t=>{t.width&&!this.columnWidths.has(t.field)&&this.columnWidths.set(t.field,t.width)}))}catch(t){this.parsedColumns=[]}}parseRows(){try{this.parsedRows="string"==typeof this.rows?JSON.parse(this.rows):this.rows}catch(t){this.parsedRows=[]}}parseSelectedKeys(){try{const t="string"==typeof this.selectedKeys?JSON.parse(this.selectedKeys):this.selectedKeys;this.parsedSelectedKeys=new Set(t)}catch(t){this.parsedSelectedKeys=new Set}}parseFilteredFields(){try{this.parsedFilteredFields="string"==typeof this.filteredFields?JSON.parse(this.filteredFields):this.filteredFields||[]}catch(t){this.parsedFilteredFields=[]}}parseIndirectFields(){try{this.parsedIndirectFields="string"==typeof this.indirectFilteredFields?JSON.parse(this.indirectFilteredFields):this.indirectFilteredFields||[]}catch(t){this.parsedIndirectFields=[]}}componentWillLoad(){this.headerLabelEls=new Map,this.truncatedHeaders={},this.parseColumns(),this.parseRows(),this.parseSelectedKeys(),this.parseFilteredFields(),this.parseIndirectFields()}componentDidLoad(){"undefined"!=typeof ResizeObserver&&(this.headerResizeObserver=new ResizeObserver((()=>this.measureHeaderTruncation())),this.headerLabelEls.forEach((t=>this.headerResizeObserver.observe(t)))),this.measureHeaderTruncation()}disconnectedCallback(){var t;null===(t=this.headerResizeObserver)||void 0===t||t.disconnect(),this.headerResizeObserver=void 0}componentDidRender(){if(this.headerMeasurePending&&(this.headerMeasurePending=!1,this.measureHeaderTruncation()),this.resizePendingScroll){const t=this.el.querySelector(".co-data-table__scroll");t&&(t.scrollLeft+=this.resizePendingScroll),this.resizePendingScroll=0}}handleSort(t){if(this.suppressNextSort)return void(this.suppressNextSort=!1);let e;e=this.sortField===t?"asc"===this.sortOrder?"desc":"desc"===this.sortOrder?"":"asc":"asc",this.sortField=""===e?"":t,this.sortOrder=e,this.coSort.emit({field:t,order:e})}isAllSelected(){return 0!==this.parsedRows.length&&this.parsedRows.every((t=>this.parsedSelectedKeys.has(t[this.rowKey]+"")))}isSomeSelected(){if(0===this.parsedRows.length)return!1;const t=this.parsedRows.filter((t=>this.parsedSelectedKeys.has(t[this.rowKey]+""))).length;return t>0&&t<this.parsedRows.length}handleSelectAll(){const t=!this.isAllSelected()&&!this.isSomeSelected();this.coSelectAll.emit({selected:!this.isAllSelected()||t})}handleRowSelect(t){const e=t[this.rowKey]+"",a=!this.parsedSelectedKeys.has(e);this.coRowSelect.emit({key:e,selected:a})}handleResizeStart(t,e){e.preventDefault(),e.stopPropagation(),this.resizingColumn=t,this.resizeStartX=e.clientX,this.resizeStartWidth=this.columnWidths.get(t)||150,this.resizeEdgeExtra=0,this.resizeLastClientX=e.clientX;const a=this.el.querySelector(".co-data-table__scroll"),o=()=>{var t;return(null===(t=this.parsedColumns.find((t=>t.field===this.resizingColumn)))||void 0===t?void 0:t.minWidth)||80},i=()=>{const t=this.resizingColumn;if(!t)return 0;const e=function({startWidth:t,minWidth:e,pointerDelta:a,autoScrollExtra:o}){return Math.max(e,t+a+o)}({startWidth:this.resizeStartWidth,minWidth:o(),pointerDelta:this.resizeLastClientX-this.resizeStartX,autoScrollExtra:this.resizeEdgeExtra});return this.columnWidths=new Map(this.columnWidths.set(t,e)),e},s=()=>{this.resizeAutoScrollRaf=0;const t=this.resizingColumn;if(!t||!a)return;const e=a.getBoundingClientRect(),c=function({pointerX:t,containerLeft:e,containerRight:a,edgeZone:o=72,maxSpeed:i=24}){const s=a-e;if(s<=0)return 0;const c=Math.min(o,s/3),r=a-c;if(t>r)return Math.min(i,(t-r)/c*i);const n=e+c;return t<n?-Math.min(i,(n-t)/c*i):0}({pointerX:this.resizeLastClientX,containerLeft:e.left,containerRight:e.right});c&&(c<0&&(this.columnWidths.get(t)||this.resizeStartWidth)<=o()||(this.resizeEdgeExtra+=c,this.resizePendingScroll+=c,i(),this.resizeAutoScrollRaf=requestAnimationFrame(s)))},c=t=>{this.resizingColumn&&(this.resizeLastClientX=t.clientX,i(),this.resizeAutoScrollRaf||(this.resizeAutoScrollRaf=requestAnimationFrame(s)))},r=()=>{if(this.resizeAutoScrollRaf&&(cancelAnimationFrame(this.resizeAutoScrollRaf),this.resizeAutoScrollRaf=0),this.resizingColumn){const t=this.columnWidths.get(this.resizingColumn)||150;this.coColumnResize.emit({field:this.resizingColumn,width:t}),this.suppressNextSort=!0}this.resizingColumn=null,document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",r)}handleRowClick(t,e){this.coRowClick.emit({row:t,index:e})}handleRowDblClick(t,e){this.coRowDblClick.emit({row:t,index:e})}measureHeaderTruncation(){const t=function(t,e){let a=Object.keys(t).some((t=>!e.has(t)));const o={};return e.forEach(((e,i)=>{const s=function(t){return!!t&&t.scrollWidth>t.clientWidth+1}(e);o[i]=s,!!t[i]!==s&&(a=!0)})),a?o:t}(this.truncatedHeaders,this.headerLabelEls);t!==this.truncatedHeaders&&(this.truncatedHeaders=t)}registerHeaderLabel(t,e){var a,o,i;const s=this.headerLabelEls.get(t);if(e){if(s===e)return;s&&(null===(a=this.headerResizeObserver)||void 0===a||a.unobserve(s)),this.headerLabelEls.set(t,e),null===(o=this.headerResizeObserver)||void 0===o||o.observe(e)}else s&&(null===(i=this.headerResizeObserver)||void 0===i||i.unobserve(s),this.headerLabelEls.delete(t))}handleColumnPin(t,e){e.stopPropagation(),this.coColumnPin.emit({field:t})}handleColumnFilter(t,e){e.stopPropagation();const a=e.currentTarget.getBoundingClientRect();this.coHeaderFilter.emit({field:t,rect:{top:a.top,left:a.left,bottom:a.bottom,right:a.right,width:a.width,height:a.height}})}formatCellValue(t){if(null==t)return"";if("boolean"==typeof t)return t?"Yes":"No";if("string"==typeof t){if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/.test(t))try{const e=new Date(t);if(!isNaN(e.getTime()))return e.toLocaleDateString("es",{year:"numeric",month:"short",day:"numeric"})+" "+e.toLocaleTimeString("es",{hour:"2-digit",minute:"2-digit"})}catch(t){}return t}return"number"==typeof t?t+"":Array.isArray(t)?t.map((t=>this.formatCellValue(t))).join(", "):"object"==typeof t?t.firstName||t.lastName?[t.firstName,t.lastName].filter(Boolean).join(" "):t.name?t.name+"":t.title?t.title+"":t.label?t.label+"":t.stageName?t.stageName+"":t.companyName?t.companyName+"":t.dealName?t.dealName+"":t._id&&Object.keys(t).length<=3?t._id+"":JSON.stringify(t):t+""}getColumnStyle(t){return Object.assign({},t.sticky?{left:this.selectable?"48px":"0px"}:{})}getColumnWidth(t){return this.columnWidths.get(t.field)||t.width||t.minWidth||150}getTableWidth(){let t=this.selectable?48:0;for(const e of this.parsedColumns)t+=this.getColumnWidth(e);return t}renderColgroup(){return i("colgroup",null,this.selectable&&i("col",{style:{width:"48px"}}),this.parsedColumns.map((t=>i("col",{style:{width:this.getColumnWidth(t)+"px",minWidth:(t.minWidth||80)+"px"}}))))}renderSortIcon(t){if(!t.sortable)return null;const e=this.sortField===t.field&&""!==this.sortOrder;return i("span",{class:{"co-data-table__sort-icon":!0,"co-data-table__sort-icon--active":e}},i("co-icon",{name:e?"asc"===this.sortOrder?"caret-up":"caret-down":"caret-up-down",size:16,weight:e?"fill":"regular"}))}renderHeader(){return i("thead",{class:"co-data-table__head"},i("tr",{class:"co-data-table__header-row"},this.selectable&&i("th",{class:"co-data-table__th co-data-table__th--checkbox co-data-table__th--sticky",style:{left:"0px"}},i("co-checkbox",{size:"small",checked:this.isAllSelected(),indeterminate:this.isSomeSelected(),onCoChange:()=>this.handleSelectAll()})),this.parsedColumns.map(((t,e)=>i("th",{class:{"co-data-table__th":!0,"co-data-table__th--sticky":!!t.sticky,"co-data-table__th--sortable":!!t.sortable,"co-data-table__th--sorted":this.sortField===t.field,["co-data-table__th--align-"+(t.align||"left")]:!0},style:this.getColumnStyle(t),"aria-sort":t.sortable&&this.sortField===t.field&&""!==this.sortOrder?"asc"===this.sortOrder?"ascending":"descending":void 0},i("span",{class:"co-data-table__th-content"},i("span",{class:{"co-data-table__pin-icon":!0,"co-data-table__pin-icon--active":!!t.sticky},title:t.sticky?"Unpin column":"Pin column",onClick:e=>this.handleColumnPin(t.field,e)},i("co-icon",{name:"push-pin",size:14,weight:t.sticky?"fill":"regular"})),t.sortable?i("button",{type:"button",class:"co-data-table__sort-button","aria-label":"Sort by "+t.label,onClick:()=>this.handleSort(t.field)},i("co-tooltip",{block:!0,class:"co-data-table__th-tip",content:t.label,placement:"top",disabled:!this.truncatedHeaders[t.field]},i("span",{class:"co-data-table__th-label",ref:e=>this.registerHeaderLabel(t.field,e)},t.label)),this.renderSortIcon(t)):i("co-tooltip",{block:!0,class:"co-data-table__th-tip",content:t.label,placement:"top",disabled:!this.truncatedHeaders[t.field]},i("span",{class:"co-data-table__th-label",ref:e=>this.registerHeaderLabel(t.field,e)},t.label)),t.filterable&&i("span",{class:{"co-data-table__filter-icon":!0,"co-data-table__filter-icon--active":this.parsedFilteredFields.includes(t.field),"co-data-table__filter-icon--indirect":!this.parsedFilteredFields.includes(t.field)&&this.parsedIndirectFields.includes(t.field)},title:this.parsedFilteredFields.includes(t.field)?"Edit column filter":this.parsedIndirectFields.includes(t.field)?"Filtered by other filters":"Filter column",onClick:e=>this.handleColumnFilter(t.field,e)},i("co-icon",{name:"funnel",size:14,weight:this.parsedFilteredFields.includes(t.field)?"fill":"regular"}))),this.resizable&&e<this.parsedColumns.length-1&&i("span",{class:{"co-data-table__resize-handle":!0,"co-data-table__resize-handle--active":this.resizingColumn===t.field},onMouseDown:e=>this.handleResizeStart(t.field,e),onClick:t=>t.stopPropagation()}))))))}renderSkeletonBody(){return i("tbody",{class:"co-data-table__body co-data-table__body--skeleton","aria-hidden":"true"},Array.from({length:this.skeletonRows}).map(((t,e)=>i("tr",{class:"co-data-table__row co-data-table__row--skeleton",key:"skeleton-"+e},this.selectable&&i("td",{class:"co-data-table__td co-data-table__td--checkbox co-data-table__td--sticky",style:{left:"0px"}},i("div",{class:"co-data-table__skeleton co-data-table__skeleton--checkbox"})),this.parsedColumns.map((t=>i("td",{class:{"co-data-table__td":!0,"co-data-table__td--sticky":!!t.sticky},style:Object.assign({},this.getColumnStyle(t))},i("div",{class:"co-data-table__skeleton"}))))))))}renderEmpty(){return this.loading||this.parsedRows.length>0?null:i("div",{class:"co-data-table__empty",part:"empty"},i("div",{class:"co-data-table__empty-icon"},i("co-icon",{name:this.emptyIcon,size:32,weight:"regular"})),this.emptyTitle&&i("h3",{class:"co-data-table__empty-title"},this.emptyTitle),this.emptyMessage&&i("p",{class:"co-data-table__empty-message"},this.emptyMessage),i("div",{class:"co-data-table__empty-action"},this.emptyActionLabel?i("co-button",{variant:this.emptyActionVariant,size:"m",label:this.emptyActionLabel,iconLeft:this.emptyActionIcon,onClick:()=>this.coEmptyAction.emit()}):i("slot",{name:"empty-action"})))}render(){return i("div",{key:"db627f32da540ce37e30ef6411c29ffc7be6b7fb",class:{"co-data-table":!0,"co-data-table--resizing":null!==this.resizingColumn,"co-data-table--loading":this.loading,"co-data-table--empty":!this.loading&&0===this.parsedRows.length}},i("div",{key:"03c1c7eb194c077716535a73b753db1b1c7ea49f",class:"co-data-table__scroll"},i("table",{key:"6401d8f51d991e434b6798ffa800ec05521408bd",class:"co-data-table__table",style:{width:this.getTableWidth()+"px",minWidth:"100%"}},this.renderColgroup(),this.renderHeader(),i("slot",{key:"ddc92d612b45877c558d2ad8dd567c1ea12d76ef"}),this.loading?this.renderSkeletonBody():null)),this.renderEmpty())}get el(){return this}static get watchers(){return{columns:[{parseColumns:0}],rows:[{parseRows:0}],selectedKeys:[{parseSelectedKeys:0}],filteredFields:[{parseFilteredFields:0}],indirectFilteredFields:[{parseIndirectFields:0}]}}static get style(){return"co-data-table{display:block;flex:1;min-height:0;overflow:hidden;contain:layout}.co-data-table{position:relative;font-family:var(--co-font-family-primary);background:var(--co-color-base-blanco);display:flex;flex-direction:column;height:100%}.co-data-table--resizing{cursor:col-resize;user-select:none}.co-data-table__scroll{flex:1;overflow-x:auto;overflow-y:auto;min-height:0}.co-data-table__table{min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.co-data-table__head{position:sticky;top:0;z-index:2}.co-data-table__header-row{height:40px}.co-data-table__th{position:relative;height:40px;padding:0 var(--co-spacing-md);background:var(--co-color-base-blanco);border-bottom:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);border-right:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);text-align:left;vertical-align:middle;font-size:var(--co-font-size-14);font-weight:500;color:var(--co-semantic-text-default);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;overflow:hidden;box-sizing:border-box}.co-data-table__th:last-child{border-right:none}.co-data-table__th--sortable{cursor:pointer}.co-data-table__th--sortable:hover{background-image:linear-gradient(var(--co-semantic-surface-hover), var(--co-semantic-surface-hover))}.co-data-table__th-content{display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-sm)}.co-data-table__pin-icon{display:flex;align-items:center;flex-shrink:0;color:var(--co-color-gray-300);cursor:pointer;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__pin-icon--active{opacity:1;color:var(--co-semantic-text-default)}.co-data-table__th:hover .co-data-table__pin-icon{opacity:1}.co-data-table__pin-icon:hover{color:var(--co-semantic-text-default)}.co-data-table__filter-icon{display:flex;align-items:center;flex-shrink:0;color:var(--co-color-gray-300);cursor:pointer;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__th:hover .co-data-table__filter-icon{opacity:1}.co-data-table__filter-icon:hover{color:var(--co-semantic-text-default)}.co-data-table__filter-icon--active{opacity:1;color:var(--co-color-primary-azul)}.co-data-table__filter-icon--indirect{opacity:0.45;color:var(--co-semantic-text-muted)}.co-data-table__th-tip{flex:1;min-width:0}.co-data-table__th-label{display:block;overflow:hidden;text-overflow:ellipsis}.co-data-table__sort-icon{display:flex;align-items:center;flex-shrink:0;color:var(--co-color-gray-400);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__sort-icon--active{color:var(--co-semantic-text-default)}.co-data-table__sort-button{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-sm);background:transparent;border:0;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.co-data-table__sort-button:focus-visible{outline:2px solid var(--co-semantic-border-focus, var(--co-color-primary-azul));outline-offset:-2px;border-radius:var(--co-border-radius-xxs)}.co-data-table__th--checkbox,.co-data-table__td--checkbox{width:48px;min-width:48px;max-width:48px;padding:0 var(--co-spacing-md);text-align:center;line-height:0;}.co-data-table__th.co-data-table__th--checkbox,.co-data-table__td.co-data-table__td--checkbox{border-right:none}.co-data-table__th--sticky,.co-data-table__td--sticky{position:sticky;z-index:1;background:var(--co-color-base-blanco)}.co-data-table__th--sticky{z-index:3}.co-data-table__th.co-data-table__th--sticky,.co-data-table__td.co-data-table__td--sticky{overflow:visible}.co-data-table__td--sticky::after,.co-data-table__th--sticky::after{content:'';position:absolute;top:0;right:-4px;bottom:0;width:4px;pointer-events:none;opacity:0;background:linear-gradient(to right, var(--co-color-opacity-negro-8), transparent);transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__td--sticky::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-color:var(--co-semantic-surface-hover);opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), background-color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__row:hover .co-data-table__td--sticky::before{opacity:1}.co-data-table__row--selected .co-data-table__td--sticky::before{opacity:1;background-color:var(--co-color-opacity-negro-4)}.co-data-table__row--selected:hover .co-data-table__td--sticky::before{background-color:var(--co-color-opacity-negro-8)}.co-data-table__resize-handle{position:absolute;top:0;right:-2px;width:5px;height:100%;cursor:col-resize;z-index:1}.co-data-table__resize-handle:hover{background:var(--co-color-primary-azul);opacity:0.3}.co-data-table__resize-handle--active{background:var(--co-color-primary-azul);opacity:0.3}.co-data-table__row{height:48px;transition:background-color var(--co-motion-duration-fast) var(--co-motion-ease-out);content-visibility:auto;contain-intrinsic-size:auto 48px}.co-data-table__row:hover{background:var(--co-semantic-surface-hover)}.co-data-table__row--selected{background:var(--co-color-opacity-negro-4)}.co-data-table__row--selected:hover{background:var(--co-color-opacity-negro-8)}.co-data-table__td{height:48px;padding:0 var(--co-spacing-md);background:transparent;border-bottom:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);border-right:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);vertical-align:middle;font-size:var(--co-font-size-12);font-weight:var(--co-font-weight-medium);color:var(--co-semantic-text-default);letter-spacing:var(--co-font-letter-spacing-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.co-data-table__td:last-child{border-right:none}.co-data-table__th--align-center,.co-data-table__td--align-center{text-align:center}.co-data-table__th--align-right,.co-data-table__td--align-right{text-align:right}.co-data-table__cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.co-data-table--empty .co-data-table__scroll{flex:0 0 auto;overflow:hidden}.co-data-table__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;min-height:280px;padding:var(--co-spacing-3xl) var(--co-spacing-lg);gap:var(--co-spacing-lg) }.co-data-table__empty-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-muted);color:var(--co-semantic-text-secondary);margin-bottom:var(--co-spacing-sm)}.co-data-table__empty-title{font-size:var(--co-font-size-24);font-weight:var(--co-font-weight-medium, 500);line-height:1.25;color:var(--co-semantic-text-default);letter-spacing:-0.03em}.co-data-table__empty-message{font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-secondary);margin:0;max-width:538px ;line-height:1.25}.co-data-table__empty-action{margin-top:var(--co-spacing-md);display:inline-flex}.co-data-table__empty-action:empty{display:none}.co-data-table__skeleton{height:14px;border-radius:var(--co-border-radius-xxs);background:linear-gradient( 90deg, var(--co-semantic-surface-secondary) 0%, var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.04)) 50%, var(--co-semantic-surface-secondary) 100% );background-size:200% 100%;animation:co-dt-shimmer 1.2s ease-in-out infinite;width:70%}.co-data-table__skeleton--checkbox{width:16px;height:16px;margin:0 auto}@keyframes co-dt-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.co-data-table__skeleton{animation:none}}.co-data-table__row--skeleton{pointer-events:none;content-visibility:visible}.co-data-table__row--flash-create{animation:co-dt-flash-create 1s ease-out}.co-data-table__row--flash-update{animation:co-dt-flash-update 1s ease-out}.co-data-table__row--flash-delete{animation:co-dt-flash-delete 0.5s ease-out forwards}@keyframes co-dt-flash-create{0%{background-color:rgba(2, 162, 112, 0.15)}100%{background-color:transparent}}@keyframes co-dt-flash-update{0%{background-color:rgba(37, 99, 235, 0.15)}100%{background-color:transparent}}@keyframes co-dt-flash-delete{0%{opacity:1;background-color:rgba(170, 46, 27, 0.1)}100%{opacity:0;height:0;padding:0;overflow:hidden}}"}},[260,"co-data-table",{columns:[1],rows:[1],rowKey:[1,"row-key"],loading:[4],skeletonRows:[2,"skeleton-rows"],emptyTitle:[1,"empty-title"],emptyMessage:[1,"empty-message"],emptyIcon:[1,"empty-icon"],emptyActionLabel:[1,"empty-action-label"],emptyActionVariant:[1,"empty-action-variant"],emptyActionIcon:[1,"empty-action-icon"],sortField:[1537,"sort-field"],sortOrder:[1537,"sort-order"],filteredFields:[513,"filtered-fields"],indirectFilteredFields:[513,"indirect-filtered-fields"],selectable:[4],selectedKeys:[1025,"selected-keys"],resizable:[4],parsedColumns:[32],parsedRows:[32],parsedSelectedKeys:[32],parsedFilteredFields:[32],parsedIndirectFields:[32],columnWidths:[32],truncatedHeaders:[32],resizingColumn:[32],resizeStartX:[32],resizeStartWidth:[32]},void 0,{columns:[{parseColumns:0}],rows:[{parseRows:0}],selectedKeys:[{parseSelectedKeys:0}],filteredFields:[{parseFilteredFields:0}],indirectFilteredFields:[{parseIndirectFields:0}]}]);function h(){"undefined"!=typeof customElements&&["co-data-table","co-button","co-checkbox","co-icon","co-kbd","co-tooltip"].forEach((e=>{switch(e){case"co-data-table":customElements.get(t(e))||customElements.define(t(e),d);break;case"co-button":customElements.get(t(e))||s();break;case"co-checkbox":customElements.get(t(e))||c();break;case"co-icon":customElements.get(t(e))||r();break;case"co-kbd":customElements.get(t(e))||n();break;case"co-tooltip":customElements.get(t(e))||l()}}))}h();const b=d,p=h;export{b as CoDataTable,p as defineCustomElement}
1
+ import{t,p as e,H as a,c as o,h as i}from"./index.js";import{d as s}from"./p-DhPxNA2f.js";import{d as c}from"./p-BRZci8B3.js";import{d as r}from"./p-KK2vAKs-.js";import{d as n}from"./p-8XzG8pzY.js";import{d as l}from"./p-9VoFSbIH.js";const d=e(class extends a{constructor(t){super(),!1!==t&&this.__registerHost(),this.coSort=o(this,"coSort",7),this.coRowSelect=o(this,"coRowSelect",7),this.coSelectAll=o(this,"coSelectAll",7),this.coColumnResize=o(this,"coColumnResize",7),this.coColumnPin=o(this,"coColumnPin",7),this.coHeaderFilter=o(this,"coHeaderFilter",7),this.coRowDblClick=o(this,"coRowDblClick",7),this.coRowClick=o(this,"coRowClick",7),this.coEmptyAction=o(this,"coEmptyAction",7),this.columns="[]",this.rows="[]",this.rowKey="_id",this.loading=!1,this.skeletonRows=10,this.emptyTitle="",this.emptyMessage="No records found",this.emptyIcon="magnifying-glass",this.emptyActionVariant="stroke",this.sortField="",this.sortOrder="",this.filteredFields="[]",this.indirectFilteredFields="[]",this.selectable=!1,this.selectedKeys="[]",this.resizable=!0,this.parsedColumns=[],this.parsedRows=[],this.parsedSelectedKeys=new Set,this.parsedFilteredFields=[],this.parsedIndirectFields=[],this.columnWidths=new Map,this.headerMeasurePending=!1,this.resizingColumn=null,this.resizeStartX=0,this.resizeStartWidth=0,this.resizeEdgeExtra=0,this.resizeLastClientX=0,this.resizeAutoScrollRaf=0,this.resizePendingScroll=0,this.suppressNextSort=!1}parseColumns(){this.headerMeasurePending=!0;try{const t="string"==typeof this.columns?JSON.parse(this.columns):this.columns;this.parsedColumns=t,t.forEach((t=>{t.width&&!this.columnWidths.has(t.field)&&this.columnWidths.set(t.field,t.width)}))}catch(t){this.parsedColumns=[]}}parseRows(){try{this.parsedRows="string"==typeof this.rows?JSON.parse(this.rows):this.rows}catch(t){this.parsedRows=[]}}parseSelectedKeys(){try{const t="string"==typeof this.selectedKeys?JSON.parse(this.selectedKeys):this.selectedKeys;this.parsedSelectedKeys=new Set(t)}catch(t){this.parsedSelectedKeys=new Set}}parseFilteredFields(){try{this.parsedFilteredFields="string"==typeof this.filteredFields?JSON.parse(this.filteredFields):this.filteredFields||[]}catch(t){this.parsedFilteredFields=[]}}parseIndirectFields(){try{this.parsedIndirectFields="string"==typeof this.indirectFilteredFields?JSON.parse(this.indirectFilteredFields):this.indirectFilteredFields||[]}catch(t){this.parsedIndirectFields=[]}}componentWillLoad(){this.headerLabelEls=new Map,this.truncatedHeaders={},this.parseColumns(),this.parseRows(),this.parseSelectedKeys(),this.parseFilteredFields(),this.parseIndirectFields()}componentDidLoad(){"undefined"!=typeof ResizeObserver&&(this.headerResizeObserver=new ResizeObserver((()=>this.measureHeaderTruncation())),this.headerLabelEls.forEach((t=>this.headerResizeObserver.observe(t)))),this.measureHeaderTruncation()}disconnectedCallback(){var t;null===(t=this.headerResizeObserver)||void 0===t||t.disconnect(),this.headerResizeObserver=void 0}componentDidRender(){if(this.headerMeasurePending&&(this.headerMeasurePending=!1,this.measureHeaderTruncation()),this.resizePendingScroll){const t=this.el.querySelector(".co-data-table__scroll");t&&(t.scrollLeft+=this.resizePendingScroll),this.resizePendingScroll=0}}handleSort(t){if(this.suppressNextSort)return void(this.suppressNextSort=!1);let e;e=this.sortField===t?"asc"===this.sortOrder?"desc":"desc"===this.sortOrder?"":"asc":"asc",this.sortField=""===e?"":t,this.sortOrder=e,this.coSort.emit({field:t,order:e})}isAllSelected(){return 0!==this.parsedRows.length&&this.parsedRows.every((t=>this.parsedSelectedKeys.has(t[this.rowKey]+"")))}isSomeSelected(){if(0===this.parsedRows.length)return!1;const t=this.parsedRows.filter((t=>this.parsedSelectedKeys.has(t[this.rowKey]+""))).length;return t>0&&t<this.parsedRows.length}handleSelectAll(){const t=!this.isAllSelected()&&!this.isSomeSelected();this.coSelectAll.emit({selected:!this.isAllSelected()||t})}handleRowSelect(t){const e=t[this.rowKey]+"",a=!this.parsedSelectedKeys.has(e);this.coRowSelect.emit({key:e,selected:a})}handleResizeStart(t,e){e.preventDefault(),e.stopPropagation(),this.resizingColumn=t,this.resizeStartX=e.clientX,this.resizeStartWidth=this.columnWidths.get(t)||150,this.resizeEdgeExtra=0,this.resizeLastClientX=e.clientX;const a=this.el.querySelector(".co-data-table__scroll"),o=()=>{var t;return(null===(t=this.parsedColumns.find((t=>t.field===this.resizingColumn)))||void 0===t?void 0:t.minWidth)||80},i=()=>{const t=this.resizingColumn;if(!t)return 0;const e=function({startWidth:t,minWidth:e,pointerDelta:a,autoScrollExtra:o}){return Math.max(e,t+a+o)}({startWidth:this.resizeStartWidth,minWidth:o(),pointerDelta:this.resizeLastClientX-this.resizeStartX,autoScrollExtra:this.resizeEdgeExtra});return this.columnWidths=new Map(this.columnWidths.set(t,e)),e},s=()=>{this.resizeAutoScrollRaf=0;const t=this.resizingColumn;if(!t||!a)return;const e=a.getBoundingClientRect(),c=function({pointerX:t,containerLeft:e,containerRight:a,edgeZone:o=72,maxSpeed:i=24}){const s=a-e;if(s<=0)return 0;const c=Math.min(o,s/3),r=a-c;if(t>r)return Math.min(i,(t-r)/c*i);const n=e+c;return t<n?-Math.min(i,(n-t)/c*i):0}({pointerX:this.resizeLastClientX,containerLeft:e.left,containerRight:e.right});c&&(c<0&&(this.columnWidths.get(t)||this.resizeStartWidth)<=o()||(this.resizeEdgeExtra+=c,this.resizePendingScroll+=c,i(),this.resizeAutoScrollRaf=requestAnimationFrame(s)))},c=t=>{this.resizingColumn&&(this.resizeLastClientX=t.clientX,i(),this.resizeAutoScrollRaf||(this.resizeAutoScrollRaf=requestAnimationFrame(s)))},r=()=>{if(this.resizeAutoScrollRaf&&(cancelAnimationFrame(this.resizeAutoScrollRaf),this.resizeAutoScrollRaf=0),this.resizingColumn){const t=this.columnWidths.get(this.resizingColumn)||150;this.coColumnResize.emit({field:this.resizingColumn,width:t}),this.suppressNextSort=!0}this.resizingColumn=null,document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",r)}handleRowClick(t,e){this.coRowClick.emit({row:t,index:e})}handleRowDblClick(t,e){this.coRowDblClick.emit({row:t,index:e})}measureHeaderTruncation(){const t=function(t,e){let a=Object.keys(t).some((t=>!e.has(t)));const o={};return e.forEach(((e,i)=>{const s=function(t){return!!t&&t.scrollWidth>t.clientWidth+1}(e);o[i]=s,!!t[i]!==s&&(a=!0)})),a?o:t}(this.truncatedHeaders,this.headerLabelEls);t!==this.truncatedHeaders&&(this.truncatedHeaders=t)}registerHeaderLabel(t,e){var a,o,i;const s=this.headerLabelEls.get(t);if(e){if(s===e)return;s&&(null===(a=this.headerResizeObserver)||void 0===a||a.unobserve(s)),this.headerLabelEls.set(t,e),null===(o=this.headerResizeObserver)||void 0===o||o.observe(e)}else s&&(null===(i=this.headerResizeObserver)||void 0===i||i.unobserve(s),this.headerLabelEls.delete(t))}handleColumnPin(t,e){e.stopPropagation(),this.coColumnPin.emit({field:t})}handleColumnFilter(t,e){e.stopPropagation();const a=e.currentTarget.getBoundingClientRect();this.coHeaderFilter.emit({field:t,rect:{top:a.top,left:a.left,bottom:a.bottom,right:a.right,width:a.width,height:a.height}})}formatCellValue(t){if(null==t)return"";if("boolean"==typeof t)return t?"Yes":"No";if("string"==typeof t){if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/.test(t))try{const e=new Date(t);if(!isNaN(e.getTime()))return e.toLocaleDateString("es",{year:"numeric",month:"short",day:"numeric"})+" "+e.toLocaleTimeString("es",{hour:"2-digit",minute:"2-digit"})}catch(t){}return t}return"number"==typeof t?t+"":Array.isArray(t)?t.map((t=>this.formatCellValue(t))).join(", "):"object"==typeof t?t.firstName||t.lastName?[t.firstName,t.lastName].filter(Boolean).join(" "):t.name?t.name+"":t.title?t.title+"":t.label?t.label+"":t.stageName?t.stageName+"":t.companyName?t.companyName+"":t.dealName?t.dealName+"":t._id&&Object.keys(t).length<=3?t._id+"":JSON.stringify(t):t+""}getColumnStyle(t){return Object.assign({},t.sticky?{left:this.selectable?"48px":"0px"}:{})}getColumnWidth(t){return this.columnWidths.get(t.field)||t.width||t.minWidth||150}getTableWidth(){let t=this.selectable?48:0;for(const e of this.parsedColumns)t+=this.getColumnWidth(e);return t}renderColgroup(){return i("colgroup",null,this.selectable&&i("col",{style:{width:"48px"}}),this.parsedColumns.map((t=>i("col",{style:{width:this.getColumnWidth(t)+"px",minWidth:(t.minWidth||80)+"px"}}))))}renderSortIcon(t){if(!t.sortable)return null;const e=this.sortField===t.field&&""!==this.sortOrder;return i("span",{class:{"co-data-table__sort-icon":!0,"co-data-table__sort-icon--active":e}},i("co-icon",{name:e?"asc"===this.sortOrder?"caret-up":"caret-down":"caret-up-down",size:16,weight:e?"fill":"regular"}))}renderHeader(){return i("thead",{class:"co-data-table__head"},i("tr",{class:"co-data-table__header-row"},this.selectable&&i("th",{class:"co-data-table__th co-data-table__th--checkbox co-data-table__th--sticky",style:{left:"0px"}},i("co-checkbox",{size:"small",checked:this.isAllSelected(),indeterminate:this.isSomeSelected(),onCoChange:()=>this.handleSelectAll()})),this.parsedColumns.map(((t,e)=>i("th",{class:{"co-data-table__th":!0,"co-data-table__th--sticky":!!t.sticky,"co-data-table__th--sortable":!!t.sortable,"co-data-table__th--sorted":this.sortField===t.field,["co-data-table__th--align-"+(t.align||"left")]:!0},style:this.getColumnStyle(t),"aria-sort":t.sortable&&this.sortField===t.field&&""!==this.sortOrder?"asc"===this.sortOrder?"ascending":"descending":void 0},i("span",{class:"co-data-table__th-content"},i("span",{class:{"co-data-table__pin-icon":!0,"co-data-table__pin-icon--active":!!t.sticky},title:t.sticky?"Unpin column":"Pin column",onClick:e=>this.handleColumnPin(t.field,e)},i("co-icon",{name:"push-pin",size:14,weight:t.sticky?"fill":"regular"})),t.sortable?i("button",{type:"button",class:"co-data-table__sort-button","aria-label":"Sort by "+t.label,onClick:()=>this.handleSort(t.field)},i("co-tooltip",{block:!0,class:"co-data-table__th-tip",content:t.label,placement:"top",disabled:!this.truncatedHeaders[t.field]},i("span",{class:"co-data-table__th-label",ref:e=>this.registerHeaderLabel(t.field,e)},t.label)),this.renderSortIcon(t)):i("co-tooltip",{block:!0,class:"co-data-table__th-tip",content:t.label,placement:"top",disabled:!this.truncatedHeaders[t.field]},i("span",{class:"co-data-table__th-label",ref:e=>this.registerHeaderLabel(t.field,e)},t.label)),t.filterable&&i("span",{class:{"co-data-table__filter-icon":!0,"co-data-table__filter-icon--active":this.parsedFilteredFields.includes(t.field),"co-data-table__filter-icon--indirect":!this.parsedFilteredFields.includes(t.field)&&this.parsedIndirectFields.includes(t.field)},title:this.parsedFilteredFields.includes(t.field)?"Edit column filter":this.parsedIndirectFields.includes(t.field)?"Filtered by other filters":"Filter column",onClick:e=>this.handleColumnFilter(t.field,e)},i("co-icon",{name:"funnel",size:14,weight:this.parsedFilteredFields.includes(t.field)?"fill":"regular"}))),this.resizable&&e<this.parsedColumns.length-1&&i("span",{class:{"co-data-table__resize-handle":!0,"co-data-table__resize-handle--active":this.resizingColumn===t.field},onMouseDown:e=>this.handleResizeStart(t.field,e),onClick:t=>t.stopPropagation()}))))))}renderSkeletonBody(){return i("tbody",{class:"co-data-table__body co-data-table__body--skeleton","aria-hidden":"true"},Array.from({length:this.skeletonRows}).map(((t,e)=>i("tr",{class:"co-data-table__row co-data-table__row--skeleton",key:"skeleton-"+e},this.selectable&&i("td",{class:"co-data-table__td co-data-table__td--checkbox co-data-table__td--sticky",style:{left:"0px"}},i("div",{class:"co-data-table__skeleton co-data-table__skeleton--checkbox"})),this.parsedColumns.map((t=>i("td",{class:{"co-data-table__td":!0,"co-data-table__td--sticky":!!t.sticky},style:Object.assign({},this.getColumnStyle(t))},i("div",{class:"co-data-table__skeleton"}))))))))}renderEmpty(){return this.loading||this.parsedRows.length>0?null:i("div",{class:"co-data-table__empty",part:"empty"},i("div",{class:"co-data-table__empty-icon"},i("co-icon",{name:this.emptyIcon,size:32,weight:"regular"})),this.emptyTitle&&i("h3",{class:"co-data-table__empty-title"},this.emptyTitle),this.emptyMessage&&i("p",{class:"co-data-table__empty-message"},this.emptyMessage),i("div",{class:"co-data-table__empty-action"},this.emptyActionLabel?i("co-button",{variant:this.emptyActionVariant,size:"m",label:this.emptyActionLabel,iconLeft:this.emptyActionIcon,onClick:()=>this.coEmptyAction.emit()}):i("slot",{name:"empty-action"})))}render(){return i("div",{key:"db627f32da540ce37e30ef6411c29ffc7be6b7fb",class:{"co-data-table":!0,"co-data-table--resizing":null!==this.resizingColumn,"co-data-table--loading":this.loading,"co-data-table--empty":!this.loading&&0===this.parsedRows.length}},i("div",{key:"03c1c7eb194c077716535a73b753db1b1c7ea49f",class:"co-data-table__scroll"},i("table",{key:"6401d8f51d991e434b6798ffa800ec05521408bd",class:"co-data-table__table",style:{width:this.getTableWidth()+"px",minWidth:"100%"}},this.renderColgroup(),this.renderHeader(),i("slot",{key:"ddc92d612b45877c558d2ad8dd567c1ea12d76ef"}),this.loading?this.renderSkeletonBody():null)),this.renderEmpty())}get el(){return this}static get watchers(){return{columns:[{parseColumns:0}],rows:[{parseRows:0}],selectedKeys:[{parseSelectedKeys:0}],filteredFields:[{parseFilteredFields:0}],indirectFilteredFields:[{parseIndirectFields:0}]}}static get style(){return"co-data-table{display:block;flex:1;min-height:0;overflow:hidden;contain:layout}.co-data-table{position:relative;font-family:var(--co-font-family-primary);background:var(--co-color-base-blanco);display:flex;flex-direction:column;height:100%}.co-data-table--resizing{cursor:col-resize;user-select:none}.co-data-table__scroll{flex:1;overflow-x:auto;overflow-y:auto;min-height:0}.co-data-table__table{min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.co-data-table__head{position:sticky;top:0;z-index:2}.co-data-table__header-row{height:40px}.co-data-table__th{position:relative;height:40px;padding:0 var(--co-spacing-md);background:var(--co-color-base-blanco);border-bottom:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);border-right:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);text-align:left;vertical-align:middle;font-size:var(--co-font-size-14);font-weight:500;color:var(--co-semantic-text-default);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;overflow:hidden;box-sizing:border-box}.co-data-table__th:last-child{border-right:none}.co-data-table__th--sortable{cursor:pointer}.co-data-table__th--sortable:hover{background-image:linear-gradient(var(--co-semantic-surface-hover), var(--co-semantic-surface-hover))}.co-data-table__th-content{display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-sm)}.co-data-table__pin-icon{display:flex;align-items:center;flex-shrink:0;color:var(--co-color-gray-300);cursor:pointer;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__pin-icon--active{opacity:1;color:var(--co-semantic-text-default)}.co-data-table__th:hover .co-data-table__pin-icon{opacity:1}.co-data-table__pin-icon:hover{color:var(--co-semantic-text-default)}.co-data-table__filter-icon{display:flex;align-items:center;flex-shrink:0;color:var(--co-color-gray-300);cursor:pointer;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__th:hover .co-data-table__filter-icon{opacity:1}.co-data-table__filter-icon:hover{color:var(--co-semantic-text-default)}.co-data-table__filter-icon--active{opacity:1;color:var(--co-color-primary-azul)}.co-data-table__filter-icon--indirect{opacity:0.45;color:var(--co-semantic-text-muted)}.co-data-table__th-tip{flex:1;min-width:0}.co-data-table__th-label{display:block;overflow:hidden;text-overflow:ellipsis}.co-data-table__sort-icon{display:flex;align-items:center;flex-shrink:0;color:var(--co-color-gray-400);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__sort-icon--active{color:var(--co-semantic-text-default)}.co-data-table__sort-button{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-sm);background:transparent;border:0;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.co-data-table__sort-button:focus-visible{outline:2px solid var(--co-semantic-border-focus, var(--co-color-primary-azul));outline-offset:-2px;border-radius:var(--co-border-radius-xxs)}.co-data-table__th--checkbox,.co-data-table__td--checkbox{width:48px;min-width:48px;max-width:48px;padding:0 var(--co-spacing-md);text-align:center;line-height:0;}.co-data-table__th.co-data-table__th--checkbox,.co-data-table__td.co-data-table__td--checkbox{border-right:none}.co-data-table__th--sticky,.co-data-table__td--sticky{position:sticky;z-index:1;background:var(--co-color-base-blanco)}.co-data-table__th--sticky{z-index:3}.co-data-table__th.co-data-table__th--sticky,.co-data-table__td.co-data-table__td--sticky{overflow:visible}.co-data-table__td--sticky::after,.co-data-table__th--sticky::after{content:'';position:absolute;top:0;right:-4px;bottom:0;width:4px;pointer-events:none;opacity:0;background:linear-gradient(to right, var(--co-color-opacity-negro-8), transparent);transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__td--sticky::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-color:var(--co-semantic-surface-hover);opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), background-color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__row:hover .co-data-table__td--sticky::before{opacity:1}.co-data-table__row--selected .co-data-table__td--sticky::before{opacity:1;background-color:var(--co-color-opacity-negro-4)}.co-data-table__row--selected:hover .co-data-table__td--sticky::before{background-color:var(--co-color-opacity-negro-8)}.co-data-table__resize-handle{position:absolute;top:0;right:-2px;width:5px;height:100%;cursor:col-resize;z-index:1}.co-data-table__resize-handle:hover{background:var(--co-color-primary-azul);opacity:0.3}.co-data-table__resize-handle--active{background:var(--co-color-primary-azul);opacity:0.3}.co-data-table__row{height:48px;transition:background-color var(--co-motion-duration-fast) var(--co-motion-ease-out);content-visibility:auto;contain-intrinsic-size:auto 48px}.co-data-table__row:hover{background:var(--co-semantic-surface-hover)}.co-data-table__row--selected{background:var(--co-color-opacity-negro-4)}.co-data-table__row--selected:hover{background:var(--co-color-opacity-negro-8)}.co-data-table__td{height:48px;padding:0 var(--co-spacing-md);background:transparent;border-bottom:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);border-right:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);vertical-align:middle;font-size:var(--co-font-size-12);font-weight:var(--co-font-weight-medium);color:var(--co-semantic-text-default);letter-spacing:var(--co-font-letter-spacing-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.co-data-table__td:last-child{border-right:none}.co-data-table__th--align-center,.co-data-table__td--align-center{text-align:center}.co-data-table__th--align-right,.co-data-table__td--align-right{text-align:right}.co-data-table__cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.co-data-table--empty .co-data-table__scroll{flex:0 0 auto;overflow:hidden}.co-data-table__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;min-height:280px;padding:var(--co-spacing-3xl) var(--co-spacing-lg);gap:var(--co-spacing-lg) }.co-data-table__empty-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-muted);color:var(--co-semantic-text-secondary);margin-bottom:var(--co-spacing-sm)}.co-data-table__empty-title{font-size:var(--co-font-size-24);font-weight:var(--co-font-weight-medium, 500);line-height:1.25;color:var(--co-semantic-text-default);letter-spacing:-0.03em}.co-data-table__empty-message{font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-secondary);margin:0;max-width:538px ;line-height:1.25}.co-data-table__empty-action{margin-top:var(--co-spacing-md);display:inline-flex}.co-data-table__empty-action:empty{display:none}.co-data-table__skeleton{height:14px;border-radius:var(--co-border-radius-xxs);background:linear-gradient( 90deg, var(--co-semantic-surface-secondary) 0%, var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.04)) 50%, var(--co-semantic-surface-secondary) 100% );background-size:200% 100%;animation:co-dt-shimmer 1.2s ease-in-out infinite;width:70%}.co-data-table__skeleton--checkbox{width:16px;height:16px;margin:0 auto}@keyframes co-dt-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.co-data-table__skeleton{animation:none}}.co-data-table__row--skeleton{pointer-events:none;content-visibility:visible}.co-data-table__row--flash-create{animation:co-dt-flash-create 1s ease-out}.co-data-table__row--flash-update{animation:co-dt-flash-update 1s ease-out}.co-data-table__row--flash-delete{animation:co-dt-flash-delete 0.5s ease-out forwards}@keyframes co-dt-flash-create{0%{background-color:rgba(2, 162, 112, 0.15)}100%{background-color:transparent}}@keyframes co-dt-flash-update{0%{background-color:rgba(37, 99, 235, 0.15)}100%{background-color:transparent}}@keyframes co-dt-flash-delete{0%{opacity:1;background-color:rgba(170, 46, 27, 0.1)}100%{opacity:0;height:0;padding:0;overflow:hidden}}"}},[260,"co-data-table",{columns:[1],rows:[1],rowKey:[1,"row-key"],loading:[4],skeletonRows:[2,"skeleton-rows"],emptyTitle:[1,"empty-title"],emptyMessage:[1,"empty-message"],emptyIcon:[1,"empty-icon"],emptyActionLabel:[1,"empty-action-label"],emptyActionVariant:[1,"empty-action-variant"],emptyActionIcon:[1,"empty-action-icon"],sortField:[1537,"sort-field"],sortOrder:[1537,"sort-order"],filteredFields:[513,"filtered-fields"],indirectFilteredFields:[513,"indirect-filtered-fields"],selectable:[4],selectedKeys:[1025,"selected-keys"],resizable:[4],parsedColumns:[32],parsedRows:[32],parsedSelectedKeys:[32],parsedFilteredFields:[32],parsedIndirectFields:[32],columnWidths:[32],truncatedHeaders:[32],resizingColumn:[32],resizeStartX:[32],resizeStartWidth:[32]},void 0,{columns:[{parseColumns:0}],rows:[{parseRows:0}],selectedKeys:[{parseSelectedKeys:0}],filteredFields:[{parseFilteredFields:0}],indirectFilteredFields:[{parseIndirectFields:0}]}]);function h(){"undefined"!=typeof customElements&&["co-data-table","co-button","co-checkbox","co-icon","co-kbd","co-tooltip"].forEach((e=>{switch(e){case"co-data-table":customElements.get(t(e))||customElements.define(t(e),d);break;case"co-button":customElements.get(t(e))||s();break;case"co-checkbox":customElements.get(t(e))||c();break;case"co-icon":customElements.get(t(e))||r();break;case"co-kbd":customElements.get(t(e))||n();break;case"co-tooltip":customElements.get(t(e))||l()}}))}h();const b=d,p=h;export{b as CoDataTable,p as defineCustomElement}
@@ -1 +1 @@
1
- import{t,p as e,H as i,c as s,h as o}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{g as r}from"./p-jYd9gu_c.js";import{d as c}from"./p-D4XP17VP.js";import{d as l}from"./p-C4sZjIDj.js";import{d as h}from"./p-zJ3pjFzW.js";import{d as n}from"./p-KK2vAKs-.js";import{d}from"./p-BH184F0X.js";import{d as p}from"./p-nrwDl_gx.js";import{d as m}from"./p-TGRbLkLz.js";const u=e(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.coInput=s(this,"coInput",7),this.coChange=s(this,"coChange",7),this.coInvalid=s(this,"coInvalid",7),this.coClear=s(this,"coClear",7),this.coFocus=s(this,"coFocus",7),this.coBlur=s(this,"coBlur",7),this.coOpen=s(this,"coOpen",3),this.coClose=s(this,"coClose",3),this.value=null,this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.size="md",this.variant="default",this.disabled=!1,this.readonly=!1,this.required=!1,this.clearable=!0,this.invalid=!1,this.layout="vertical",this.placement="bottom-start",this.closeOnSelect=!0,this.open=!1,this.mobileBreakpoint=600,this.isMobile=!1,this.internalInvalid=!1,this.pendingFocusGrid=!1,this.pendingFocusField=!1,this.mqlHandler=t=>{this.isMobile=t.matches},this.onFieldChange=t=>{this.value=t.detail,this.internalInvalid=!1,this.coChange.emit(t.detail)},this.onFieldInput=t=>{this.coInput.emit(t.detail)},this.onFieldInvalid=t=>{this.internalInvalid=!0,this.coInvalid.emit(t.detail)},this.onFieldClear=()=>{this.value=null,this.internalInvalid=!1,this.coClear.emit()},this.onFieldKeyDown=t=>{"ArrowDown"===t.key&&(t.preventDefault(),this.open||this.setOpen(!0),this.pendingFocusGrid=!0,this.calendarEl&&this.focusGridSoon())},this.onCalendarSelect=t=>{this.value=t.detail,this.internalInvalid=!1,this.coChange.emit(t.detail),this.closeOnSelect&&(this.setOpen(!1),this.pendingFocusField=!0)},this.onPopoverOpen=()=>{this.open||(this.open=!0,this.coOpen.emit())},this.onPopoverClose=()=>{this.open&&(this.open=!1,this.coClose.emit())},this.onRootKeyDown=t=>{"Escape"===t.key&&this.open&&(t.stopPropagation(),this.setOpen(!1),this.pendingFocusField=!0)}}connectedCallback(){this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler)}disconnectedCallback(){var t;null===(t=this.mql)||void 0===t||t.removeEventListener("change",this.mqlHandler)}get isInvalid(){return this.invalid||this.internalInvalid}setOpen(t){this.open!==t&&(this.open=t,t?this.coOpen.emit():this.coClose.emit())}focusGridSoon(){requestAnimationFrame((()=>{var t,e;null===(e=null===(t=this.calendarEl)||void 0===t?void 0:t.focusGrid)||void 0===e||e.call(t)}))}componentDidRender(){var t,e;this.pendingFocusGrid&&this.open&&this.calendarEl&&(this.pendingFocusGrid=!1,this.focusGridSoon()),this.pendingFocusField&&(this.pendingFocusField=!1,null===(e=null===(t=this.fieldEl)||void 0===t?void 0:t.focusInput)||void 0===e||e.call(t))}renderField(){return o("co-date-field",{ref:t=>this.fieldEl=t,"data-variant":this.variant,value:this.value,min:this.min,max:this.max,disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,displayFormat:this.displayFormat,placeholder:this.placeholder,size:this.size,name:this.name,disabled:this.disabled,readonly:this.readonly,required:this.required,clearable:this.clearable,invalid:this.isInvalid,onCoChange:this.onFieldChange,onCoInput:this.onFieldInput,onCoInvalid:this.onFieldInvalid,onCoClear:this.onFieldClear,onCoFocus:()=>this.coFocus.emit(),onCoBlur:()=>this.coBlur.emit()})}renderCalendar(t){return o("co-calendar",{ref:t=>this.calendarEl=t,"data-touch":t?"":void 0,value:this.value,min:this.min,max:this.max,disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoSelect:this.onCalendarSelect})}renderHelper(){const t=this.isInvalid?this.errorMessage:this.helperText;return t?o("div",{class:{"co-date-picker__helper":!0,"co-date-picker__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&o("co-icon",{name:"warning-circle",size:14}),o("span",null,t)):null}render(){if(this.isMobile){const t=r(this.locale);return o("div",{class:"co-date-picker co-date-picker--mobile",onKeyDown:this.onRootKeyDown},this.label&&o("label",{class:"co-date-picker__label",part:"label"},this.label,o(a,{required:this.required})),o("div",{class:"co-date-picker__trigger",onClick:()=>!this.disabled&&this.setOpen(!0)},this.renderField()),o("co-drawer",{position:"bottom",open:this.open,heading:t.selectDate,onCoClose:()=>this.setOpen(!1)},o("div",{class:"co-date-picker__sheet"},this.renderCalendar(!0))),this.renderHelper())}return o("div",{class:"co-date-picker",onKeyDown:this.onRootKeyDown},this.label&&o("label",{class:"co-date-picker__label",part:"label"},this.label,o(a,{required:this.required})),o("co-popover",{open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},o("div",{slot:"trigger",class:"co-date-picker__trigger",onKeyDown:this.onFieldKeyDown},this.renderField()),this.open&&o("div",{class:"co-date-picker__panel"},this.renderCalendar(!1))),this.renderHelper())}get el(){return this}static get style(){return":host{display:block;font-family:var(--co-font-family-primary)}.co-date-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}co-date-field[data-variant='flat']::part(field){background:transparent;border-color:transparent}.co-date-picker__label{padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-date-picker__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-picker__helper--error{color:var(--co-semantic-status-error)}.co-date-picker co-popover{display:block;width:100%}.co-date-picker__trigger{display:block;width:100%;cursor:text}.co-date-picker__panel{padding:var(--co-spacing-md)}.co-date-picker__sheet{display:flex;justify-content:center;padding:var(--co-spacing-sm) 0 var(--co-spacing-lg)}:host([layout='horizontal']) .co-date-picker{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-date-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-date-picker__label{white-space:normal}:host([layout='horizontal']) .co-date-picker>:not(.co-date-picker__label){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}"}},[1,"co-date-picker",{value:[1025],min:[1],max:[1],disabledDates:[1,"disabled-dates"],disabledDaysOfWeek:[1,"disabled-days-of-week"],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],label:[1],placeholder:[1],size:[513],variant:[513],name:[1],disabled:[4],readonly:[4],required:[4],clearable:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],layout:[513],placement:[1],closeOnSelect:[4,"close-on-select"],open:[1540],mobileBreakpoint:[2,"mobile-breakpoint"],isMobile:[32],internalInvalid:[32]}]);function f(){"undefined"!=typeof customElements&&["co-date-picker","co-calendar","co-date-field","co-drawer","co-icon","co-loader","co-overlay","co-popover"].forEach((e=>{switch(e){case"co-date-picker":customElements.get(t(e))||customElements.define(t(e),u);break;case"co-calendar":customElements.get(t(e))||c();break;case"co-date-field":customElements.get(t(e))||l();break;case"co-drawer":customElements.get(t(e))||h();break;case"co-icon":customElements.get(t(e))||n();break;case"co-loader":customElements.get(t(e))||d();break;case"co-overlay":customElements.get(t(e))||p();break;case"co-popover":customElements.get(t(e))||m()}}))}f();const g=u,v=f;export{g as CoDatePicker,v as defineCustomElement}
1
+ import{t,p as e,H as i,c as s,h as o}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{g as r}from"./p-jYd9gu_c.js";import{d as c}from"./p-D4XP17VP.js";import{d as l}from"./p-C4sZjIDj.js";import{d as h}from"./p-DB8DGMc-.js";import{d as n}from"./p-KK2vAKs-.js";import{d}from"./p-BH184F0X.js";import{d as p}from"./p-wUXcJGdy.js";import{d as m}from"./p-TGRbLkLz.js";const u=e(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.coInput=s(this,"coInput",7),this.coChange=s(this,"coChange",7),this.coInvalid=s(this,"coInvalid",7),this.coClear=s(this,"coClear",7),this.coFocus=s(this,"coFocus",7),this.coBlur=s(this,"coBlur",7),this.coOpen=s(this,"coOpen",3),this.coClose=s(this,"coClose",3),this.value=null,this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.size="md",this.variant="default",this.disabled=!1,this.readonly=!1,this.required=!1,this.clearable=!0,this.invalid=!1,this.layout="vertical",this.placement="bottom-start",this.closeOnSelect=!0,this.open=!1,this.mobileBreakpoint=600,this.isMobile=!1,this.internalInvalid=!1,this.pendingFocusGrid=!1,this.pendingFocusField=!1,this.mqlHandler=t=>{this.isMobile=t.matches},this.onFieldChange=t=>{this.value=t.detail,this.internalInvalid=!1,this.coChange.emit(t.detail)},this.onFieldInput=t=>{this.coInput.emit(t.detail)},this.onFieldInvalid=t=>{this.internalInvalid=!0,this.coInvalid.emit(t.detail)},this.onFieldClear=()=>{this.value=null,this.internalInvalid=!1,this.coClear.emit()},this.onFieldKeyDown=t=>{"ArrowDown"===t.key&&(t.preventDefault(),this.open||this.setOpen(!0),this.pendingFocusGrid=!0,this.calendarEl&&this.focusGridSoon())},this.onCalendarSelect=t=>{this.value=t.detail,this.internalInvalid=!1,this.coChange.emit(t.detail),this.closeOnSelect&&(this.setOpen(!1),this.pendingFocusField=!0)},this.onPopoverOpen=()=>{this.open||(this.open=!0,this.coOpen.emit())},this.onPopoverClose=()=>{this.open&&(this.open=!1,this.coClose.emit())},this.onRootKeyDown=t=>{"Escape"===t.key&&this.open&&(t.stopPropagation(),this.setOpen(!1),this.pendingFocusField=!0)}}connectedCallback(){this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler)}disconnectedCallback(){var t;null===(t=this.mql)||void 0===t||t.removeEventListener("change",this.mqlHandler)}get isInvalid(){return this.invalid||this.internalInvalid}setOpen(t){this.open!==t&&(this.open=t,t?this.coOpen.emit():this.coClose.emit())}focusGridSoon(){requestAnimationFrame((()=>{var t,e;null===(e=null===(t=this.calendarEl)||void 0===t?void 0:t.focusGrid)||void 0===e||e.call(t)}))}componentDidRender(){var t,e;this.pendingFocusGrid&&this.open&&this.calendarEl&&(this.pendingFocusGrid=!1,this.focusGridSoon()),this.pendingFocusField&&(this.pendingFocusField=!1,null===(e=null===(t=this.fieldEl)||void 0===t?void 0:t.focusInput)||void 0===e||e.call(t))}renderField(){return o("co-date-field",{ref:t=>this.fieldEl=t,"data-variant":this.variant,value:this.value,min:this.min,max:this.max,disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,displayFormat:this.displayFormat,placeholder:this.placeholder,size:this.size,name:this.name,disabled:this.disabled,readonly:this.readonly,required:this.required,clearable:this.clearable,invalid:this.isInvalid,onCoChange:this.onFieldChange,onCoInput:this.onFieldInput,onCoInvalid:this.onFieldInvalid,onCoClear:this.onFieldClear,onCoFocus:()=>this.coFocus.emit(),onCoBlur:()=>this.coBlur.emit()})}renderCalendar(t){return o("co-calendar",{ref:t=>this.calendarEl=t,"data-touch":t?"":void 0,value:this.value,min:this.min,max:this.max,disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoSelect:this.onCalendarSelect})}renderHelper(){const t=this.isInvalid?this.errorMessage:this.helperText;return t?o("div",{class:{"co-date-picker__helper":!0,"co-date-picker__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&o("co-icon",{name:"warning-circle",size:14}),o("span",null,t)):null}render(){if(this.isMobile){const t=r(this.locale);return o("div",{class:"co-date-picker co-date-picker--mobile",onKeyDown:this.onRootKeyDown},this.label&&o("label",{class:"co-date-picker__label",part:"label"},this.label,o(a,{required:this.required})),o("div",{class:"co-date-picker__trigger",onClick:()=>!this.disabled&&this.setOpen(!0)},this.renderField()),o("co-drawer",{position:"bottom",open:this.open,heading:t.selectDate,onCoClose:()=>this.setOpen(!1)},o("div",{class:"co-date-picker__sheet"},this.renderCalendar(!0))),this.renderHelper())}return o("div",{class:"co-date-picker",onKeyDown:this.onRootKeyDown},this.label&&o("label",{class:"co-date-picker__label",part:"label"},this.label,o(a,{required:this.required})),o("co-popover",{open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},o("div",{slot:"trigger",class:"co-date-picker__trigger",onKeyDown:this.onFieldKeyDown},this.renderField()),this.open&&o("div",{class:"co-date-picker__panel"},this.renderCalendar(!1))),this.renderHelper())}get el(){return this}static get style(){return":host{display:block;font-family:var(--co-font-family-primary)}.co-date-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}co-date-field[data-variant='flat']::part(field){background:transparent;border-color:transparent}.co-date-picker__label{padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-date-picker__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-picker__helper--error{color:var(--co-semantic-status-error)}.co-date-picker co-popover{display:block;width:100%}.co-date-picker__trigger{display:block;width:100%;cursor:text}.co-date-picker__panel{padding:var(--co-spacing-md)}.co-date-picker__sheet{display:flex;justify-content:center;padding:var(--co-spacing-sm) 0 var(--co-spacing-lg)}:host([layout='horizontal']) .co-date-picker{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-date-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-date-picker__label{white-space:normal}:host([layout='horizontal']) .co-date-picker>:not(.co-date-picker__label){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}"}},[1,"co-date-picker",{value:[1025],min:[1],max:[1],disabledDates:[1,"disabled-dates"],disabledDaysOfWeek:[1,"disabled-days-of-week"],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],label:[1],placeholder:[1],size:[513],variant:[513],name:[1],disabled:[4],readonly:[4],required:[4],clearable:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],layout:[513],placement:[1],closeOnSelect:[4,"close-on-select"],open:[1540],mobileBreakpoint:[2,"mobile-breakpoint"],isMobile:[32],internalInvalid:[32]}]);function f(){"undefined"!=typeof customElements&&["co-date-picker","co-calendar","co-date-field","co-drawer","co-icon","co-loader","co-overlay","co-popover"].forEach((e=>{switch(e){case"co-date-picker":customElements.get(t(e))||customElements.define(t(e),u);break;case"co-calendar":customElements.get(t(e))||c();break;case"co-date-field":customElements.get(t(e))||l();break;case"co-drawer":customElements.get(t(e))||h();break;case"co-icon":customElements.get(t(e))||n();break;case"co-loader":customElements.get(t(e))||d();break;case"co-overlay":customElements.get(t(e))||p();break;case"co-popover":customElements.get(t(e))||m()}}))}f();const v=u,g=f;export{v as CoDatePicker,g as defineCustomElement}
@@ -1 +1 @@
1
- import{C as o,d as s}from"./p-BVdCvEza.js";const a=o,p=s;export{a as CoDateRangePicker,p as defineCustomElement}
1
+ import{C as s,d as o}from"./p-BI_VaFsx.js";const a=s,p=o;export{a as CoDateRangePicker,p as defineCustomElement}
@@ -1 +1 @@
1
- import{t as e,p as s,H as t,c as a,h as o}from"./index.js";import{d as c}from"./p-D4XP17VP.js";import{d as r}from"./p-C4sZjIDj.js";import{d as l}from"./p-BVdCvEza.js";import{d as i}from"./p-zJ3pjFzW.js";import{d as p}from"./p-KK2vAKs-.js";import{d}from"./p-BH184F0X.js";import{d as n}from"./p-nrwDl_gx.js";import{d as h}from"./p-TGRbLkLz.js";const m=s(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=a(this,"coChange",7),this.coClear=a(this,"coClear",7),this.value="",this.label="",this.placeholder="Select range",this.disabled=!1,this.clearable=!0,this.presets=!0,this.helperText="",this.locale="es",this.warned=!1,this.handleApply=e=>{this.value=JSON.stringify(e.detail),this.coChange.emit(e.detail)}}connectedCallback(){this.warned||(this.warned=!0,console.warn("[cobalt] <co-date-range> is deprecated — use <co-date-range-picker>."))}render(){return o("co-date-range-picker",{key:"e1d13b772fcd7aa60bbc77a25a5c6cb40a25dd4b",value:this.value,label:this.label,placeholder:this.placeholder,disabled:this.disabled,clearable:this.clearable,presets:this.presets,helperText:this.helperText,locale:this.locale,applyLabel:this.applyLabel,clearLabel:this.clearLabel,onCoApply:this.handleApply,onCoClear:()=>this.coClear.emit()})}get el(){return this}static get style(){return":host{display:block}"}},[1,"co-date-range",{value:[1025],label:[1],placeholder:[1],disabled:[4],clearable:[4],presets:[4],helperText:[1,"helper-text"],locale:[1],applyLabel:[1,"apply-label"],clearLabel:[1,"clear-label"]}]);function b(){"undefined"!=typeof customElements&&["co-date-range","co-calendar","co-date-field","co-date-range-picker","co-drawer","co-icon","co-loader","co-overlay","co-popover"].forEach((s=>{switch(s){case"co-date-range":customElements.get(e(s))||customElements.define(e(s),m);break;case"co-calendar":customElements.get(e(s))||c();break;case"co-date-field":customElements.get(e(s))||r();break;case"co-date-range-picker":customElements.get(e(s))||l();break;case"co-drawer":customElements.get(e(s))||i();break;case"co-icon":customElements.get(e(s))||p();break;case"co-loader":customElements.get(e(s))||d();break;case"co-overlay":customElements.get(e(s))||n();break;case"co-popover":customElements.get(e(s))||h()}}))}b();const u=m,k=b;export{u as CoDateRange,k as defineCustomElement}
1
+ import{t as e,p as s,H as t,c as a,h as c}from"./index.js";import{d as o}from"./p-D4XP17VP.js";import{d as r}from"./p-C4sZjIDj.js";import{d as l}from"./p-BI_VaFsx.js";import{d as i}from"./p-DB8DGMc-.js";import{d}from"./p-KK2vAKs-.js";import{d as p}from"./p-BH184F0X.js";import{d as n}from"./p-wUXcJGdy.js";import{d as h}from"./p-TGRbLkLz.js";const m=s(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=a(this,"coChange",7),this.coClear=a(this,"coClear",7),this.value="",this.label="",this.placeholder="Select range",this.disabled=!1,this.clearable=!0,this.presets=!0,this.helperText="",this.locale="es",this.warned=!1,this.handleApply=e=>{this.value=JSON.stringify(e.detail),this.coChange.emit(e.detail)}}connectedCallback(){this.warned||(this.warned=!0,console.warn("[cobalt] <co-date-range> is deprecated — use <co-date-range-picker>."))}render(){return c("co-date-range-picker",{key:"e1d13b772fcd7aa60bbc77a25a5c6cb40a25dd4b",value:this.value,label:this.label,placeholder:this.placeholder,disabled:this.disabled,clearable:this.clearable,presets:this.presets,helperText:this.helperText,locale:this.locale,applyLabel:this.applyLabel,clearLabel:this.clearLabel,onCoApply:this.handleApply,onCoClear:()=>this.coClear.emit()})}get el(){return this}static get style(){return":host{display:block}"}},[1,"co-date-range",{value:[1025],label:[1],placeholder:[1],disabled:[4],clearable:[4],presets:[4],helperText:[1,"helper-text"],locale:[1],applyLabel:[1,"apply-label"],clearLabel:[1,"clear-label"]}]);function b(){"undefined"!=typeof customElements&&["co-date-range","co-calendar","co-date-field","co-date-range-picker","co-drawer","co-icon","co-loader","co-overlay","co-popover"].forEach((s=>{switch(s){case"co-date-range":customElements.get(e(s))||customElements.define(e(s),m);break;case"co-calendar":customElements.get(e(s))||o();break;case"co-date-field":customElements.get(e(s))||r();break;case"co-date-range-picker":customElements.get(e(s))||l();break;case"co-drawer":customElements.get(e(s))||i();break;case"co-icon":customElements.get(e(s))||d();break;case"co-loader":customElements.get(e(s))||p();break;case"co-overlay":customElements.get(e(s))||n();break;case"co-popover":customElements.get(e(s))||h()}}))}b();const u=m,k=b;export{u as CoDateRange,k as defineCustomElement}
@@ -1 +1 @@
1
- import{p as e,H as t,c as i,h as o,t as a}from"./index.js";import{R as r}from"./p-CWneqh4n.js";import{g as s}from"./p-jYd9gu_c.js";import{d as c}from"./p-D4XP17VP.js";import{d as n}from"./p-zJ3pjFzW.js";import{d}from"./p-KK2vAKs-.js";import{d as l}from"./p-BH184F0X.js";import{d as p}from"./p-nrwDl_gx.js";import{d as h}from"./p-TGRbLkLz.js";import{d as m}from"./p-Dn2wblrA.js";import{z as u,b as f,a as _,w as g,t as v}from"./p-Ch837Ggl.js";import{f as k}from"./p-DJ468fPu.js";const b=540,x=e(class e extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=i(this,"coChange",7),this.coClear=i(this,"coClear",7),this.coFocus=i(this,"coFocus",7),this.coBlur=i(this,"coBlur",7),this.coOpen=i(this,"coOpen",3),this.coClose=i(this,"coClose",3),this.value=null,this.stepMinutes=15,this.presetIds=["morning","noon","afternoon","endOfDay","now"],this.hour12=!0,this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.size="md",this.variant="default",this.disabled=!1,this.readonly=!1,this.required=!1,this.clearable=!0,this.invalid=!1,this.layout="vertical",this.placement="bottom-start",this.open=!1,this.mobileBreakpoint=600,this.isMobile=!1,this.draftMinutes=b,this.pendingFocusGrid=!1,this.pendingFocusTrigger=!1,this.mqlHandler=e=>{this.isMobile=e.matches},this.onTriggerKeyDown=e=>{"ArrowDown"===e.key&&(e.preventDefault(),this.disabled||this.readonly||(this.open||this.setOpen(!0),this.pendingFocusGrid=!0,this.calendarEl&&this.focusGridSoon()))},this.onClearClick=e=>{e.stopPropagation(),this.disabled||this.readonly||(this.value=null,this.coClear.emit(),this.coChange.emit(null))},this.onCalendarSelect=e=>{const t=e.detail;t&&this.commit(t,this.draftMinutes)},this.pickTime=e=>{var t,i;const o=null!==(i=null===(t=this.parts)||void 0===t?void 0:t.dayKey)&&void 0!==i?i:u(Date.now(),this.zone);this.commit(o,e),this.draftMinutes=e,this.setOpen(!1),this.pendingFocusTrigger=!0},this.onTimeFieldInput=e=>{null!=e.detail&&(this.draftMinutes=e.detail)},this.onTimeFieldCommit=e=>{this.pickTime(e.detail)},this.onPopoverOpen=()=>{var e,t;this.disabled||this.readonly?null===(t=null===(e=this.popoverEl)||void 0===e?void 0:e.hide)||void 0===t||t.call(e):this.open||(this.open=!0,this.coOpen.emit())},this.closeApplyingDraft=()=>{this.open&&(this.parts&&this.draftMinutes!==this.parts.minutes&&this.commit(this.parts.dayKey,this.draftMinutes),this.setOpen(!1))},this.onPopoverClose=()=>{this.closeApplyingDraft()},this.onRootKeyDown=e=>{"Escape"===e.key&&this.open&&(e.stopPropagation(),this.setOpen(!1),this.pendingFocusTrigger=!0)}}connectedCallback(){"function"==typeof window.matchMedia&&(this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler))}disconnectedCallback(){var e;null===(e=this.mql)||void 0===e||e.removeEventListener("change",this.mqlHandler)}componentWillLoad(){var e,t;this.draftMinutes=null!==(t=null===(e=this.parts)||void 0===e?void 0:e.minutes)&&void 0!==t?t:b}onOpenChange(e){var t,i;e&&(this.draftMinutes=null!==(i=null===(t=this.parts)||void 0===t?void 0:t.minutes)&&void 0!==i?i:b)}get zone(){return this.timeZone||f()}get isInvalid(){return this.invalid}get parts(){const e=this.value;if(!e)return null;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return{dayKey:e,minutes:b};try{return{dayKey:u(e,this.zone),minutes:_(e,this.zone)}}catch(e){return null}}dayBound(e){if(e){if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;try{return u(e,this.zone)}catch(e){return}}}setOpen(e){this.open!==e&&(this.open=e,e?this.coOpen.emit():this.coClose.emit())}commit(e,t){const[i,o,a]=e.split("-").map(Number);if(!i||!o||!a)return;const r=g({year:i,month:o,day:a,hour:Math.floor(t/60),minute:t%60,second:0},this.zone),s=v(r);this.value=s,this.coChange.emit(s)}get presets(){const t="string"==typeof this.presetIds?this.presetIds.split(",").map((e=>e.trim())).filter(Boolean):this.presetIds;return Array.from(new Set(null!=t?t:[])).filter((t=>t in e.PRESET_CATALOG)).map((t=>{const i=e.PRESET_CATALOG[t],o="now"===i.minutes?_(Date.now(),this.zone):i.minutes;return{id:t,icon:i.icon,minutes:o}}))}focusGridSoon(){requestAnimationFrame((()=>{var e,t;null===(t=null===(e=this.calendarEl)||void 0===e?void 0:e.focusGrid)||void 0===t||t.call(e)}))}componentDidRender(){var e;this.pendingFocusGrid&&this.open&&this.calendarEl&&(this.pendingFocusGrid=!1,this.focusGridSoon()),this.pendingFocusTrigger&&(this.pendingFocusTrigger=!1,null===(e=this.triggerBtn)||void 0===e||e.focus())}get step(){const e=Math.round(Number(this.stepMinutes));return Number.isFinite(e)&&e>0?Math.min(720,e):15}renderTrigger(e){const t=this.parts,i=t?`${k(t.dayKey,this.displayFormat,this.locale)}, ${z(t.minutes,this.locale,this.hour12)}`:"",a=this.clearable&&!!t&&!this.disabled&&!this.readonly;return o("div",{class:{"co-date-time-picker__field":!0,"co-date-time-picker__field--disabled":this.disabled,"co-date-time-picker__field--readonly":this.readonly,"co-date-time-picker__field--invalid":this.isInvalid,["co-date-time-picker__field--"+this.size]:!0},part:"field"},o("co-icon",{name:"calendar",size:16,class:"co-date-time-picker__icon"}),o("button",{ref:e=>this.triggerBtn=e,type:"button",class:"co-date-time-picker__display",disabled:this.disabled,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false","aria-invalid":this.isInvalid?"true":"false","aria-label":this.label?void 0:e.dateLabel,onKeyDown:this.onTriggerKeyDown,onFocus:()=>this.coFocus.emit(),onBlur:()=>this.coBlur.emit(),part:"display"},i?o("span",{class:"co-date-time-picker__text"},i):o("span",{class:"co-date-time-picker__placeholder"},this.placeholder||e.setDateTime)),this.clearable&&o("button",{class:{"co-date-time-picker__clear":!0,"co-date-time-picker__clear--hidden":!a},type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:this.onClearClick,"aria-label":e.clearDateTime,part:"clear"},o("co-icon",{name:"x-circle",size:16,weight:"fill"})))}renderPanel(e,t){var i,a;return o("div",{class:{"co-date-time-picker__panel":!0,"co-date-time-picker__panel--touch":t}},o("co-calendar",{ref:e=>this.calendarEl=e,class:"co-date-time-picker__calendar","data-touch":t?"":void 0,value:null!==(a=null===(i=this.parts)||void 0===i?void 0:i.dayKey)&&void 0!==a?a:null,min:this.dayBound(this.min),max:this.dayBound(this.max),disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoSelect:this.onCalendarSelect}),o("div",{class:"co-date-time-picker__side"},o("div",{class:"co-date-time-picker__sect"},e.shortcuts),o("div",{class:"co-date-time-picker__presets"},this.presets.map((t=>o("button",{key:t.id,type:"button",class:"co-date-time-picker__preset",disabled:this.disabled||this.readonly,onClick:()=>{const e="now"===t.id?_(Date.now(),this.zone):t.minutes;this.pickTime(e)}},o("co-icon",{name:t.icon,size:16,class:"co-date-time-picker__preset-icon"}),o("span",{class:"co-date-time-picker__preset-label"},e[t.id]),o("span",{class:"co-date-time-picker__preset-hint"},z(t.minutes,this.locale,this.hour12)))))),o("div",{class:"co-date-time-picker__sect co-date-time-picker__sect--time"},e.timeExact),o("co-time-field",{"data-touch":t?"":void 0,value:this.draftMinutes,hour12:this.hour12,locale:this.locale,pageStep:this.step,disabled:this.disabled||this.readonly,onCoInput:this.onTimeFieldInput,onCoCommit:this.onTimeFieldCommit}),o("div",{class:"co-date-time-picker__footer"},o("button",{type:"button",class:"co-date-time-picker__btn co-date-time-picker__btn--primary",disabled:this.disabled||this.readonly,onClick:()=>this.pickTime(this.draftMinutes)},e.done))))}renderHelper(){const e=this.isInvalid?this.errorMessage:this.helperText;return e?o("div",{class:{"co-date-time-picker__helper":!0,"co-date-time-picker__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&o("co-icon",{name:"warning-circle",size:14}),o("span",null,e)):null}renderLabel(){return this.label?o("label",{class:"co-date-time-picker__label",part:"label"},this.label,o(r,{required:this.required})):null}render(){var e;const t=s(this.locale);return o("div",{key:"fd0f8441ff0531546790d1d318a580cd962bf345",class:"co-date-time-picker",onKeyDown:this.onRootKeyDown},this.renderLabel(),this.isMobile?[o("div",{class:"co-date-time-picker__trigger",onClick:()=>!this.disabled&&!this.readonly&&this.setOpen(!0)},this.renderTrigger(t)),o("co-drawer",{position:"bottom",open:this.open,heading:t.selectDateTime,onCoClose:this.closeApplyingDraft},o("div",{class:"co-date-time-picker__sheet"},this.renderPanel(t,!0)))]:o("co-popover",{ref:e=>this.popoverEl=e,open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},o("div",{slot:"trigger",class:"co-date-time-picker__trigger"},this.renderTrigger(t)),this.open&&this.renderPanel(t,!1)),this.name&&o("input",{key:"a30aed536d890836f468660f4f40f745504a6731",type:"hidden",name:this.name,value:null!==(e=this.value)&&void 0!==e?e:""}),this.renderHelper())}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-time-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-date-time-picker__label{padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-date-time-picker co-popover{display:block;width:100%}.co-date-time-picker__trigger{display:block;width:100%}.co-date-time-picker__field{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:40px;box-sizing:border-box;overflow:hidden;min-width:0}.co-date-time-picker__field--s{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm)}.co-date-time-picker__field--sm{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm)}.co-date-time-picker__field--lg{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg)}:host([variant='flat']) .co-date-time-picker__field{background:transparent;border-color:transparent}.co-date-time-picker__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-date-time-picker__display{flex:1;min-width:0;display:flex;align-items:center;min-height:22px;padding:0;margin:0;border:none;background:transparent;font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;color:var(--co-semantic-text-default);text-align:left;cursor:pointer;outline:none}.co-date-time-picker__text,.co-date-time-picker__placeholder{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-date-time-picker__placeholder{color:var(--co-semantic-text-muted)}.co-date-time-picker__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-time-picker__clear--hidden{visibility:hidden;pointer-events:none}.co-date-time-picker__clear:hover{color:var(--co-semantic-text-default)}.co-date-time-picker__field:focus-within{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-date-time-picker__field--disabled{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed;pointer-events:none}.co-date-time-picker__field--disabled .co-date-time-picker__display,.co-date-time-picker__field--disabled .co-date-time-picker__placeholder,.co-date-time-picker__field--disabled .co-date-time-picker__icon{color:var(--co-semantic-text-disabled);cursor:not-allowed}.co-date-time-picker__field--readonly .co-date-time-picker__display{cursor:default}.co-date-time-picker__field--invalid{border-color:var(--co-semantic-status-error)}.co-date-time-picker__field--invalid:focus-within{border-color:var(--co-semantic-status-error);box-shadow:0 0 0 2px rgba(170, 46, 27, 0.12)}.co-date-time-picker__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-time-picker__helper--error{color:var(--co-semantic-status-error)}.co-date-time-picker__panel{display:flex;align-items:stretch;gap:var(--co-spacing-md);padding:var(--co-spacing-md)}.co-date-time-picker__calendar{flex:0 0 auto}.co-date-time-picker__side{width:12.5rem;display:flex;flex-direction:column;gap:var(--co-spacing-sm2);padding-left:var(--co-spacing-md);border-left:1px solid var(--co-semantic-border-default);box-sizing:border-box}.co-date-time-picker__sect{padding:var(--co-spacing-xxs) var(--co-spacing-sm2) 0;font-size:var(--co-font-size-11);font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--co-semantic-text-muted)}.co-date-time-picker__sect--time{padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle)}.co-date-time-picker__presets{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-date-time-picker__preset{display:flex;align-items:center;gap:var(--co-spacing-sm2);min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm2);border:0;border-radius:var(--co-border-radius-xs);background:transparent;font-family:inherit;font-size:var(--co-font-size-14);letter-spacing:inherit;color:var(--co-semantic-text-default);text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-time-picker__preset:hover{background:var(--co-semantic-surface-hover)}.co-date-time-picker__preset:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:1px}.co-date-time-picker__preset-icon{color:var(--co-semantic-text-muted)}.co-date-time-picker__preset-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.co-date-time-picker__preset-hint{margin-left:auto;font-size:var(--co-font-size-12);color:var(--co-semantic-text-muted)}.co-date-time-picker__footer{margin-top:auto;padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle);display:flex;justify-content:flex-end}.co-date-time-picker__btn{border:0;border-radius:var(--co-border-radius-xs);height:28px;padding:0 var(--co-spacing-md);font-family:inherit;font-size:var(--co-font-size-13);font-weight:500;letter-spacing:inherit;cursor:pointer}.co-date-time-picker__btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary)}.co-date-time-picker__btn--primary:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px}.co-date-time-picker__sheet{display:flex;justify-content:center;padding:var(--co-spacing-sm) 0 var(--co-spacing-lg)}.co-date-time-picker__panel--touch{flex-direction:column;align-items:center}.co-date-time-picker__panel--touch .co-date-time-picker__side{width:100%;max-width:20rem;padding-left:0;border-left:none;padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-default)}.co-date-time-picker__panel--touch .co-date-time-picker__sect{display:none;}.co-date-time-picker__panel--touch .co-date-time-picker__sect--time{display:none}.co-date-time-picker__panel--touch .co-date-time-picker__presets{flex-direction:row;gap:var(--co-spacing-sm);overflow-x:auto;scrollbar-width:none;padding-inline-end:var(--co-spacing-2xl);scroll-padding-inline-end:var(--co-spacing-2xl);-webkit-mask-image:linear-gradient(90deg, #000 calc(100% - var(--co-spacing-2xl)), transparent);mask-image:linear-gradient(90deg, #000 calc(100% - var(--co-spacing-2xl)), transparent)}.co-date-time-picker__panel--touch .co-date-time-picker__preset{flex:0 0 auto;min-height:44px;padding:0 var(--co-spacing-md);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-full)}.co-date-time-picker__panel--touch .co-date-time-picker__preset-hint{display:none;}.co-date-time-picker__panel--touch .co-date-time-picker__footer{margin-top:var(--co-spacing-sm2)}.co-date-time-picker__panel--touch .co-date-time-picker__btn--primary{width:100%;height:44px;font-size:var(--co-font-size-15, 15px);border-radius:var(--co-border-radius-sm)}:host([layout='horizontal']) .co-date-time-picker{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-date-time-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0;white-space:normal}:host([layout='horizontal']) .co-date-time-picker>:not(.co-date-time-picker__label){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}"}},[1,"co-date-time-picker",{value:[1025],timeZone:[1,"time-zone"],stepMinutes:[2,"step-minutes"],presetIds:[1,"preset-ids"],hour12:[4,"hour-1-2"],min:[1],max:[1],disabledDates:[1,"disabled-dates"],disabledDaysOfWeek:[1,"disabled-days-of-week"],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],label:[1],placeholder:[1],size:[513],variant:[513],name:[1],disabled:[4],readonly:[4],required:[4],clearable:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],layout:[513],placement:[1],open:[1540],mobileBreakpoint:[2,"mobile-breakpoint"],isMobile:[32],draftMinutes:[32]},void 0,{open:[{onOpenChange:0}]}]);x.PRESET_CATALOG={morning:{icon:"sun-horizon",minutes:540},noon:{icon:"sun",minutes:720},afternoon:{icon:"coffee",minutes:900},endOfDay:{icon:"moon",minutes:1080},now:{icon:"clock",minutes:"now"}};const y=new Map,w=new Map;function z(e,t,i){const o=`${t}|${i?12:24}|${e}`,a=y.get(o);if(void 0!==a)return a;let r=w.get(`${t}|${i?12:24}`);r||(r=new Intl.DateTimeFormat(t,Object.assign({hour:"numeric",minute:"2-digit"},i?{hour12:!0}:{hourCycle:"h23"})),w.set(`${t}|${i?12:24}`,r));const s=r.format(new Date(2e3,0,1,Math.floor(e/60),e%60));return y.size>2e3&&y.clear(),y.set(o,s),s}function C(){"undefined"!=typeof customElements&&["co-date-time-picker","co-calendar","co-drawer","co-icon","co-loader","co-overlay","co-popover","co-time-field"].forEach((e=>{switch(e){case"co-date-time-picker":customElements.get(a(e))||customElements.define(a(e),x);break;case"co-calendar":customElements.get(a(e))||c();break;case"co-drawer":customElements.get(a(e))||n();break;case"co-icon":customElements.get(a(e))||d();break;case"co-loader":customElements.get(a(e))||l();break;case"co-overlay":customElements.get(a(e))||p();break;case"co-popover":customElements.get(a(e))||h();break;case"co-time-field":customElements.get(a(e))||m()}}))}C();const D=x,j=C;export{D as CoDateTimePicker,j as defineCustomElement}
1
+ import{p as e,H as t,c as i,h as o,t as a}from"./index.js";import{R as r}from"./p-CWneqh4n.js";import{g as s}from"./p-jYd9gu_c.js";import{d as c}from"./p-D4XP17VP.js";import{d as n}from"./p-DB8DGMc-.js";import{d}from"./p-KK2vAKs-.js";import{d as l}from"./p-BH184F0X.js";import{d as p}from"./p-wUXcJGdy.js";import{d as h}from"./p-TGRbLkLz.js";import{d as m}from"./p-Dn2wblrA.js";import{z as u,b as f,a as _,w as g,t as v}from"./p-Ch837Ggl.js";import{f as k}from"./p-DJ468fPu.js";const b=540,x=e(class e extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=i(this,"coChange",7),this.coClear=i(this,"coClear",7),this.coFocus=i(this,"coFocus",7),this.coBlur=i(this,"coBlur",7),this.coOpen=i(this,"coOpen",3),this.coClose=i(this,"coClose",3),this.value=null,this.stepMinutes=15,this.presetIds=["morning","noon","afternoon","endOfDay","now"],this.hour12=!0,this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.size="md",this.variant="default",this.disabled=!1,this.readonly=!1,this.required=!1,this.clearable=!0,this.invalid=!1,this.layout="vertical",this.placement="bottom-start",this.open=!1,this.mobileBreakpoint=600,this.isMobile=!1,this.draftMinutes=b,this.pendingFocusGrid=!1,this.pendingFocusTrigger=!1,this.mqlHandler=e=>{this.isMobile=e.matches},this.onTriggerKeyDown=e=>{"ArrowDown"===e.key&&(e.preventDefault(),this.disabled||this.readonly||(this.open||this.setOpen(!0),this.pendingFocusGrid=!0,this.calendarEl&&this.focusGridSoon()))},this.onClearClick=e=>{e.stopPropagation(),this.disabled||this.readonly||(this.value=null,this.coClear.emit(),this.coChange.emit(null))},this.onCalendarSelect=e=>{const t=e.detail;t&&this.commit(t,this.draftMinutes)},this.pickTime=e=>{var t,i;const o=null!==(i=null===(t=this.parts)||void 0===t?void 0:t.dayKey)&&void 0!==i?i:u(Date.now(),this.zone);this.commit(o,e),this.draftMinutes=e,this.setOpen(!1),this.pendingFocusTrigger=!0},this.onTimeFieldInput=e=>{null!=e.detail&&(this.draftMinutes=e.detail)},this.onTimeFieldCommit=e=>{this.pickTime(e.detail)},this.onPopoverOpen=()=>{var e,t;this.disabled||this.readonly?null===(t=null===(e=this.popoverEl)||void 0===e?void 0:e.hide)||void 0===t||t.call(e):this.open||(this.open=!0,this.coOpen.emit())},this.closeApplyingDraft=()=>{this.open&&(this.parts&&this.draftMinutes!==this.parts.minutes&&this.commit(this.parts.dayKey,this.draftMinutes),this.setOpen(!1))},this.onPopoverClose=()=>{this.closeApplyingDraft()},this.onRootKeyDown=e=>{"Escape"===e.key&&this.open&&(e.stopPropagation(),this.setOpen(!1),this.pendingFocusTrigger=!0)}}connectedCallback(){"function"==typeof window.matchMedia&&(this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler))}disconnectedCallback(){var e;null===(e=this.mql)||void 0===e||e.removeEventListener("change",this.mqlHandler)}componentWillLoad(){var e,t;this.draftMinutes=null!==(t=null===(e=this.parts)||void 0===e?void 0:e.minutes)&&void 0!==t?t:b}onOpenChange(e){var t,i;e&&(this.draftMinutes=null!==(i=null===(t=this.parts)||void 0===t?void 0:t.minutes)&&void 0!==i?i:b)}get zone(){return this.timeZone||f()}get isInvalid(){return this.invalid}get parts(){const e=this.value;if(!e)return null;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return{dayKey:e,minutes:b};try{return{dayKey:u(e,this.zone),minutes:_(e,this.zone)}}catch(e){return null}}dayBound(e){if(e){if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;try{return u(e,this.zone)}catch(e){return}}}setOpen(e){this.open!==e&&(this.open=e,e?this.coOpen.emit():this.coClose.emit())}commit(e,t){const[i,o,a]=e.split("-").map(Number);if(!i||!o||!a)return;const r=g({year:i,month:o,day:a,hour:Math.floor(t/60),minute:t%60,second:0},this.zone),s=v(r);this.value=s,this.coChange.emit(s)}get presets(){const t="string"==typeof this.presetIds?this.presetIds.split(",").map((e=>e.trim())).filter(Boolean):this.presetIds;return Array.from(new Set(null!=t?t:[])).filter((t=>t in e.PRESET_CATALOG)).map((t=>{const i=e.PRESET_CATALOG[t],o="now"===i.minutes?_(Date.now(),this.zone):i.minutes;return{id:t,icon:i.icon,minutes:o}}))}focusGridSoon(){requestAnimationFrame((()=>{var e,t;null===(t=null===(e=this.calendarEl)||void 0===e?void 0:e.focusGrid)||void 0===t||t.call(e)}))}componentDidRender(){var e;this.pendingFocusGrid&&this.open&&this.calendarEl&&(this.pendingFocusGrid=!1,this.focusGridSoon()),this.pendingFocusTrigger&&(this.pendingFocusTrigger=!1,null===(e=this.triggerBtn)||void 0===e||e.focus())}get step(){const e=Math.round(Number(this.stepMinutes));return Number.isFinite(e)&&e>0?Math.min(720,e):15}renderTrigger(e){const t=this.parts,i=t?`${k(t.dayKey,this.displayFormat,this.locale)}, ${z(t.minutes,this.locale,this.hour12)}`:"",a=this.clearable&&!!t&&!this.disabled&&!this.readonly;return o("div",{class:{"co-date-time-picker__field":!0,"co-date-time-picker__field--disabled":this.disabled,"co-date-time-picker__field--readonly":this.readonly,"co-date-time-picker__field--invalid":this.isInvalid,["co-date-time-picker__field--"+this.size]:!0},part:"field"},o("co-icon",{name:"calendar",size:16,class:"co-date-time-picker__icon"}),o("button",{ref:e=>this.triggerBtn=e,type:"button",class:"co-date-time-picker__display",disabled:this.disabled,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false","aria-invalid":this.isInvalid?"true":"false","aria-label":this.label?void 0:e.dateLabel,onKeyDown:this.onTriggerKeyDown,onFocus:()=>this.coFocus.emit(),onBlur:()=>this.coBlur.emit(),part:"display"},i?o("span",{class:"co-date-time-picker__text"},i):o("span",{class:"co-date-time-picker__placeholder"},this.placeholder||e.setDateTime)),this.clearable&&o("button",{class:{"co-date-time-picker__clear":!0,"co-date-time-picker__clear--hidden":!a},type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:this.onClearClick,"aria-label":e.clearDateTime,part:"clear"},o("co-icon",{name:"x-circle",size:16,weight:"fill"})))}renderPanel(e,t){var i,a;return o("div",{class:{"co-date-time-picker__panel":!0,"co-date-time-picker__panel--touch":t}},o("co-calendar",{ref:e=>this.calendarEl=e,class:"co-date-time-picker__calendar","data-touch":t?"":void 0,value:null!==(a=null===(i=this.parts)||void 0===i?void 0:i.dayKey)&&void 0!==a?a:null,min:this.dayBound(this.min),max:this.dayBound(this.max),disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoSelect:this.onCalendarSelect}),o("div",{class:"co-date-time-picker__side"},o("div",{class:"co-date-time-picker__sect"},e.shortcuts),o("div",{class:"co-date-time-picker__presets"},this.presets.map((t=>o("button",{key:t.id,type:"button",class:"co-date-time-picker__preset",disabled:this.disabled||this.readonly,onClick:()=>{const e="now"===t.id?_(Date.now(),this.zone):t.minutes;this.pickTime(e)}},o("co-icon",{name:t.icon,size:16,class:"co-date-time-picker__preset-icon"}),o("span",{class:"co-date-time-picker__preset-label"},e[t.id]),o("span",{class:"co-date-time-picker__preset-hint"},z(t.minutes,this.locale,this.hour12)))))),o("div",{class:"co-date-time-picker__sect co-date-time-picker__sect--time"},e.timeExact),o("co-time-field",{"data-touch":t?"":void 0,value:this.draftMinutes,hour12:this.hour12,locale:this.locale,pageStep:this.step,disabled:this.disabled||this.readonly,onCoInput:this.onTimeFieldInput,onCoCommit:this.onTimeFieldCommit}),o("div",{class:"co-date-time-picker__footer"},o("button",{type:"button",class:"co-date-time-picker__btn co-date-time-picker__btn--primary",disabled:this.disabled||this.readonly,onClick:()=>this.pickTime(this.draftMinutes)},e.done))))}renderHelper(){const e=this.isInvalid?this.errorMessage:this.helperText;return e?o("div",{class:{"co-date-time-picker__helper":!0,"co-date-time-picker__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&o("co-icon",{name:"warning-circle",size:14}),o("span",null,e)):null}renderLabel(){return this.label?o("label",{class:"co-date-time-picker__label",part:"label"},this.label,o(r,{required:this.required})):null}render(){var e;const t=s(this.locale);return o("div",{key:"fd0f8441ff0531546790d1d318a580cd962bf345",class:"co-date-time-picker",onKeyDown:this.onRootKeyDown},this.renderLabel(),this.isMobile?[o("div",{class:"co-date-time-picker__trigger",onClick:()=>!this.disabled&&!this.readonly&&this.setOpen(!0)},this.renderTrigger(t)),o("co-drawer",{position:"bottom",open:this.open,heading:t.selectDateTime,onCoClose:this.closeApplyingDraft},o("div",{class:"co-date-time-picker__sheet"},this.renderPanel(t,!0)))]:o("co-popover",{ref:e=>this.popoverEl=e,open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},o("div",{slot:"trigger",class:"co-date-time-picker__trigger"},this.renderTrigger(t)),this.open&&this.renderPanel(t,!1)),this.name&&o("input",{key:"a30aed536d890836f468660f4f40f745504a6731",type:"hidden",name:this.name,value:null!==(e=this.value)&&void 0!==e?e:""}),this.renderHelper())}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-time-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-date-time-picker__label{padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-date-time-picker co-popover{display:block;width:100%}.co-date-time-picker__trigger{display:block;width:100%}.co-date-time-picker__field{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:40px;box-sizing:border-box;overflow:hidden;min-width:0}.co-date-time-picker__field--s{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm)}.co-date-time-picker__field--sm{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm)}.co-date-time-picker__field--lg{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg)}:host([variant='flat']) .co-date-time-picker__field{background:transparent;border-color:transparent}.co-date-time-picker__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-date-time-picker__display{flex:1;min-width:0;display:flex;align-items:center;min-height:22px;padding:0;margin:0;border:none;background:transparent;font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;color:var(--co-semantic-text-default);text-align:left;cursor:pointer;outline:none}.co-date-time-picker__text,.co-date-time-picker__placeholder{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-date-time-picker__placeholder{color:var(--co-semantic-text-muted)}.co-date-time-picker__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-time-picker__clear--hidden{visibility:hidden;pointer-events:none}.co-date-time-picker__clear:hover{color:var(--co-semantic-text-default)}.co-date-time-picker__field:focus-within{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-date-time-picker__field--disabled{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed;pointer-events:none}.co-date-time-picker__field--disabled .co-date-time-picker__display,.co-date-time-picker__field--disabled .co-date-time-picker__placeholder,.co-date-time-picker__field--disabled .co-date-time-picker__icon{color:var(--co-semantic-text-disabled);cursor:not-allowed}.co-date-time-picker__field--readonly .co-date-time-picker__display{cursor:default}.co-date-time-picker__field--invalid{border-color:var(--co-semantic-status-error)}.co-date-time-picker__field--invalid:focus-within{border-color:var(--co-semantic-status-error);box-shadow:0 0 0 2px rgba(170, 46, 27, 0.12)}.co-date-time-picker__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-time-picker__helper--error{color:var(--co-semantic-status-error)}.co-date-time-picker__panel{display:flex;align-items:stretch;gap:var(--co-spacing-md);padding:var(--co-spacing-md)}.co-date-time-picker__calendar{flex:0 0 auto}.co-date-time-picker__side{width:12.5rem;display:flex;flex-direction:column;gap:var(--co-spacing-sm2);padding-left:var(--co-spacing-md);border-left:1px solid var(--co-semantic-border-default);box-sizing:border-box}.co-date-time-picker__sect{padding:var(--co-spacing-xxs) var(--co-spacing-sm2) 0;font-size:var(--co-font-size-11);font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--co-semantic-text-muted)}.co-date-time-picker__sect--time{padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle)}.co-date-time-picker__presets{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-date-time-picker__preset{display:flex;align-items:center;gap:var(--co-spacing-sm2);min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm2);border:0;border-radius:var(--co-border-radius-xs);background:transparent;font-family:inherit;font-size:var(--co-font-size-14);letter-spacing:inherit;color:var(--co-semantic-text-default);text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-time-picker__preset:hover{background:var(--co-semantic-surface-hover)}.co-date-time-picker__preset:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:1px}.co-date-time-picker__preset-icon{color:var(--co-semantic-text-muted)}.co-date-time-picker__preset-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.co-date-time-picker__preset-hint{margin-left:auto;font-size:var(--co-font-size-12);color:var(--co-semantic-text-muted)}.co-date-time-picker__footer{margin-top:auto;padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle);display:flex;justify-content:flex-end}.co-date-time-picker__btn{border:0;border-radius:var(--co-border-radius-xs);height:28px;padding:0 var(--co-spacing-md);font-family:inherit;font-size:var(--co-font-size-13);font-weight:500;letter-spacing:inherit;cursor:pointer}.co-date-time-picker__btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary)}.co-date-time-picker__btn--primary:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px}.co-date-time-picker__sheet{display:flex;justify-content:center;padding:var(--co-spacing-sm) 0 var(--co-spacing-lg)}.co-date-time-picker__panel--touch{flex-direction:column;align-items:center}.co-date-time-picker__panel--touch .co-date-time-picker__side{width:100%;max-width:20rem;padding-left:0;border-left:none;padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-default)}.co-date-time-picker__panel--touch .co-date-time-picker__sect{display:none;}.co-date-time-picker__panel--touch .co-date-time-picker__sect--time{display:none}.co-date-time-picker__panel--touch .co-date-time-picker__presets{flex-direction:row;gap:var(--co-spacing-sm);overflow-x:auto;scrollbar-width:none;padding-inline-end:var(--co-spacing-2xl);scroll-padding-inline-end:var(--co-spacing-2xl);-webkit-mask-image:linear-gradient(90deg, #000 calc(100% - var(--co-spacing-2xl)), transparent);mask-image:linear-gradient(90deg, #000 calc(100% - var(--co-spacing-2xl)), transparent)}.co-date-time-picker__panel--touch .co-date-time-picker__preset{flex:0 0 auto;min-height:44px;padding:0 var(--co-spacing-md);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-full)}.co-date-time-picker__panel--touch .co-date-time-picker__preset-hint{display:none;}.co-date-time-picker__panel--touch .co-date-time-picker__footer{margin-top:var(--co-spacing-sm2)}.co-date-time-picker__panel--touch .co-date-time-picker__btn--primary{width:100%;height:44px;font-size:var(--co-font-size-15, 15px);border-radius:var(--co-border-radius-sm)}:host([layout='horizontal']) .co-date-time-picker{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-date-time-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0;white-space:normal}:host([layout='horizontal']) .co-date-time-picker>:not(.co-date-time-picker__label){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}"}},[1,"co-date-time-picker",{value:[1025],timeZone:[1,"time-zone"],stepMinutes:[2,"step-minutes"],presetIds:[1,"preset-ids"],hour12:[4,"hour-1-2"],min:[1],max:[1],disabledDates:[1,"disabled-dates"],disabledDaysOfWeek:[1,"disabled-days-of-week"],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],label:[1],placeholder:[1],size:[513],variant:[513],name:[1],disabled:[4],readonly:[4],required:[4],clearable:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],layout:[513],placement:[1],open:[1540],mobileBreakpoint:[2,"mobile-breakpoint"],isMobile:[32],draftMinutes:[32]},void 0,{open:[{onOpenChange:0}]}]);x.PRESET_CATALOG={morning:{icon:"sun-horizon",minutes:540},noon:{icon:"sun",minutes:720},afternoon:{icon:"coffee",minutes:900},endOfDay:{icon:"moon",minutes:1080},now:{icon:"clock",minutes:"now"}};const y=new Map,w=new Map;function z(e,t,i){const o=`${t}|${i?12:24}|${e}`,a=y.get(o);if(void 0!==a)return a;let r=w.get(`${t}|${i?12:24}`);r||(r=new Intl.DateTimeFormat(t,Object.assign({hour:"numeric",minute:"2-digit"},i?{hour12:!0}:{hourCycle:"h23"})),w.set(`${t}|${i?12:24}`,r));const s=r.format(new Date(2e3,0,1,Math.floor(e/60),e%60));return y.size>2e3&&y.clear(),y.set(o,s),s}function C(){"undefined"!=typeof customElements&&["co-date-time-picker","co-calendar","co-drawer","co-icon","co-loader","co-overlay","co-popover","co-time-field"].forEach((e=>{switch(e){case"co-date-time-picker":customElements.get(a(e))||customElements.define(a(e),x);break;case"co-calendar":customElements.get(a(e))||c();break;case"co-drawer":customElements.get(a(e))||n();break;case"co-icon":customElements.get(a(e))||d();break;case"co-loader":customElements.get(a(e))||l();break;case"co-overlay":customElements.get(a(e))||p();break;case"co-popover":customElements.get(a(e))||h();break;case"co-time-field":customElements.get(a(e))||m()}}))}C();const D=x,j=C;export{D as CoDateTimePicker,j as defineCustomElement}