@stonecrop/atable 0.21.0 → 0.23.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/assets/index.css +1 -1
- package/dist/atable.d.ts +16 -7
- package/dist/atable.js +860 -841
- package/dist/atable.js.map +1 -1
- package/dist/src/stores/table.d.ts +13 -6
- package/dist/src/stores/table.d.ts.map +1 -1
- package/dist/src/stores/table.js +0 -1
- package/dist/src/types/index.d.ts +3 -1
- package/dist/src/types/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/components/ACell.vue +50 -6
- package/src/stores/table.ts +5 -2
- package/src/types/index.ts +3 -1
package/dist/assets/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.atable-cell{border-radius:0;box-sizing:border-box;outline:none;box-shadow:none;color:var(--sc-cell-text-color);padding-left:.5ch!important;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);border-spacing:0px;border-collapse:collapse;overflow:hidden;text-overflow:ellipsis;order:1;white-space:nowrap;max-width:40ch;border-top:1px solid var(--sc-row-border-color);margin:0 0 0 1px}.atable-cell a{color:var(--sc-cell-text-color);text-decoration:none}.atable-cell:focus,.atable-cell:focus-within{background-color:var(--sc-focus-cell-background);outline-width:var(--sc-atable-cell-border-width);outline-style:solid;outline-offset:calc(var(--sc-atable-cell-border-width) * -1);outline-color:var(--sc-focus-cell-outline);box-shadow:none;overflow:hidden;text-wrap:nowrap;box-sizing:border-box}.cell-modified{font-weight:700;font-style:italic}.cell-modified-highlight{background-color:var(--sc-cell-changed-color)}.aganttcell[data-v-032ef6d9]{background-color:#f9f9f9;width:100%;padding:0;height:100%}.gantt-container[data-v-032ef6d9]{position:relative;height:100%;background-color:#f0f0f0;border-radius:4px;overflow:visible}.gantt-bar[data-v-032ef6d9]{position:absolute;border-radius:4px;display:flex;align-items:center;justify-content:space-between;cursor:grab;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);transition:left .1s ease-out,width .1s ease-out;height:80%;top:50%;z-index:0;transform:translateY(-50%)}.gantt-bar[data-v-032ef6d9]:active{cursor:grabbing}.gantt-bar.is-dragging[data-v-032ef6d9]{z-index:10}.gantt-label[data-v-032ef6d9]{flex:1;text-align:center;font-size:12px;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px;-webkit-user-select:none;user-select:none}.resize-handle[data-v-032ef6d9]{position:relative;width:12px;height:100%;cursor:ew-resize;display:flex;align-items:center;justify-content:center;z-index:0;background:#00000040}.left-resize-handle[data-v-032ef6d9]{border-right:1px solid rgba(0,0,0,.5)}.right-resize-handle[data-v-032ef6d9]{border-left:1px solid rgba(0,0,0,.5)}.handle-grip[data-v-032ef6d9]{width:4px;height:12px;border-radius:2px;background:#000c}.resize-handle[data-v-032ef6d9]:hover{background-color:#ffffff80}.vertical-indicator[data-v-032ef6d9]{position:absolute;width:2px;opacity:0;pointer-events:none;transition:opacity .2s ease;top:-100vh;height:100vh;z-index:5;background-color:var(--v564d6da1)}.left-indicator[data-v-032ef6d9]{left:50%;transform:translate(-50%)}.right-indicator[data-v-032ef6d9]{right:50%;transform:translate(50%)}.resize-handle.is-dragging .vertical-indicator[data-v-032ef6d9]{opacity:.7}.gantt-container[data-v-032ef6d9]:after{content:"";position:absolute;inset:0;background-size:calc(100% / var(--v4f540c19)) 100%;background-image:linear-gradient(to right,rgba(0,0,0,.1) 1px,transparent 1px);pointer-events:none;z-index:1}.connection-handle[data-v-032ef6d9]{position:absolute;top:50%;transform:translateY(-50%);width:16px;height:16px;opacity:0;transition:opacity .2s ease;cursor:crosshair;z-index:2;display:flex;align-items:center;justify-content:center}.connection-handle.visible[data-v-032ef6d9]{opacity:1}.left-connection-handle[data-v-032ef6d9]{left:-16px}.right-connection-handle[data-v-032ef6d9]{right:-16px}.connection-dot[data-v-032ef6d9]{width:8px;height:8px;border-radius:50%;background-color:#2196f3;border:2px solid white;box-shadow:0 1px 3px #0000004d}.connection-handle:hover .connection-dot[data-v-032ef6d9]{background-color:#1976d2;transform:scale(1.2)}.connection-handle.is-dragging[data-v-032ef6d9]{opacity:1!important}.connection-handle.is-dragging .connection-dot[data-v-032ef6d9]{background-color:#1976d2;transform:scale(1.3);box-shadow:0 2px 8px #2196f366}.atable-row-actions{width:2rem;min-width:2rem;padding:0 .25rem;vertical-align:middle;white-space:nowrap;border-top:1px solid var(--sc-row-border-color);background:#fff;-webkit-user-select:none;user-select:none;position:relative}.atable-row-actions.dropdown-active{z-index:101}.row-actions-icons{display:flex;gap:.25rem;align-items:center;justify-content:center}.row-action-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:.125rem;border:none;background:transparent;cursor:pointer;border-radius:.25rem;transition:background-color .15s ease}.row-action-btn:hover{background-color:var(--sc-gray-10, #e5e5e5)}.row-action-btn:focus{outline:2px solid var(--sc-focus-cell-outline, #3b82f6);outline-offset:1px}.row-action-btn .action-icon{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem}.row-action-btn .action-icon :deep(svg){width:100%;height:100%}.row-actions-dropdown{position:relative;display:inline-block}.row-actions-dropdown:has(button:focus){outline:2px solid var(--sc-focus-cell-outline);outline-offset:-2px}.row-actions-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;background:transparent;cursor:pointer;border-radius:.25rem;font-size:1rem;font-weight:700;transition:background-color .15s ease}.row-actions-toggle:hover{background-color:var(--sc-gray-10, #e5e5e5)}.dropdown-icon{line-height:1}.row-actions-menu{position:fixed;z-index:100;min-width:10rem;padding:.25rem 0;background:#fff;border:1px solid var(--sc-row-border-color);border-left:4px solid var(--sc-row-border-color);border-radius:0}.row-actions-menu.menu-flipped{box-shadow:0 -4px 6px -1px #0000001a,0 -2px 4px -2px #0000001a}.row-action-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:transparent;cursor:pointer;text-align:left;font-size:.875rem;transition:background-color .15s ease}.row-action-menu-item:hover{background-color:var(--sc-gray-10, #f5f5f5)}.row-action-menu-item:focus{outline:none;background-color:var(--sc-gray-10, #f5f5f5)}.row-action-menu-item:disabled,.row-action-btn:disabled{opacity:.4;cursor:not-allowed}.row-action-menu-item:disabled:hover,.row-action-btn:disabled:hover{background-color:transparent}.row-action-menu-item .action-icon{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;flex-shrink:0}.row-action-menu-item .action-icon :deep(svg){width:100%;height:100%}.row-action-menu-item .action-label{flex:1}.atable-row{background-color:#fff}.atable-row-clickable{cursor:pointer}.atable-row-clickable:hover>td{background-color:var(--sc-row-hover-color, #f0f4f8)}.atable-row:last-child>td{border-bottom:1px solid var(--sc-row-border-color)}.atable-row>td:first-child{border-left:4px solid var(--sc-row-border-color)}.atable-row>td:last-child{border-right:1px solid var(--sc-row-border-color)}.list-index{color:var(--sc-header-text-color);font-weight:700;padding-left:var(--sc-atable-row-padding);padding-right:.5em;text-align:left;-webkit-user-select:none;user-select:none;border-top:1px solid var(--sc-row-border-color);text-overflow:ellipsis;overflow:hidden;box-sizing:border-box;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding)}.tree-index,.expansion-index{color:var(--sc-header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch;box-sizing:border-box;cursor:pointer;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding)}.atable-expanded-row{border-left:2px solid var(--sc-row-border-color)}.atable-expanded-content{border-top:1px solid var(--sc-row-border-color);padding:1.5rem}.atable-row:has(td.cell-modified)>td.sticky-column,.atable-row:has(td.cell-modified)>th.sticky-column,.atable-row:has(td.cell-modified)>td.sticky-index,.atable-row:has(td.cell-modified)>th.sticky-index{background:var(--sc-cell-changed-color)}.atable-row.changed-row-gradient[data-v-4dd47763]:has(td.cell-modified){--cell-color-start: color-mix(in srgb, var(--sc-cell-changed-color), #fff 20%);--cell-color-end: color-mix(in srgb, var(--sc-cell-changed-color), #fff 60%);background:linear-gradient(90deg,var(--cell-color-start),var(--cell-color-end))}.gantt-connection-overlay[data-v-d5929c98]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:15}.connection-path[data-v-d5929c98]{transition:stroke-width .2s ease;pointer-events:auto;cursor:pointer;stroke-dasharray:5px;stroke:var(--sc-cell-text-color)}#arrowhead-marker polygon[data-v-d5929c98]{fill:var(--sc-cell-text-color)}.animated-path[data-v-d5929c98]{animation:animated-dash-d5929c98 infinite 1.5s linear}.connection-path[data-v-d5929c98]:hover{stroke-width:3px}.connection-hitbox[data-v-d5929c98]{pointer-events:auto;cursor:pointer}@keyframes animated-dash-d5929c98{0%{stroke-dashoffset:0px}to{stroke-dashoffset:-10px}}.column-filter[data-v-a0263c77]{display:flex;align-items:center;gap:.25rem;width:100%}.filter-input[data-v-a0263c77],.filter-select[data-v-a0263c77]{background-color:var(--sc-form-background)!important;padding:.15rem .2rem;border:1px solid var(--sc-form-border);border-radius:3px;font-size:.875rem;color:var(--sc-text-color);width:100%;box-sizing:border-box}.filter-input[data-v-a0263c77]:focus,.filter-select[data-v-a0263c77]:focus{outline:none;border-color:var(--sc-input-active-border-color)}.checkbox-filter[data-v-a0263c77]{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--sc-text-color);cursor:pointer}.filter-checkbox[data-v-a0263c77]{margin:0}.date-range-filter[data-v-a0263c77]{display:flex;gap:.25rem;align-items:center;width:100%}.date-range-filter .filter-input[data-v-a0263c77]{flex:1;min-width:0}.date-separator[data-v-a0263c77]{color:var(--sc-gray-50);font-weight:500;padding:0 .25rem;flex-shrink:0}.clear-btn[data-v-a0263c77]{background:var(--sc-gray-10, #f0f0f0);border:1px solid var(--sc-form-border);border-radius:3px;color:var(--sc-gray-70);cursor:pointer;font-size:1rem;padding:.15rem .4rem;line-height:1;flex-shrink:0}.atable-header-row th{padding-left:.5ch!important;font-weight:700;min-width:3ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);box-sizing:border-box;color:var(--sc-header-text-color);position:relative}#header-index{padding-left:var(--sc-atable-row-padding);box-sizing:border-box;border-top:none}.tree-index{padding-right:0}th{order:1}.list-expansion-index{width:2ch;margin-left:5px}.cursor-pointer{cursor:pointer}.atable-filters-row th{padding:.25rem .5ch;vertical-align:top}.row-actions-header{width:2rem;min-width:2rem;padding:0 .25rem}.amodal{position:absolute;background-color:var(--sc-row-color-zebra-dark);z-index:200}.atable-container{position:relative}.sticky-index{position:sticky;left:0;z-index:100;order:0}.sticky-column,th.sticky-column,td.sticky-column,th.sticky-index,td.sticky-index{position:sticky;z-index:100;order:0;background:#fff}.sticky-column-edge,.atable th.sticky-column-edge{border-right:1px solid var(--sc-row-border-color)}.atable[data-v-4bfbbeab]{position:relative;font-family:var(--sc-atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--sc-table-font-size);border-collapse:collapse;box-sizing:border-box;table-layout:auto;width:auto;overflow:clip;height:1px}.atable th[data-v-4bfbbeab]{border-width:0px;border-style:solid;border-radius:0;padding-left:.5ch;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);color:var(--sc-gray-60);height:var(--sc-atable-row-height);font-weight:300;letter-spacing:.05rem;order:1;box-sizing:border-box}.atable th[data-v-4bfbbeab]:focus{outline:none}.atable[data-v-4bfbbeab]:tbody{overflow:hidden;position:relative}.atable[data-v-4bfbbeab]:tbody:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:transparent;z-index:100}.aloading[data-v-a930a25b]{width:100%;border-top:1px solid var(--sc-row-border-color);border-bottom:1px solid var(--sc-row-border-color);display:flex;background-color:#fff;border-left:4px solid var(--sc-row-border-color);padding-left:.5ch!important;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);align-items:center;box-sizing:border-box;background:var(--sc-focus-cell-background);overflow:hidden;position:relative}.aloading-bar[data-v-a930a25b]{width:100%;height:100%;position:absolute;left:-100%;top:0;background:linear-gradient(90deg,rgba(var(--sc-table-loading-color),0),rgba(var(--sc-table-loading-color),1),rgba(var(--sc-table-loading-color),0));animation:gradient-a930a25b infinite 2s;z-index:0}.aloading-header[data-v-a930a25b]{color:var(--sc-cell-text-color);font-family:var(--sc-atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--sc-table-font-size);padding:0;margin:0;font-weight:400;z-index:1}.aloading-header[data-v-a930a25b]:after{content:"...";animation:ellipse-a930a25b 2s;animation-iteration-count:infinite}@keyframes gradient-a930a25b{0%{left:-100%}to{left:100%}}@keyframes ellipse-a930a25b{0%{content:""}20%{content:""}40%{content:"."}60%{content:".."}80%{content:"..."}}.aloading[data-v-e1165876]{width:100%;border-top:1px solid var(--sc-row-border-color);border-bottom:1px solid var(--sc-row-border-color);display:flex;background-color:#fff;border-left:4px solid var(--sc-row-border-color);padding-left:.5ch!important;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);align-items:center;box-sizing:border-box;background:var(--sc-focus-cell-background);overflow:hidden;position:relative}.aloading-bar[data-v-e1165876]{width:50%;height:3px;position:absolute;left:-100%;bottom:0;background:var(--sc-row-border-color);animation:bar-left-e1165876 infinite 2s;z-index:0}.aloading-header[data-v-e1165876]{color:var(--sc-cell-text-color);font-family:var(--sc-atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--sc-table-font-size);padding:0;margin:0;font-weight:400;z-index:1}.aloading-header[data-v-e1165876]:after{content:"...";animation:ellipse-e1165876 2s;animation-iteration-count:infinite}@keyframes bar-left-e1165876{0%{left:-50%}to{left:100%}}@keyframes ellipse-e1165876{0%{content:""}20%{content:""}40%{content:"."}60%{content:".."}80%{content:"..."}}
|
|
1
|
+
.atable-cell{border-radius:0;box-sizing:border-box;outline:none;box-shadow:none;color:var(--sc-cell-text-color);padding-left:.5ch!important;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);border-spacing:0px;border-collapse:collapse;overflow:hidden;text-overflow:ellipsis;order:1;white-space:nowrap;max-width:40ch;border-top:1px solid var(--sc-row-border-color);margin:0 0 0 1px}.atable-cell a{color:var(--sc-cell-text-color);text-decoration:none}.atable-cell:focus,.atable-cell:focus-within{background-color:var(--sc-focus-cell-background);outline-width:var(--sc-atable-cell-border-width);outline-style:solid;outline-offset:calc(var(--sc-atable-cell-border-width) * -1);outline-color:var(--sc-focus-cell-outline);box-shadow:none;overflow:hidden;text-wrap:nowrap;box-sizing:border-box}.cell-modified{font-weight:700;font-style:italic}.cell-modified-highlight{background-color:var(--sc-cell-changed-color)}.atable-cell--badge-fill{padding:0!important;margin-left:0}.aganttcell[data-v-032ef6d9]{background-color:#f9f9f9;width:100%;padding:0;height:100%}.gantt-container[data-v-032ef6d9]{position:relative;height:100%;background-color:#f0f0f0;border-radius:4px;overflow:visible}.gantt-bar[data-v-032ef6d9]{position:absolute;border-radius:4px;display:flex;align-items:center;justify-content:space-between;cursor:grab;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);transition:left .1s ease-out,width .1s ease-out;height:80%;top:50%;z-index:0;transform:translateY(-50%)}.gantt-bar[data-v-032ef6d9]:active{cursor:grabbing}.gantt-bar.is-dragging[data-v-032ef6d9]{z-index:10}.gantt-label[data-v-032ef6d9]{flex:1;text-align:center;font-size:12px;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px;-webkit-user-select:none;user-select:none}.resize-handle[data-v-032ef6d9]{position:relative;width:12px;height:100%;cursor:ew-resize;display:flex;align-items:center;justify-content:center;z-index:0;background:#00000040}.left-resize-handle[data-v-032ef6d9]{border-right:1px solid rgba(0,0,0,.5)}.right-resize-handle[data-v-032ef6d9]{border-left:1px solid rgba(0,0,0,.5)}.handle-grip[data-v-032ef6d9]{width:4px;height:12px;border-radius:2px;background:#000c}.resize-handle[data-v-032ef6d9]:hover{background-color:#ffffff80}.vertical-indicator[data-v-032ef6d9]{position:absolute;width:2px;opacity:0;pointer-events:none;transition:opacity .2s ease;top:-100vh;height:100vh;z-index:5;background-color:var(--v564d6da1)}.left-indicator[data-v-032ef6d9]{left:50%;transform:translate(-50%)}.right-indicator[data-v-032ef6d9]{right:50%;transform:translate(50%)}.resize-handle.is-dragging .vertical-indicator[data-v-032ef6d9]{opacity:.7}.gantt-container[data-v-032ef6d9]:after{content:"";position:absolute;inset:0;background-size:calc(100% / var(--v4f540c19)) 100%;background-image:linear-gradient(to right,rgba(0,0,0,.1) 1px,transparent 1px);pointer-events:none;z-index:1}.connection-handle[data-v-032ef6d9]{position:absolute;top:50%;transform:translateY(-50%);width:16px;height:16px;opacity:0;transition:opacity .2s ease;cursor:crosshair;z-index:2;display:flex;align-items:center;justify-content:center}.connection-handle.visible[data-v-032ef6d9]{opacity:1}.left-connection-handle[data-v-032ef6d9]{left:-16px}.right-connection-handle[data-v-032ef6d9]{right:-16px}.connection-dot[data-v-032ef6d9]{width:8px;height:8px;border-radius:50%;background-color:#2196f3;border:2px solid white;box-shadow:0 1px 3px #0000004d}.connection-handle:hover .connection-dot[data-v-032ef6d9]{background-color:#1976d2;transform:scale(1.2)}.connection-handle.is-dragging[data-v-032ef6d9]{opacity:1!important}.connection-handle.is-dragging .connection-dot[data-v-032ef6d9]{background-color:#1976d2;transform:scale(1.3);box-shadow:0 2px 8px #2196f366}.atable-row-actions{width:2rem;min-width:2rem;padding:0 .25rem;vertical-align:middle;white-space:nowrap;border-top:1px solid var(--sc-row-border-color);background:#fff;-webkit-user-select:none;user-select:none;position:relative}.atable-row-actions.dropdown-active{z-index:101}.row-actions-icons{display:flex;gap:.25rem;align-items:center;justify-content:center}.row-action-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:.125rem;border:none;background:transparent;cursor:pointer;border-radius:.25rem;transition:background-color .15s ease}.row-action-btn:hover{background-color:var(--sc-gray-10, #e5e5e5)}.row-action-btn:focus{outline:2px solid var(--sc-focus-cell-outline, #3b82f6);outline-offset:1px}.row-action-btn .action-icon{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem}.row-action-btn .action-icon :deep(svg){width:100%;height:100%}.row-actions-dropdown{position:relative;display:inline-block}.row-actions-dropdown:has(button:focus){outline:2px solid var(--sc-focus-cell-outline);outline-offset:-2px}.row-actions-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;background:transparent;cursor:pointer;border-radius:.25rem;font-size:1rem;font-weight:700;transition:background-color .15s ease}.row-actions-toggle:hover{background-color:var(--sc-gray-10, #e5e5e5)}.dropdown-icon{line-height:1}.row-actions-menu{position:fixed;z-index:100;min-width:10rem;padding:.25rem 0;background:#fff;border:1px solid var(--sc-row-border-color);border-left:4px solid var(--sc-row-border-color);border-radius:0}.row-actions-menu.menu-flipped{box-shadow:0 -4px 6px -1px #0000001a,0 -2px 4px -2px #0000001a}.row-action-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:transparent;cursor:pointer;text-align:left;font-size:.875rem;transition:background-color .15s ease}.row-action-menu-item:hover{background-color:var(--sc-gray-10, #f5f5f5)}.row-action-menu-item:focus{outline:none;background-color:var(--sc-gray-10, #f5f5f5)}.row-action-menu-item:disabled,.row-action-btn:disabled{opacity:.4;cursor:not-allowed}.row-action-menu-item:disabled:hover,.row-action-btn:disabled:hover{background-color:transparent}.row-action-menu-item .action-icon{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;flex-shrink:0}.row-action-menu-item .action-icon :deep(svg){width:100%;height:100%}.row-action-menu-item .action-label{flex:1}.atable-row{background-color:#fff}.atable-row-clickable{cursor:pointer}.atable-row-clickable:hover>td{background-color:var(--sc-row-hover-color, #f0f4f8)}.atable-row:last-child>td{border-bottom:1px solid var(--sc-row-border-color)}.atable-row>td:first-child{border-left:4px solid var(--sc-row-border-color)}.atable-row>td:last-child{border-right:1px solid var(--sc-row-border-color)}.list-index{color:var(--sc-header-text-color);font-weight:700;padding-left:var(--sc-atable-row-padding);padding-right:.5em;text-align:left;-webkit-user-select:none;user-select:none;border-top:1px solid var(--sc-row-border-color);text-overflow:ellipsis;overflow:hidden;box-sizing:border-box;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding)}.tree-index,.expansion-index{color:var(--sc-header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch;box-sizing:border-box;cursor:pointer;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding)}.atable-expanded-row{border-left:2px solid var(--sc-row-border-color)}.atable-expanded-content{border-top:1px solid var(--sc-row-border-color);padding:1.5rem}.atable-row:has(td.cell-modified)>td.sticky-column,.atable-row:has(td.cell-modified)>th.sticky-column,.atable-row:has(td.cell-modified)>td.sticky-index,.atable-row:has(td.cell-modified)>th.sticky-index{background:var(--sc-cell-changed-color)}.atable-row.changed-row-gradient[data-v-4dd47763]:has(td.cell-modified){--cell-color-start: color-mix(in srgb, var(--sc-cell-changed-color), #fff 20%);--cell-color-end: color-mix(in srgb, var(--sc-cell-changed-color), #fff 60%);background:linear-gradient(90deg,var(--cell-color-start),var(--cell-color-end))}.gantt-connection-overlay[data-v-d5929c98]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:15}.connection-path[data-v-d5929c98]{transition:stroke-width .2s ease;pointer-events:auto;cursor:pointer;stroke-dasharray:5px;stroke:var(--sc-cell-text-color)}#arrowhead-marker polygon[data-v-d5929c98]{fill:var(--sc-cell-text-color)}.animated-path[data-v-d5929c98]{animation:animated-dash-d5929c98 infinite 1.5s linear}.connection-path[data-v-d5929c98]:hover{stroke-width:3px}.connection-hitbox[data-v-d5929c98]{pointer-events:auto;cursor:pointer}@keyframes animated-dash-d5929c98{0%{stroke-dashoffset:0px}to{stroke-dashoffset:-10px}}.column-filter[data-v-a0263c77]{display:flex;align-items:center;gap:.25rem;width:100%}.filter-input[data-v-a0263c77],.filter-select[data-v-a0263c77]{background-color:var(--sc-form-background)!important;padding:.15rem .2rem;border:1px solid var(--sc-form-border);border-radius:3px;font-size:.875rem;color:var(--sc-text-color);width:100%;box-sizing:border-box}.filter-input[data-v-a0263c77]:focus,.filter-select[data-v-a0263c77]:focus{outline:none;border-color:var(--sc-input-active-border-color)}.checkbox-filter[data-v-a0263c77]{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--sc-text-color);cursor:pointer}.filter-checkbox[data-v-a0263c77]{margin:0}.date-range-filter[data-v-a0263c77]{display:flex;gap:.25rem;align-items:center;width:100%}.date-range-filter .filter-input[data-v-a0263c77]{flex:1;min-width:0}.date-separator[data-v-a0263c77]{color:var(--sc-gray-50);font-weight:500;padding:0 .25rem;flex-shrink:0}.clear-btn[data-v-a0263c77]{background:var(--sc-gray-10, #f0f0f0);border:1px solid var(--sc-form-border);border-radius:3px;color:var(--sc-gray-70);cursor:pointer;font-size:1rem;padding:.15rem .4rem;line-height:1;flex-shrink:0}.atable-header-row th{padding-left:.5ch!important;font-weight:700;min-width:3ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);box-sizing:border-box;color:var(--sc-header-text-color);position:relative}#header-index{padding-left:var(--sc-atable-row-padding);box-sizing:border-box;border-top:none}.tree-index{padding-right:0}th{order:1}.list-expansion-index{width:2ch;margin-left:5px}.cursor-pointer{cursor:pointer}.atable-filters-row th{padding:.25rem .5ch;vertical-align:top}.row-actions-header{width:2rem;min-width:2rem;padding:0 .25rem}.amodal{position:absolute;background-color:var(--sc-row-color-zebra-dark);z-index:200}.atable-container{position:relative}.sticky-index{position:sticky;left:0;z-index:100;order:0}.sticky-column,th.sticky-column,td.sticky-column,th.sticky-index,td.sticky-index{position:sticky;z-index:100;order:0;background:#fff}.sticky-column-edge,.atable th.sticky-column-edge{border-right:1px solid var(--sc-row-border-color)}.atable[data-v-4bfbbeab]{position:relative;font-family:var(--sc-atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--sc-table-font-size);border-collapse:collapse;box-sizing:border-box;table-layout:auto;width:auto;overflow:clip;height:1px}.atable th[data-v-4bfbbeab]{border-width:0px;border-style:solid;border-radius:0;padding-left:.5ch;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);color:var(--sc-gray-60);height:var(--sc-atable-row-height);font-weight:300;letter-spacing:.05rem;order:1;box-sizing:border-box}.atable th[data-v-4bfbbeab]:focus{outline:none}.atable[data-v-4bfbbeab]:tbody{overflow:hidden;position:relative}.atable[data-v-4bfbbeab]:tbody:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:transparent;z-index:100}.aloading[data-v-a930a25b]{width:100%;border-top:1px solid var(--sc-row-border-color);border-bottom:1px solid var(--sc-row-border-color);display:flex;background-color:#fff;border-left:4px solid var(--sc-row-border-color);padding-left:.5ch!important;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);align-items:center;box-sizing:border-box;background:var(--sc-focus-cell-background);overflow:hidden;position:relative}.aloading-bar[data-v-a930a25b]{width:100%;height:100%;position:absolute;left:-100%;top:0;background:linear-gradient(90deg,rgba(var(--sc-table-loading-color),0),rgba(var(--sc-table-loading-color),1),rgba(var(--sc-table-loading-color),0));animation:gradient-a930a25b infinite 2s;z-index:0}.aloading-header[data-v-a930a25b]{color:var(--sc-cell-text-color);font-family:var(--sc-atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--sc-table-font-size);padding:0;margin:0;font-weight:400;z-index:1}.aloading-header[data-v-a930a25b]:after{content:"...";animation:ellipse-a930a25b 2s;animation-iteration-count:infinite}@keyframes gradient-a930a25b{0%{left:-100%}to{left:100%}}@keyframes ellipse-a930a25b{0%{content:""}20%{content:""}40%{content:"."}60%{content:".."}80%{content:"..."}}.aloading[data-v-e1165876]{width:100%;border-top:1px solid var(--sc-row-border-color);border-bottom:1px solid var(--sc-row-border-color);display:flex;background-color:#fff;border-left:4px solid var(--sc-row-border-color);padding-left:.5ch!important;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);align-items:center;box-sizing:border-box;background:var(--sc-focus-cell-background);overflow:hidden;position:relative}.aloading-bar[data-v-e1165876]{width:50%;height:3px;position:absolute;left:-100%;bottom:0;background:var(--sc-row-border-color);animation:bar-left-e1165876 infinite 2s;z-index:0}.aloading-header[data-v-e1165876]{color:var(--sc-cell-text-color);font-family:var(--sc-atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--sc-table-font-size);padding:0;margin:0;font-weight:400;z-index:1}.aloading-header[data-v-e1165876]:after{content:"...";animation:ellipse-e1165876 2s;animation-iteration-count:infinite}@keyframes bar-left-e1165876{0%{left:-50%}to{left:100%}}@keyframes ellipse-e1165876{0%{content:""}20%{content:""}40%{content:"."}60%{content:".."}80%{content:"..."}}
|
package/dist/atable.d.ts
CHANGED
|
@@ -9,11 +9,13 @@ import ATableHeader from './components/ATableHeader.vue';
|
|
|
9
9
|
import ATableLoading from './components/ATableLoading.vue';
|
|
10
10
|
import ATableLoadingBar from './components/ATableLoadingBar.vue';
|
|
11
11
|
import ATableModal from './components/ATableModal.vue';
|
|
12
|
+
import type { BadgeDescriptor } from '@stonecrop/schema';
|
|
12
13
|
import type { ColumnSchema } from '@stonecrop/schema';
|
|
13
14
|
import { ComputedRef } from 'vue';
|
|
14
15
|
import { CSSProperties } from 'vue';
|
|
15
16
|
import DeleteIcon from './stonecrop-ui-icon-delete.svg?raw';
|
|
16
17
|
import DuplicateIcon from './stonecrop-ui-icon-duplicate.svg?raw';
|
|
18
|
+
import { FieldOptions } from '@stonecrop/schema';
|
|
17
19
|
import InsertAboveIcon from './stonecrop-ui-icon-insert-above.svg?raw';
|
|
18
20
|
import InsertBelowIcon from './stonecrop-ui-icon-insert-below.svg?raw';
|
|
19
21
|
import MoveIcon from './stonecrop-ui-icon-move.svg?raw';
|
|
@@ -206,7 +208,7 @@ export declare const createTableStore: (initData: {
|
|
|
206
208
|
}) => Store<`table-${string}`, Pick<{
|
|
207
209
|
columns: Ref< {
|
|
208
210
|
name: string;
|
|
209
|
-
format?: string | ((value: any, context: CellContext) => string) | undefined;
|
|
211
|
+
format?: string | ((value: any, context: CellContext) => string | BadgeDescriptor) | undefined;
|
|
210
212
|
modalComponent?: string | ((context: CellContext) => string) | undefined;
|
|
211
213
|
mask?: ((value: any) => any) | undefined;
|
|
212
214
|
linkDoctype?: string | undefined;
|
|
@@ -227,12 +229,13 @@ filterComponent?: string | undefined;
|
|
|
227
229
|
cellComponent?: string | undefined;
|
|
228
230
|
cellComponentProps?: Record<string, any> | undefined;
|
|
229
231
|
modalComponentExtraProps?: Record<string, any> | undefined;
|
|
232
|
+
options?: FieldOptions | undefined;
|
|
230
233
|
isGantt?: boolean | undefined;
|
|
231
234
|
ganttComponent?: string | undefined;
|
|
232
235
|
colspan?: number | undefined;
|
|
233
236
|
}[], TableColumn[] | {
|
|
234
237
|
name: string;
|
|
235
|
-
format?: string | ((value: any, context: CellContext) => string) | undefined;
|
|
238
|
+
format?: string | ((value: any, context: CellContext) => string | BadgeDescriptor) | undefined;
|
|
236
239
|
modalComponent?: string | ((context: CellContext) => string) | undefined;
|
|
237
240
|
mask?: ((value: any) => any) | undefined;
|
|
238
241
|
linkDoctype?: string | undefined;
|
|
@@ -253,6 +256,7 @@ filterComponent?: string | undefined;
|
|
|
253
256
|
cellComponent?: string | undefined;
|
|
254
257
|
cellComponentProps?: Record<string, any> | undefined;
|
|
255
258
|
modalComponentExtraProps?: Record<string, any> | undefined;
|
|
259
|
+
options?: FieldOptions | undefined;
|
|
256
260
|
isGantt?: boolean | undefined;
|
|
257
261
|
ganttComponent?: string | undefined;
|
|
258
262
|
colspan?: number | undefined;
|
|
@@ -1078,7 +1082,7 @@ updateRows: (newRows: TableRow[]) => void;
|
|
|
1078
1082
|
}, "columns" | "config" | "connectionHandles" | "connectionPaths" | "filterState" | "ganttBars" | "modal" | "rows" | "sortState" | "updates" | "linkResolver">, Pick<{
|
|
1079
1083
|
columns: Ref< {
|
|
1080
1084
|
name: string;
|
|
1081
|
-
format?: string | ((value: any, context: CellContext) => string) | undefined;
|
|
1085
|
+
format?: string | ((value: any, context: CellContext) => string | BadgeDescriptor) | undefined;
|
|
1082
1086
|
modalComponent?: string | ((context: CellContext) => string) | undefined;
|
|
1083
1087
|
mask?: ((value: any) => any) | undefined;
|
|
1084
1088
|
linkDoctype?: string | undefined;
|
|
@@ -1099,12 +1103,13 @@ filterComponent?: string | undefined;
|
|
|
1099
1103
|
cellComponent?: string | undefined;
|
|
1100
1104
|
cellComponentProps?: Record<string, any> | undefined;
|
|
1101
1105
|
modalComponentExtraProps?: Record<string, any> | undefined;
|
|
1106
|
+
options?: FieldOptions | undefined;
|
|
1102
1107
|
isGantt?: boolean | undefined;
|
|
1103
1108
|
ganttComponent?: string | undefined;
|
|
1104
1109
|
colspan?: number | undefined;
|
|
1105
1110
|
}[], TableColumn[] | {
|
|
1106
1111
|
name: string;
|
|
1107
|
-
format?: string | ((value: any, context: CellContext) => string) | undefined;
|
|
1112
|
+
format?: string | ((value: any, context: CellContext) => string | BadgeDescriptor) | undefined;
|
|
1108
1113
|
modalComponent?: string | ((context: CellContext) => string) | undefined;
|
|
1109
1114
|
mask?: ((value: any) => any) | undefined;
|
|
1110
1115
|
linkDoctype?: string | undefined;
|
|
@@ -1125,6 +1130,7 @@ filterComponent?: string | undefined;
|
|
|
1125
1130
|
cellComponent?: string | undefined;
|
|
1126
1131
|
cellComponentProps?: Record<string, any> | undefined;
|
|
1127
1132
|
modalComponentExtraProps?: Record<string, any> | undefined;
|
|
1133
|
+
options?: FieldOptions | undefined;
|
|
1128
1134
|
isGantt?: boolean | undefined;
|
|
1129
1135
|
ganttComponent?: string | undefined;
|
|
1130
1136
|
colspan?: number | undefined;
|
|
@@ -1950,7 +1956,7 @@ updateRows: (newRows: TableRow[]) => void;
|
|
|
1950
1956
|
}, "display" | "table" | "filteredRows" | "hasPinnedColumns" | "isGanttView" | "isTreeView" | "isDependencyGraphEnabled" | "numberedRowWidth" | "zeroColumn">, Pick<{
|
|
1951
1957
|
columns: Ref< {
|
|
1952
1958
|
name: string;
|
|
1953
|
-
format?: string | ((value: any, context: CellContext) => string) | undefined;
|
|
1959
|
+
format?: string | ((value: any, context: CellContext) => string | BadgeDescriptor) | undefined;
|
|
1954
1960
|
modalComponent?: string | ((context: CellContext) => string) | undefined;
|
|
1955
1961
|
mask?: ((value: any) => any) | undefined;
|
|
1956
1962
|
linkDoctype?: string | undefined;
|
|
@@ -1971,12 +1977,13 @@ filterComponent?: string | undefined;
|
|
|
1971
1977
|
cellComponent?: string | undefined;
|
|
1972
1978
|
cellComponentProps?: Record<string, any> | undefined;
|
|
1973
1979
|
modalComponentExtraProps?: Record<string, any> | undefined;
|
|
1980
|
+
options?: FieldOptions | undefined;
|
|
1974
1981
|
isGantt?: boolean | undefined;
|
|
1975
1982
|
ganttComponent?: string | undefined;
|
|
1976
1983
|
colspan?: number | undefined;
|
|
1977
1984
|
}[], TableColumn[] | {
|
|
1978
1985
|
name: string;
|
|
1979
|
-
format?: string | ((value: any, context: CellContext) => string) | undefined;
|
|
1986
|
+
format?: string | ((value: any, context: CellContext) => string | BadgeDescriptor) | undefined;
|
|
1980
1987
|
modalComponent?: string | ((context: CellContext) => string) | undefined;
|
|
1981
1988
|
mask?: ((value: any) => any) | undefined;
|
|
1982
1989
|
linkDoctype?: string | undefined;
|
|
@@ -1997,6 +2004,7 @@ filterComponent?: string | undefined;
|
|
|
1997
2004
|
cellComponent?: string | undefined;
|
|
1998
2005
|
cellComponentProps?: Record<string, any> | undefined;
|
|
1999
2006
|
modalComponentExtraProps?: Record<string, any> | undefined;
|
|
2007
|
+
options?: FieldOptions | undefined;
|
|
2000
2008
|
isGantt?: boolean | undefined;
|
|
2001
2009
|
ganttComponent?: string | undefined;
|
|
2002
2010
|
colspan?: number | undefined;
|
|
@@ -3194,8 +3202,9 @@ export declare interface TableColumn extends Omit<ColumnSchema, 'fieldname' | 'h
|
|
|
3194
3202
|
/**
|
|
3195
3203
|
* Widens `ColumnSchema.format` (string-only) to also accept a live function at runtime.
|
|
3196
3204
|
* Serialized string functions are deserialized by the table store's `getFormattedValue`.
|
|
3205
|
+
* May return a plain string, HTML, or a {@link @stonecrop/schema#BadgeDescriptor}.
|
|
3197
3206
|
*/
|
|
3198
|
-
format?: string | ((value: any, context: CellContext) => string);
|
|
3207
|
+
format?: string | ((value: any, context: CellContext) => string | BadgeDescriptor);
|
|
3199
3208
|
/**
|
|
3200
3209
|
* Widens `ColumnSchema.modalComponent` (string-only) to also accept a factory function.
|
|
3201
3210
|
* When a function is provided it receives the cell context and returns the component name.
|