@nova-design-system/nova-webcomponents 3.16.0 → 3.18.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index-93d3b2f8.js +4 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/native.cjs.js +1 -1
- package/dist/cjs/nv-button.cjs.entry.js +1 -7
- package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-datagrid.cjs.entry.js +1 -1
- package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-icon.cjs.entry.js +1 -1
- package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-split.cjs.entry.js +339 -0
- package/dist/cjs/nv-split.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-stack.cjs.entry.js +1 -1
- package/dist/cjs/nv-table.cjs.entry.js +1 -1
- package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
- package/dist/cjs/nv-togglebutton.cjs.entry.js +1 -1
- package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +1 -1
- package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/nv-button/nv-button.js +1 -13
- package/dist/collection/components/nv-button/nv-button.js.map +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.css +4 -4
- package/dist/collection/components/nv-icon/nv-icons.js +1 -1
- package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
- package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
- package/dist/collection/components/nv-split/nv-split.docs.js +41 -0
- package/dist/collection/components/nv-split/nv-split.docs.js.map +1 -0
- package/dist/collection/components/nv-split/nv-split.js +549 -0
- package/dist/collection/components/nv-split/nv-split.js.map +1 -0
- package/dist/collection/components/nv-split/styles/nv-split.css +96 -0
- package/dist/collection/components/nv-stack/nv-stack.js +1 -1
- package/dist/collection/components/nv-table/nv-table.js +1 -1
- package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
- package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +1 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +1 -1
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/nv-accordion-item.js +1 -1
- package/dist/components/nv-accordion.js +3 -3
- package/dist/components/nv-alert.js +1 -1
- package/dist/components/nv-avatar.js +1 -1
- package/dist/components/nv-badge.js +1 -1
- package/dist/components/nv-breadcrumb.js +1 -1
- package/dist/components/nv-button.js +1 -1
- package/dist/components/nv-datagrid.js +3 -3
- package/dist/components/nv-datagrid.js.map +1 -1
- package/dist/components/nv-dialog.js +3 -3
- package/dist/components/nv-dialogfooter.js +1 -1
- package/dist/components/nv-fielddate.js +2 -2
- package/dist/components/nv-fielddaterange.js +2 -2
- package/dist/components/nv-fielddropdown.js +3 -3
- package/dist/components/nv-fielddropdownitem.js +1 -1
- package/dist/components/nv-fieldmultiselect.js +3 -3
- package/dist/components/nv-fieldnumber.js +1 -1
- package/dist/components/nv-fieldpassword.js +2 -2
- package/dist/components/nv-fieldselect.js +2 -2
- package/dist/components/nv-fieldslider.js +3 -3
- package/dist/components/nv-fieldtext.js +1 -1
- package/dist/components/nv-fieldtime.js +2 -2
- package/dist/components/nv-icon.js +1 -1
- package/dist/components/nv-iconbutton.js +1 -1
- package/dist/components/nv-menu.js +2 -2
- package/dist/components/nv-menuitem.js +1 -1
- package/dist/components/nv-notification.js +1 -1
- package/dist/components/nv-split.d.ts +11 -0
- package/dist/components/nv-split.js +366 -0
- package/dist/components/nv-split.js.map +1 -0
- package/dist/components/nv-stack.js +1 -1
- package/dist/components/nv-table.js +1 -1
- package/dist/components/nv-toggle.js +2 -2
- package/dist/components/nv-togglebutton.js +1 -1
- package/dist/components/nv-togglebuttongroup.js +1 -1
- package/dist/components/nv-tooltip.js +1 -1
- package/dist/components/{p-0fd23531.js → p-147cefeb.js} +3 -3
- package/dist/components/{p-0fd23531.js.map → p-147cefeb.js.map} +1 -1
- package/dist/components/{p-378e3127.js → p-47a33f6b.js} +3 -3
- package/dist/components/{p-378e3127.js.map → p-47a33f6b.js.map} +1 -1
- package/dist/components/{p-f2bac2aa.js → p-6e67bfc0.js} +2 -2
- package/dist/components/{p-f2bac2aa.js.map → p-6e67bfc0.js.map} +1 -1
- package/dist/components/{p-9707528d.js → p-6f2b257e.js} +2 -2
- package/dist/components/{p-9707528d.js.map → p-6f2b257e.js.map} +1 -1
- package/dist/components/{p-2cc83e0c.js → p-766a3f49.js} +2 -2
- package/dist/components/{p-2cc83e0c.js.map → p-766a3f49.js.map} +1 -1
- package/dist/components/{p-7112612c.js → p-7684ad27.js} +2 -2
- package/dist/components/{p-7112612c.js.map → p-7684ad27.js.map} +1 -1
- package/dist/components/{p-31478080.js → p-811c9225.js} +2 -2
- package/dist/components/{p-31478080.js.map → p-811c9225.js.map} +1 -1
- package/dist/components/{p-2d64749f.js → p-9e7468e3.js} +3 -9
- package/dist/components/p-9e7468e3.js.map +1 -0
- package/dist/components/{p-47d499b4.js → p-be6e2884.js} +2 -2
- package/dist/components/{p-47d499b4.js.map → p-be6e2884.js.map} +1 -1
- package/dist/components/{p-a1ef5e37.js → p-e43a36c4.js} +3 -3
- package/dist/components/{p-a1ef5e37.js.map → p-e43a36c4.js.map} +1 -1
- package/dist/components/{p-df5d76a5.js → p-ec31af69.js} +2 -2
- package/dist/components/{p-df5d76a5.js.map → p-ec31af69.js.map} +1 -1
- package/dist/esm/index-dc2723f3.js +4 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/native.js +1 -1
- package/dist/esm/nv-button.entry.js +1 -7
- package/dist/esm/nv-button.entry.js.map +1 -1
- package/dist/esm/nv-datagrid.entry.js +1 -1
- package/dist/esm/nv-datagrid.entry.js.map +1 -1
- package/dist/esm/nv-icon.entry.js +1 -1
- package/dist/esm/nv-icon.entry.js.map +1 -1
- package/dist/esm/nv-split.entry.js +335 -0
- package/dist/esm/nv-split.entry.js.map +1 -0
- package/dist/esm/nv-stack.entry.js +1 -1
- package/dist/esm/nv-table.entry.js +1 -1
- package/dist/esm/nv-toggle.entry.js +2 -2
- package/dist/esm/nv-togglebutton.entry.js +1 -1
- package/dist/esm/nv-togglebuttongroup.entry.js +1 -1
- package/dist/esm/nv-tooltip.entry.js +1 -1
- package/dist/native/index.esm.js +1 -1
- package/dist/native/index.esm.js.map +1 -1
- package/dist/native/native.css +1 -1
- package/dist/native/native.esm.js +1 -1
- package/dist/native/native.esm.js.map +1 -1
- package/dist/native/{p-4eaf417d.entry.js → p-122c78c3.entry.js} +2 -2
- package/dist/native/{p-4eaf417d.entry.js.map → p-122c78c3.entry.js.map} +1 -1
- package/dist/native/{p-445221dc.entry.js → p-14e622e1.entry.js} +2 -2
- package/dist/native/p-2364aefa.entry.js +2 -0
- package/dist/native/p-2364aefa.entry.js.map +1 -0
- package/dist/native/{p-44a78545.entry.js → p-52d2c0ae.entry.js} +2 -2
- package/dist/native/{p-a2f58133.entry.js → p-638967bf.entry.js} +2 -2
- package/dist/native/{p-26513cbd.entry.js → p-74572fce.entry.js} +2 -2
- package/dist/native/{p-26513cbd.entry.js.map → p-74572fce.entry.js.map} +1 -1
- package/dist/native/{p-075d231e.entry.js → p-91fab6c2.entry.js} +2 -2
- package/dist/native/{p-d45ee8e5.entry.js → p-a6fc987a.entry.js} +2 -2
- package/dist/native/p-a6fc987a.entry.js.map +1 -0
- package/dist/native/{p-dfb6b65e.entry.js → p-cb0293ec.entry.js} +2 -2
- package/dist/native/{p-b02c896a.entry.js → p-d94bf052.entry.js} +2 -2
- package/dist/types/components/nv-button/nv-button.d.ts +0 -1
- package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
- package/dist/types/components/nv-split/nv-split.d.ts +128 -0
- package/dist/types/components/nv-split/nv-split.docs.d.ts +4 -0
- package/dist/types/components.d.ts +107 -0
- package/dist/vscode-data.json +26 -1
- package/hydrate/index.js +365 -17
- package/hydrate/index.mjs +365 -17
- package/package.json +5 -1
- package/dist/components/p-2d64749f.js.map +0 -1
- package/dist/native/p-d45ee8e5.entry.js.map +0 -1
- /package/dist/native/{p-445221dc.entry.js.map → p-14e622e1.entry.js.map} +0 -0
- /package/dist/native/{p-44a78545.entry.js.map → p-52d2c0ae.entry.js.map} +0 -0
- /package/dist/native/{p-a2f58133.entry.js.map → p-638967bf.entry.js.map} +0 -0
- /package/dist/native/{p-075d231e.entry.js.map → p-91fab6c2.entry.js.map} +0 -0
- /package/dist/native/{p-dfb6b65e.entry.js.map → p-cb0293ec.entry.js.map} +0 -0
- /package/dist/native/{p-b02c896a.entry.js.map → p-d94bf052.entry.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as o,h as t,H as n,g as a}from"./p-3060df80.js";import{c as r}from"./p-8a1a6e56.js";import{v as i}from"./p-f5ff676c.js";const
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,c as o,h as t,H as n,g as a}from"./p-3060df80.js";import{c as r}from"./p-8a1a6e56.js";import{v as i}from"./p-f5ff676c.js";const l='nv-toggle{display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-toggle:not([disabled],[readonly]) input,nv-toggle:not([disabled],[readonly]) label{cursor:pointer}nv-toggle.label-placement-before{flex-direction:row-reverse}nv-toggle[disabled]{opacity:0.5}nv-toggle label{align-self:stretch;color:var(--components-form-text-label-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-label-line-height)}nv-toggle label.visually-hidden{position:absolute;padding:0;border:0;overflow:hidden;white-space:nowrap;width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0)}nv-toggle .input-container{position:relative;color:var(--components-form-shape-foreground-default)}nv-toggle .input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--components-form-shape-foreground-disabled)}nv-toggle .input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-toggle-width);height:var(--form-toggle-height);flex-direction:column;align-items:flex-start;border-radius:var(--form-toggle-radius);border-width:var(--form-toggle-border-width);border-style:solid;border-color:var(--components-toggle-border-default);background:var(--components-toggle-background-default)}nv-toggle .input-container input[type=checkbox]::after{content:"";display:block;width:var(--form-toggle-switch-dot-default);height:var(--form-toggle-switch-dot-default);background-color:var(--components-toggle-shape-default);border-radius:var(--radius-rounded-full);position:absolute;top:50%;left:25%;transform:translate(-50%, -50%)}nv-toggle .input-container input[type=checkbox]:hover{border-color:var(--components-toggle-border-hover)}nv-toggle .input-container input[type=checkbox]:hover::after{background-color:var(--components-toggle-shape-hover)}nv-toggle .input-container input[type=checkbox]:focus{border-color:var(--components-toggle-border-default)}nv-toggle .input-container input[type=checkbox]:focus::after{background-color:var(--components-toggle-shape-default)}nv-toggle .input-container input[type=checkbox]:focus,nv-toggle .input-container input[type=checkbox]:focus-within{outline:none}nv-toggle .input-container input[type=checkbox]:focus-visible,nv-toggle .input-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-toggle .input-container input[type=checkbox]:checked{background:var(--components-toggle-background-default-checked);border-color:var(--components-toggle-border-default-checked)}nv-toggle .input-container input[type=checkbox]:checked::after{content:"";display:block;width:var(--form-toggle-switch-dot-default);height:var(--form-toggle-switch-dot-default);background-color:var(--components-toggle-shape-default-checked);border-radius:var(--radius-rounded-full);position:absolute;top:50%;left:75%;transform:translate(-50%, -50%)}nv-toggle .input-container input[type=checkbox]:checked:focus{background:var(--components-toggle-background-default-checked);border-color:var(--components-toggle-border-default-checked)}nv-toggle .input-container input[type=checkbox]:disabled:not([readonly]){box-shadow:unset;background:var(--components-toggle-background-disabled);border-color:var(--components-toggle-border-default)}nv-toggle .input-container input[type=checkbox]:disabled:not([readonly]):checked{background:var(--components-toggle-background-disabled-checked);border-color:var(--components-toggle-border-disabled-checked)}nv-toggle .input-container input[type=checkbox]:disabled:not([readonly]):checked::after{background-color:var(--components-toggle-shape-disabled-checked)}nv-toggle .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:450;line-height:var(--form-description-line-height)}nv-toggle .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}';const c=l;const s=class{constructor(t){e(this,t);this.checkedChanged=o(this,"checkedChanged",7);this.inputId=i();this.hideLabel=false;this.checked=false;this.disabled=false;this.readonly=false}onCheckedChanged(e){this.checkedChanged.emit(e)}handleChange(e){const o=e.target;if(o.type==="checkbox"&&o.id===this.inputId){if(this.readonly||this.disabled){e.preventDefault();return}this.checked=o.checked}}render(){return t(n,{key:"0f440b59ac0c32d9abe9577668d7045081819b49",class:r(this.labelPlacement==="before"&&"label-placement-before")},t("div",{key:"4289435e34eb31a8e59e00cefcba2e17e98bd03a",class:"input-container"},t("input",{key:"1b7d05f77fd32cece9eed2e6cf79c7e2e707f64c",type:"checkbox",id:this.inputId,name:this.name,autocomplete:"off",value:this.value,checked:Boolean(this.checked),disabled:this.disabled||this.readonly,readonly:this.readonly})),t("div",{key:"6d78d7e80eb790bbead21bba6108329f9ded3746",class:"text-container"},(this.label||this.el.querySelector('[slot="label"]'))&&t("label",{key:"524a2c2542a45945bddb688c5dff6c9426d58570",htmlFor:this.inputId,class:r(this.hideLabel&&"visually-hidden")},t("slot",{key:"59eda4b826602062620e7167acf3c8de0f77ebef",name:"label"},this.label)),(this.description||this.el.querySelector('[slot="description"]'))&&t("div",{key:"6e8412879ed60fc6806464432348bd52483e3567",class:"description"},t("slot",{key:"85a876130569a5a4051e271eaf1cf49593a014a6",name:"description"},this.description))))}static get formAssociated(){return true}get el(){return a(this)}static get watchers(){return{checked:["onCheckedChanged"]}}};s.style=c;export{s as nv_toggle};
|
|
2
|
+
//# sourceMappingURL=p-14e622e1.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as i,h as s,H as e,g as n}from"./p-3060df80.js";const o='nv-split{display:flex;width:100%;height:100%;position:relative}nv-split[direction=horizontal]{flex-direction:row}nv-split[direction=vertical]{flex-direction:column}nv-split .nv-split-gutter{position:absolute;z-index:10;background:transparent;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background-color 0.2s ease}nv-split .nv-split-gutter::after{content:"";position:absolute;background:var(--nv-color-neutral-400, #ccc);border-radius:2px;transition:background-color 0.2s ease}nv-split .nv-split-gutter:hover::after{background:var(--nv-color-brand-primary, #0066cc)}nv-split .nv-split-gutter::before{content:"";position:absolute;background-repeat:no-repeat;background-position:center;opacity:0.4;transition:opacity 0.2s ease;pointer-events:none}nv-split .nv-split-gutter:hover::before{opacity:0.7}nv-split[direction=horizontal]>.nv-split-gutter{width:var(--nv-split-gutter-size, 24px);top:0;bottom:0;transform:translateX(-50%);cursor:col-resize}nv-split[direction=horizontal]>.nv-split-gutter::after{width:2px;height:60%;left:50%;top:20%;transform:translateX(-50%)}nv-split[direction=horizontal]>.nv-split-gutter::before{width:16px;height:16px}nv-split[direction=vertical]>.nv-split-gutter{height:var(--nv-split-gutter-size, 24px);left:0;right:0;transform:translateY(-50%);cursor:row-resize}nv-split[direction=vertical]>.nv-split-gutter::after{height:2px;width:60%;top:50%;left:20%;transform:translateY(-50%)}nv-split[direction=vertical]>.nv-split-gutter::before{width:16px;height:16px}nv-split[data-dragging=true]>.nv-split-gutter::after{background:var(--nv-color-neutral-500, #9ca3af)}nv-split>[slot=pane]{flex:1 1 auto;overflow:hidden;min-width:0;min-height:0;display:flex;flex-direction:column}nv-split>[slot=pane]>nv-split{flex:1 1 auto;width:100%;height:100%}';const r=o;const h=class{constructor(s){t(this,s);this.sizesChanged=i(this,"sizesChanged",7);this.direction="horizontal";this.sizes=[];this.gutterSize=24;this.isDragging=false;this.dragIndex=-1;this.startPos=0;this.startSizes=[];this.onDocMove=t=>this.handleMouseMove(t);this.onDocUp=()=>this.stopDragging()}onSizesChanged(){this.applySizes()}onDirectionChanged(){this.ensureGutters();this.applySizes()}componentDidLoad(){this.ensureGutters();this.applySizes();this.positionGutters();this.ro=new ResizeObserver((()=>this.positionGutters()));this.ro.observe(this.el);window.addEventListener("resize",(()=>this.positionGutters()))}disconnectedCallback(){var t;this.detachDocumentListeners();(t=this.ro)===null||t===void 0?void 0:t.disconnect();this.ro=undefined}async setSizes(t){this.sizes=[...t];this.applySizes();this.sizesChanged.emit([...this.sizes]);this.positionGutters()}async getSizes(){return[...this.sizes]}async collapse(t){const i=this.getPanes();if(t<0||t>=i.length)return;const s=new Array(i.length).fill(0);const e=t<i.length-1?t+1:t-1;if(e>=0)s[e]=100;this.sizes=s;this.applySizes();this.sizesChanged.emit([...this.sizes]);this.positionGutters()}async destroy(){var t;this.sizes=[];this.isDragging=false;this.dragIndex=-1;this.removeOwnGutters();this.detachDocumentListeners();(t=this.ro)===null||t===void 0?void 0:t.disconnect()}getPanes(){return Array.from(this.el.querySelectorAll(':scope > [slot="pane"]'))}getOwnGutters(){return Array.from(this.el.querySelectorAll(':scope > .nv-split-gutter[data-auto="true"]'))}removeOwnGutters(){this.getOwnGutters().forEach((t=>t.remove()))}ensureGutters(){const t=this.getPanes();this.removeOwnGutters();if(t.length<=1)return;t.forEach(((i,s)=>{if(s>=t.length-1)return;const e=document.createElement("div");e.className="nv-split-gutter";e.setAttribute("data-auto","true");if(this.direction==="horizontal"){e.style.width=`${this.gutterSize}px`;e.style.cursor="col-resize"}else{e.style.height=`${this.gutterSize}px`;e.style.cursor="row-resize"}const n=document.createElement("slot");n.name="gutter";e.appendChild(n);e.addEventListener("mousedown",(t=>this.startDragging(t,s)));i.insertAdjacentElement("afterend",e)}));this.positionGutters()}applySizes(){const t=this.getPanes();const i=t.length;if(i===0)return;if(!this.sizes||this.sizes.length!==i){this.sizes=Array(i).fill(100/i)}t.forEach(((t,s)=>{var e;const n=Math.max(0,(e=this.sizes[s])!==null&&e!==void 0?e:100/i);t.style.flex=`0 0 ${n}%`;t.style.minWidth="0";t.style.minHeight="0";t.style.overflow="hidden";t.style.display="flex";t.style.flexDirection="column"}));this.positionGutters()}attachDocumentListeners(){document.addEventListener("mousemove",this.onDocMove);document.addEventListener("mouseup",this.onDocUp)}detachDocumentListeners(){document.removeEventListener("mousemove",this.onDocMove);document.removeEventListener("mouseup",this.onDocUp)}positionGutters(){var t,i;const s=this.getPanes();const e=this.getOwnGutters();if(s.length<=1||e.length===0)return;const n=this.direction==="horizontal";let o=0;for(let r=0;r<e.length;r++){const h=(i=(t=this.sizes)===null||t===void 0?void 0:t[r])!==null&&i!==void 0?i:100/s.length;o+=h;const a=e[r];a.style.position="absolute";if(n){a.style.left=`${o}%`;a.style.top="0";a.style.bottom="0";a.style.height="100%"}else{a.style.top=`${o}%`;a.style.left="0";a.style.right="0";a.style.width="100%"}}}startDragging(t,i){this.isDragging=true;this.dragIndex=i;this.startPos=this.direction==="horizontal"?t.clientX:t.clientY;this.startSizes=[...this.sizes];this.attachDocumentListeners()}handleMouseMove(t){var i,s,e,n;if(!this.isDragging||this.dragIndex<0)return;const o=this.getPanes();if(o.length<2)return;const r=this.el.getBoundingClientRect();const h=this.direction==="horizontal"?r.width:r.height;const a=Math.max(h,1);const l=(this.direction==="horizontal"?t.clientX:t.clientY)-this.startPos;const c=l/a*100;const u=this.dragIndex;const d=u+1;let p=this.startSizes[u]+c;let v=this.startSizes[d]-c;const f=((s=(i=this.minSizes)===null||i===void 0?void 0:i[u])!==null&&s!==void 0?s:0)/a*100;const g=((n=(e=this.minSizes)===null||e===void 0?void 0:e[d])!==null&&n!==void 0?n:0)/a*100;p=Math.max(p,f);v=Math.max(v,g);const m=p+v;const b=this.startSizes[u]+this.startSizes[d];if(Math.abs(m-b)>1e-4){const t=b/(m||1);p*=t;v*=t}const z=[...this.startSizes];z[u]=p;z[d]=v;this.sizes=z;this.applySizes();this.sizesChanged.emit([...this.sizes]);this.positionGutters()}stopDragging(){if(!this.isDragging)return;this.isDragging=false;this.dragIndex=-1;this.detachDocumentListeners()}render(){return s(e,{key:"e3b158ff1b4f665862079d245c219102d8b8ccda","data-dragging":this.isDragging.toString()},s("slot",{key:"baa8105a05bf8446d7a31a23cd5276edb320ea2f",name:"pane"}),s("slot",{key:"44afe4f4a220aff45f802218f2618e9305141a9f",name:"gutter"}))}get el(){return n(this)}static get watchers(){return{sizes:["onSizesChanged"],direction:["onDirectionChanged"]}}};h.style=r;export{h as nv_split};
|
|
2
|
+
//# sourceMappingURL=p-2364aefa.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["nvSplitCss","NvSplitStyle0","NvSplit","constructor","hostRef","this","direction","sizes","gutterSize","isDragging","dragIndex","startPos","startSizes","onDocMove","ev","handleMouseMove","onDocUp","stopDragging","onSizesChanged","applySizes","onDirectionChanged","ensureGutters","componentDidLoad","positionGutters","ro","ResizeObserver","observe","el","window","addEventListener","disconnectedCallback","detachDocumentListeners","_a","disconnect","undefined","setSizes","sizesChanged","emit","getSizes","collapse","index","panes","getPanes","length","next","Array","fill","target","destroy","removeOwnGutters","from","querySelectorAll","getOwnGutters","forEach","g","remove","pane","i","document","createElement","className","setAttribute","style","width","cursor","height","slotEl","name","appendChild","startDragging","insertAdjacentElement","n","size","Math","max","flex","minWidth","minHeight","overflow","display","flexDirection","attachDocumentListeners","removeEventListener","gutters","horizontal","cumPct","sizePct","_b","position","left","top","bottom","right","clientX","clientY","rect","getBoundingClientRect","rawSize","totalPx","deltaPx","deltaPct","j","minLeftPct","minSizes","minRightPct","_d","_c","pairSum","targetSum","abs","k","render","h","Host","key","toString"],"sources":["src/components/nv-split/styles/nv-split.scss?tag=nv-split","src/components/nv-split/nv-split.tsx"],"sourcesContent":["@use './mixins' as *;\n@use './variables' as *;\n\nnv-split {\n display: flex;\n width: 100%;\n height: 100%;\n position: relative;\n\n &[direction='horizontal'] {\n flex-direction: row;\n }\n\n &[direction='vertical'] {\n flex-direction: column;\n }\n\n .nv-split-gutter {\n @include split-gutter-base;\n }\n\n &[direction='horizontal'] > .nv-split-gutter {\n @include split-gutter-horizontal;\n }\n\n &[direction='vertical'] > .nv-split-gutter {\n @include split-gutter-vertical;\n }\n\n &[data-dragging='true'] > .nv-split-gutter::after {\n background: $nv-split-line-active-color;\n }\n\n > [slot='pane'] {\n flex: 1 1 auto;\n overflow: hidden;\n min-width: 0;\n min-height: 0;\n display: flex;\n flex-direction: column;\n }\n\n > [slot='pane'] > nv-split {\n flex: 1 1 auto;\n width: 100%;\n height: 100%;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n Method,\n State,\n Watch,\n} from '@stencil/core';\n\n/**\n * The `nv-split` component is an advanced layout container that enables the creation of interactively resizable panels. It provides a flexible solution for dividing available space between multiple interface sections, with precise control over dimensions and constraints for each panel.\n * @slot pane - Content of each split pane. Use multiple `<div slot=\"pane\">` elements.\n * @slot gutter - Optional custom content inside every gutter handle.\n */\n@Component({\n tag: 'nv-split',\n styleUrl: 'styles/nv-split.scss',\n shadow: false,\n})\nexport class NvSplit {\n @Element() el: HTMLNvSplitElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Direction of the split layout.\n * - `horizontal`: panes side by side\n * - `vertical`: panes stacked\n */\n @Prop({ reflect: true })\n readonly direction: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Initial sizes of the panes in percentages.\n * Example: `[50, 50]` means two equal panes.\n * Explicitly `reflect: false` (array) for framework compatibility.\n */\n @Prop({ mutable: true, reflect: false })\n sizes: number[] = [];\n\n /**\n * Minimum sizes (in px) for each pane.\n * Example: `[100, 200]` => first pane min 100px, second min 200px.\n * Explicitly `reflect: false` (array) for framework compatibility.\n */\n @Prop({ reflect: false })\n readonly minSizes?: number[];\n\n /**\n * Width or height of the gutter (in px) depending on the split direction.\n * Default is 24px to meet WCAG 2.2 target size requirements for touch accessibility.\n */\n @Prop({ reflect: true })\n readonly gutterSize: number = 24;\n\n //#endregion\n /****************************************************************************/\n //#region STATE\n\n @State()\n private isDragging: boolean = false;\n\n private dragIndex: number = -1;\n private startPos: number = 0;\n private startSizes: number[] = [];\n private ro?: ResizeObserver;\n\n // Handlers stored to be able to detach them\n private onDocMove = (ev: MouseEvent) => this.handleMouseMove(ev);\n private onDocUp = () => this.stopDragging();\n\n //#endregion\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when pane sizes are updated (either via dragging or programmatically).\n * @bind sizes\n */\n @Event()\n sizesChanged: EventEmitter<number[]>;\n\n //#endregion\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('sizes')\n protected onSizesChanged(): void {\n // Re-apply sizes if modified from the outside\n this.applySizes();\n }\n\n @Watch('direction')\n protected onDirectionChanged(): void {\n // Update the orientation and the cursors of the gutters\n this.ensureGutters();\n this.applySizes();\n }\n\n //#endregion\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentDidLoad(): void {\n // Initialization (once)\n this.ensureGutters();\n this.applySizes();\n this.positionGutters();\n\n // Observer: reposition gutters when resized (nested or parent split changes)\n this.ro = new ResizeObserver(() => this.positionGutters());\n this.ro.observe(this.el);\n\n window.addEventListener('resize', () => this.positionGutters());\n }\n\n disconnectedCallback(): void {\n // Security cleanup (in case a drag was in progress)\n this.detachDocumentListeners();\n this.ro?.disconnect();\n this.ro = undefined;\n }\n\n //#endregion\n /****************************************************************************/\n //#region PUBLIC METHODS\n\n /**\n * Programmatically set pane sizes.\n * @param {Array<number>} sizes Array of pane sizes in percentages.\n * @returns {Promise<void>}\n */\n @Method()\n async setSizes(sizes: number[]): Promise<void> {\n this.sizes = [...sizes];\n this.applySizes();\n this.sizesChanged.emit([...this.sizes]);\n this.positionGutters();\n }\n\n /**\n * Returns the current pane sizes.\n * @returns {Promise<number[]>} Array of pane sizes in percentages.\n */\n @Method()\n async getSizes(): Promise<number[]> {\n return [...this.sizes];\n }\n\n /**\n * Collapse a specific pane to 0 size.\n * @param {number} index Index of the pane to collapse.\n * @returns {Promise<void>}\n */\n @Method()\n async collapse(index: number): Promise<void> {\n const panes = this.getPanes();\n if (index < 0 || index >= panes.length) return;\n\n // Simple strategy: 0% for the index, the rest (100%) for its nearest neighbor\n const next = new Array(panes.length).fill(0);\n const target = index < panes.length - 1 ? index + 1 : index - 1;\n if (target >= 0) next[target] = 100;\n\n this.sizes = next;\n this.applySizes();\n this.sizesChanged.emit([...this.sizes]);\n this.positionGutters();\n }\n\n /**\n * Destroy the split instance: removes gutters and resets layout state.\n * @returns {Promise<void>}\n */\n @Method()\n async destroy(): Promise<void> {\n this.sizes = [];\n this.isDragging = false;\n this.dragIndex = -1;\n this.removeOwnGutters();\n this.detachDocumentListeners();\n this.ro?.disconnect();\n }\n\n //#endregion\n /****************************************************************************/\n //#region INTERNAL HELPERS\n\n /**\n * Returns the panes of the split.\n * @returns {HTMLElement[]} The panes of the split.\n */\n private getPanes(): HTMLElement[] {\n // Only the direct children slot=\"pane\"\n return Array.from(\n this.el.querySelectorAll<HTMLElement>(':scope > [slot=\"pane\"]'),\n );\n }\n\n /**\n * Returns the own gutters of the split.\n * @returns {HTMLElement[]} The own gutters of the split.\n */\n private getOwnGutters(): HTMLElement[] {\n // Only the direct gutters of THIS instance\n return Array.from(\n this.el.querySelectorAll<HTMLElement>(\n ':scope > .nv-split-gutter[data-auto=\"true\"]',\n ),\n );\n }\n\n /**\n * Removes the own gutters of the split.\n */\n private removeOwnGutters(): void {\n this.getOwnGutters().forEach(g => g.remove());\n }\n\n /**\n * Ensures the gutters of the split.\n */\n private ensureGutters(): void {\n const panes = this.getPanes();\n\n // 1) Clean ONLY the old direct gutters of THIS instance\n this.removeOwnGutters();\n\n if (panes.length <= 1) return;\n\n // 2) Add the gutters (directs) between the panes\n panes.forEach((pane, i) => {\n if (i >= panes.length - 1) return;\n\n const g = document.createElement('div');\n g.className = 'nv-split-gutter';\n g.setAttribute('data-auto', 'true');\n\n if (this.direction === 'horizontal') {\n g.style.width = `${this.gutterSize}px`;\n g.style.cursor = 'col-resize';\n } else {\n g.style.height = `${this.gutterSize}px`;\n g.style.cursor = 'row-resize';\n }\n\n // Customizable internal slot\n const slotEl = document.createElement('slot');\n slotEl.name = 'gutter';\n g.appendChild(slotEl);\n\n // Listener drag (index = gutter between pane i and i+1)\n g.addEventListener('mousedown', (ev: MouseEvent) =>\n this.startDragging(ev, i),\n );\n\n // Insert just after the pane\n pane.insertAdjacentElement('afterend', g);\n });\n\n this.positionGutters();\n }\n\n /**\n * Applies the sizes to the panes.\n */\n private applySizes(): void {\n const panes = this.getPanes();\n const n = panes.length;\n if (n === 0) return;\n\n // Default values if inconsistent\n if (!this.sizes || this.sizes.length !== n) {\n this.sizes = Array(n).fill(100 / n);\n }\n\n panes.forEach((pane, i) => {\n const size = Math.max(0, this.sizes[i] ?? 100 / n);\n // Flex-basis via flex shorthand (https://developer.mozilla.org/en-US/docs/Web/CSS/flex)\n pane.style.flex = `0 0 ${size}%`;\n pane.style.minWidth = '0';\n pane.style.minHeight = '0';\n pane.style.overflow = 'hidden'; // let a nv-split child extend\n pane.style.display = 'flex';\n pane.style.flexDirection = 'column';\n });\n\n this.positionGutters();\n }\n\n /**\n * Attaches the document listeners.\n */\n private attachDocumentListeners(): void {\n document.addEventListener('mousemove', this.onDocMove);\n document.addEventListener('mouseup', this.onDocUp);\n }\n\n /**\n * Detaches the document listeners.\n */\n private detachDocumentListeners(): void {\n document.removeEventListener('mousemove', this.onDocMove);\n document.removeEventListener('mouseup', this.onDocUp);\n }\n\n /**\n * Positions the gutters based on the current sizes of the panes.\n */\n private positionGutters(): void {\n const panes = this.getPanes();\n const gutters = this.getOwnGutters();\n if (panes.length <= 1 || gutters.length === 0) return;\n\n const horizontal = this.direction === 'horizontal';\n let cumPct = 0;\n\n for (let i = 0; i < gutters.length; i++) {\n const sizePct = this.sizes?.[i] ?? 100 / panes.length;\n cumPct += sizePct;\n\n const g = gutters[i];\n g.style.position = 'absolute';\n\n if (horizontal) {\n g.style.left = `${cumPct}%`;\n g.style.top = '0';\n g.style.bottom = '0';\n g.style.height = '100%';\n } else {\n g.style.top = `${cumPct}%`;\n g.style.left = '0';\n g.style.right = '0';\n g.style.width = '100%';\n }\n }\n }\n\n /**\n * Starts the dragging process.\n * @param {MouseEvent} ev - The mouse event.\n * @param {number} index - The index of the gutter.\n */\n private startDragging(ev: MouseEvent, index: number): void {\n this.isDragging = true;\n this.dragIndex = index;\n this.startPos = this.direction === 'horizontal' ? ev.clientX : ev.clientY;\n this.startSizes = [...this.sizes];\n this.attachDocumentListeners();\n }\n\n /**\n * Handles the mouse movement during dragging.\n * @param {MouseEvent} ev - The mouse event.\n */\n private handleMouseMove(ev: MouseEvent): void {\n if (!this.isDragging || this.dragIndex < 0) return;\n\n const panes = this.getPanes();\n if (panes.length < 2) return;\n\n const rect = this.el.getBoundingClientRect();\n\n // Ensure we never divide by zero if the element has zero width/height\n const rawSize = this.direction === 'horizontal' ? rect.width : rect.height;\n const totalPx = Math.max(rawSize, 1);\n\n const deltaPx =\n (this.direction === 'horizontal' ? ev.clientX : ev.clientY) -\n this.startPos;\n const deltaPct = (deltaPx / totalPx) * 100;\n\n const i = this.dragIndex;\n const j = i + 1;\n\n let left = this.startSizes[i] + deltaPct;\n let right = this.startSizes[j] - deltaPct;\n\n // minSizes (px) -> %\n const minLeftPct = ((this.minSizes?.[i] ?? 0) / totalPx) * 100;\n const minRightPct = ((this.minSizes?.[j] ?? 0) / totalPx) * 100;\n\n left = Math.max(left, minLeftPct);\n right = Math.max(right, minRightPct);\n\n // Keep the sum of the pair i/j constant\n const pairSum = left + right;\n const targetSum = this.startSizes[i] + this.startSizes[j];\n if (Math.abs(pairSum - targetSum) > 0.0001) {\n const k = targetSum / (pairSum || 1);\n left *= k;\n right *= k;\n }\n\n const next = [...this.startSizes];\n next[i] = left;\n next[j] = right;\n\n this.sizes = next;\n this.applySizes();\n this.sizesChanged.emit([...this.sizes]);\n this.positionGutters();\n }\n\n /**\n * Stops the dragging process.\n */\n private stopDragging(): void {\n if (!this.isDragging) return;\n this.isDragging = false;\n this.dragIndex = -1;\n this.detachDocumentListeners();\n }\n\n //#endregion\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host data-dragging={this.isDragging.toString()}>\n <slot name=\"pane\"></slot>\n <slot name=\"gutter\"></slot>\n </Host>\n );\n }\n\n //#endregion\n /****************************************************************************/\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as o,c as t,h as a,H as e,g as r}from"./p-3060df80.js";const s="nv-tooltip{display:inline-block;position:relative;user-select:none}nv-tooltip:has([fluid]:not([fluid=false])){display:block}nv-tooltip nv-popover>[data-scope=popover]{background:var(--components-tooltip-background);color:var(--components-tooltip-text);font-weight:var(--font-weight-medium-emphasis);padding:var(--tooltip-padding-y) var(--tooltip-padding-x);font-size:var(--tooltip-font-size);border-radius:var(--tooltip-radius);border:none;box-shadow:0px var(--shadow-y-axis-lg-1) var(--shadow-blur-lg-1) var(--shadow-spread-lg-1) var(--shadow-color-opacity-1), 0px var(--shadow-y-axis-lg-2) var(--shadow-blur-lg-2) var(--shadow-spread-lg-2) var(--shadow-color-opacity-2)}nv-tooltip nv-popover>[data-scope=popover] [data-scope=arrow]{background:var(--components-tooltip-background);box-shadow:none;border:none}";const
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as o,c as t,h as a,H as e,g as r}from"./p-3060df80.js";const s="nv-tooltip{display:inline-block;position:relative;user-select:none}nv-tooltip:has([fluid]:not([fluid=false])){display:block}nv-tooltip nv-popover>[data-scope=popover]{background:var(--components-tooltip-background);color:var(--components-tooltip-text);font-weight:var(--font-weight-medium-emphasis);padding:var(--tooltip-padding-y) var(--tooltip-padding-x);font-size:var(--tooltip-font-size);border-radius:var(--tooltip-radius);border:none;box-shadow:0px var(--shadow-y-axis-lg-1) var(--shadow-blur-lg-1) var(--shadow-spread-lg-1) var(--shadow-color-opacity-1), 0px var(--shadow-y-axis-lg-2) var(--shadow-blur-lg-2) var(--shadow-spread-lg-2) var(--shadow-color-opacity-2)}nv-tooltip nv-popover>[data-scope=popover] [data-scope=arrow]{background:var(--components-tooltip-background);box-shadow:none;border:none}";const i=s;const n=class{constructor(a){o(this,a);this.openChanged=t(this,"openChanged",7);this.placement="bottom";this.enterDelay=0;this.strategy="absolute"}componentWillLoad(){if(!this.triggerElement)this.triggerElement=Array.from(this.el.children).find((o=>o.getAttribute("slot")===null))}render(){return a(e,{key:"5d5facbf2a0487bda4fbae49913a2cb4f69dcf5a"},a("slot",{key:"91080d347f3473879109f7b0b59b159f5bb5979b"}),a("nv-popover",{key:"876e5e2487d1b2b5182e42909a6edeab5b3e9db2",triggerMode:"hover",hasArrow:true,placement:this.placement,strategy:this.strategy,triggerElement:this.triggerElement,groupName:"tooltip",enterDelay:this.enterDelay},a("p",{key:"e30ce16ed27e41dee7359fb44ccba7a780e72d37",slot:"content"},this.message),a("slot",{key:"395c75d7f45bab9aaebf979bd75087058b979350",name:"content"})))}get el(){return r(this)}};n.style=i;export{n as nv_tooltip};
|
|
2
|
+
//# sourceMappingURL=p-52d2c0ae.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as a,H as n,g as
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as a,H as n,g as r}from"./p-3060df80.js";const e=Object.freeze({HANDLE_W:12,HANDLE_W_TOUCH:24,MIN_W:40});function o(){return matchMedia("(pointer: coarse)").matches?e.HANDLE_W_TOUCH:e.HANDLE_W}function i(t,a){const n=a.getBoundingClientRect();return t.clientX-n.left}function d(t,a,n){return t>=a-n}function c(t,a,n=e.MIN_W){return Math.max(n,t+a)}function l(t){return(t===null||t===void 0?void 0:t.tagName)==="TH"||(t===null||t===void 0?void 0:t.tagName)==="TD"}function s(t){if(!(t instanceof HTMLElement))return null;const a=t.closest("th, td");return l(a)?a:null}function u(t,a){var n;try{(n=t.setPointerCapture)===null||n===void 0?void 0:n.call(t,a);return true}catch(t){return false}}function g(t,a){var n;try{(n=t.releasePointerCapture)===null||n===void 0?void 0:n.call(t,a);return true}catch(t){return false}}function b(t){document.body.style.userSelect=t?"none":""}function h(t){return t.offsetWidth}function v(t,a){t.style.width=`${a}px`}function p(t,a){return t-a}function f(t,a){return{resizingCell:t,pointerId:a.pointerId,startX:a.clientX,startWidth:h(t)}}function m(t,a){return t!==null&&t.pointerId===a.pointerId}function y(t,a,n=e.MIN_W){const r=p(a.clientX,t.startX);const o=c(t.startWidth,r,n);v(t.resizingCell,o)}const k='nv-table table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;background:var(--color-level-00-background)}nv-table table thead{background:var(--components-datagrid-header-background)}nv-table table tbody tr:hover td{background:var(--components-datagrid-body-background-hover)}nv-table table tbody tr[data-selected]{background:var(--components-datagrid-body-background-active)}nv-table table td{height:var(--spacing-16);padding:var(--datagrid-cell-body-padding-y) var(--datagrid-cell-body-padding-x) var(--spacing-2) var(--datagrid-cell-body-padding-x);font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--line-height-base);background:var(--components-datagrid-body-background-default);border-bottom:1px solid var(--components-datagrid-body-border)}nv-table table th{position:relative;text-align:left;padding:var(--datagrid-cell-header-padding-y) var(--datagrid-cell-header-padding-right) var(--datagrid-cell-header-padding-y) var(--datagrid-cell-header-padding-x);padding-right:calc(var(--datagrid-cell-header-padding-right) + 12px);color:var(--color-content-low-text);font-variant-numeric:lining-nums tabular-nums slashed-zero;font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-high-emphasis);line-height:var(--line-height-base);min-width:40px;border-bottom:1px solid var(--components-datagrid-header-border);background:var(--components-datagrid-header-background)}nv-table table th::after{content:"";position:absolute;top:0;right:0;width:12px;height:50%;transform:translateY(50%);cursor:col-resize;background:linear-gradient(90deg, transparent 0%, transparent calc(50% - 1px), var(--components-datagrid-header-border), calc(50% - 1px), var(--components-datagrid-header-border) calc(50% + 1px), transparent calc(50% + 1px), transparent 100%);opacity:0;transition:opacity 0.05s ease-in-out}nv-table table th[data-grow]{width:unset}nv-table table th:hover::after{opacity:1}nv-table table th[data-no-resize]::after{display:none}nv-table [data-sticky-left]{position:sticky;z-index:1;background:var(--color-level-00-background);left:0;top:0}nv-table [data-sticky-right]{position:sticky;z-index:1;background:var(--color-level-00-background);right:0;top:0}nv-table [data-sticky-top] th{position:sticky;z-index:1;background:var(--color-level-00-background);top:0}';const x=k;const w=class{constructor(a){t(this,a);this.resizeState=null}onPointerDown(t){const a=s(t.target);if(!a)return;if(a.hasAttribute("data-no-resize"))return;const n=i(t,a);const r=o();const e=h(a);if(!d(n,e,r))return;this.resizeState=f(a,t);u(a,t.pointerId);b(true)}onPointerMove(t){if(!m(this.resizeState,t))return;y(this.resizeState,t,e.MIN_W)}onPointerUp(t){if(!m(this.resizeState,t))return;g(this.resizeState.resizingCell,this.resizeState.pointerId);this.resizeState=null;b(false)}render(){return a(n,{key:"16b564cc29e8987d8b3fda3a84c0b19882a733bd"},a("slot",{key:"1305cbc6d29caa60df55bfa01a39a3417a27ec01"}))}get host(){return r(this)}};w.style=x;export{w as nv_table};
|
|
2
|
+
//# sourceMappingURL=p-638967bf.entry.js.map
|