@blueprintui/grid 2.1.7 → 2.2.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/CHANGELOG.md +8 -0
- package/dist/clipboard/index.d.ts +9 -0
- package/dist/clipboard/index.js +1 -0
- package/dist/column-span/index.d.ts +9 -0
- package/dist/column-span/index.js +1 -0
- package/dist/custom-elements.json +151 -2
- package/dist/detail/element.js +1 -1
- package/dist/grid/element.d.ts +8 -2
- package/dist/grid/element.js +1 -1
- package/dist/include/clipboard.d.ts +1 -0
- package/dist/include/clipboard.js +1 -0
- package/dist/include/column-span.d.ts +1 -0
- package/dist/include/column-span.js +1 -0
- package/dist/internals/utils/traversal.d.ts +6 -0
- package/dist/vscode.html-custom-data.json +5 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
# [@blueprintui/grid-v2.2.0](https://github.com/blueprintui/blueprintui/compare/@blueprintui/grid-v2.1.7...@blueprintui/grid-v2.2.0) (2025-01-11)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **grid:** clipboard api support ([87008a4](https://github.com/blueprintui/blueprintui/commit/87008a42267f1e453865d14f3823de3686ddb0f5))
|
|
7
|
+
* **grid:** column span api ([8145fd6](https://github.com/blueprintui/blueprintui/commit/8145fd62327e8d036c37e3a6ee47f8a6d06873dd))
|
|
8
|
+
|
|
1
9
|
# [@blueprintui/grid-v2.1.7](https://github.com/blueprintui/blueprintui/compare/@blueprintui/grid-v2.1.6...@blueprintui/grid-v2.1.7) (2024-12-14)
|
|
2
10
|
|
|
3
11
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactiveController } from 'lit';
|
|
2
|
+
import type { BpGrid } from '../grid/element.js';
|
|
3
|
+
export declare class ClipboardController implements ReactiveController {
|
|
4
|
+
#private;
|
|
5
|
+
private host;
|
|
6
|
+
constructor(host: BpGrid);
|
|
7
|
+
hostConnected(): void;
|
|
8
|
+
hostDisconnected(): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class t{constructor(t){this.host=t,this.host.addController(this)}#t=this.#e.bind(this);hostConnected(){document.addEventListener("copy",this.#t)}hostDisconnected(){document.removeEventListener("copy",this.#t)}async#e(t){if(this.host.contains(t.target)){const t=this.host.outerHTML.replaceAll("bp-grid-column","th").replaceAll("bp-grid-row","tr").replaceAll("bp-grid-cell","td").replaceAll("bp-grid-header","thead").replaceAll("bp-grid-footer","tfoot").replaceAll("bp-grid","table");try{navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([this.host.innerText],{type:"text/plain"}),"text/html":new Blob([t],{type:"text/html"})})])}catch(t){console.error(t)}}}}export{t as ClipboardController};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactiveController } from 'lit';
|
|
2
|
+
import type { BpGrid } from '../grid/element.js';
|
|
3
|
+
export declare class ColumnSpanController implements ReactiveController {
|
|
4
|
+
#private;
|
|
5
|
+
private host;
|
|
6
|
+
constructor(host: BpGrid);
|
|
7
|
+
hostConnected(): void;
|
|
8
|
+
hostDisconnected(): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class t{#t;constructor(t){this.host=t,this.host.addController(this)}hostConnected(){this.#e(),this.#s()}hostDisconnected(){this.#t.disconnect()}#e(){this.#t=new MutationObserver((t=>{t.filter((t=>"attributes"===t.type&&"aria-colspan"===t.attributeName)).forEach((t=>this.#o(t.target)))})),this.#t.observe(this.host,{characterData:!1,attributes:!0,childList:!0,subtree:!0})}#s(){[...this.host.gridLayoutControllerConfig.columns,...this.host.cells].forEach((t=>this.#o(t)))}#o(t){t.ariaColSpan&&(t.style.gridColumnEnd="span "+t.ariaColSpan)}}export{t as ColumnSpanController};
|
|
@@ -112,6 +112,55 @@
|
|
|
112
112
|
}
|
|
113
113
|
]
|
|
114
114
|
},
|
|
115
|
+
{
|
|
116
|
+
"kind": "javascript-module",
|
|
117
|
+
"path": "/clipboard/index.js",
|
|
118
|
+
"declarations": [
|
|
119
|
+
{
|
|
120
|
+
"kind": "class",
|
|
121
|
+
"description": "",
|
|
122
|
+
"name": "ClipboardController",
|
|
123
|
+
"members": [
|
|
124
|
+
{
|
|
125
|
+
"kind": "field",
|
|
126
|
+
"name": "#_listener",
|
|
127
|
+
"privacy": "private"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"kind": "method",
|
|
131
|
+
"name": "hostConnected"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"kind": "method",
|
|
135
|
+
"name": "hostDisconnected"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"kind": "method",
|
|
139
|
+
"name": "#listener",
|
|
140
|
+
"privacy": "private",
|
|
141
|
+
"parameters": [
|
|
142
|
+
{
|
|
143
|
+
"name": "e",
|
|
144
|
+
"type": {
|
|
145
|
+
"text": "ClipboardEvent"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"exports": [
|
|
154
|
+
{
|
|
155
|
+
"kind": "js",
|
|
156
|
+
"name": "ClipboardController",
|
|
157
|
+
"declaration": {
|
|
158
|
+
"name": "ClipboardController",
|
|
159
|
+
"module": "/clipboard/index.js"
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
},
|
|
115
164
|
{
|
|
116
165
|
"kind": "javascript-module",
|
|
117
166
|
"path": "/column-resize/index.js",
|
|
@@ -137,6 +186,68 @@
|
|
|
137
186
|
}
|
|
138
187
|
]
|
|
139
188
|
},
|
|
189
|
+
{
|
|
190
|
+
"kind": "javascript-module",
|
|
191
|
+
"path": "/column-span/index.js",
|
|
192
|
+
"declarations": [
|
|
193
|
+
{
|
|
194
|
+
"kind": "class",
|
|
195
|
+
"description": "",
|
|
196
|
+
"name": "ColumnSpanController",
|
|
197
|
+
"members": [
|
|
198
|
+
{
|
|
199
|
+
"kind": "field",
|
|
200
|
+
"name": "#observer",
|
|
201
|
+
"privacy": "private",
|
|
202
|
+
"type": {
|
|
203
|
+
"text": "MutationObserver"
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"kind": "method",
|
|
208
|
+
"name": "hostConnected"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"kind": "method",
|
|
212
|
+
"name": "hostDisconnected"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"kind": "method",
|
|
216
|
+
"name": "#setupColSpanObserver",
|
|
217
|
+
"privacy": "private"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"kind": "method",
|
|
221
|
+
"name": "#updateAllColumnSpanStyles",
|
|
222
|
+
"privacy": "private"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"kind": "method",
|
|
226
|
+
"name": "#updateColumnSpanStyles",
|
|
227
|
+
"privacy": "private",
|
|
228
|
+
"parameters": [
|
|
229
|
+
{
|
|
230
|
+
"name": "target",
|
|
231
|
+
"type": {
|
|
232
|
+
"text": "HTMLElement"
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
]
|
|
236
|
+
}
|
|
237
|
+
]
|
|
238
|
+
}
|
|
239
|
+
],
|
|
240
|
+
"exports": [
|
|
241
|
+
{
|
|
242
|
+
"kind": "js",
|
|
243
|
+
"name": "ColumnSpanController",
|
|
244
|
+
"declaration": {
|
|
245
|
+
"name": "ColumnSpanController",
|
|
246
|
+
"module": "/column-span/index.js"
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
]
|
|
250
|
+
},
|
|
140
251
|
{
|
|
141
252
|
"kind": "javascript-module",
|
|
142
253
|
"path": "/column/alignment.controller.js",
|
|
@@ -1224,7 +1335,7 @@
|
|
|
1224
1335
|
"text": "boolean"
|
|
1225
1336
|
},
|
|
1226
1337
|
"default": "false",
|
|
1227
|
-
"
|
|
1338
|
+
"description": "enables range selection",
|
|
1228
1339
|
"attribute": "range-selection",
|
|
1229
1340
|
"reflects": true
|
|
1230
1341
|
},
|
|
@@ -1264,6 +1375,30 @@
|
|
|
1264
1375
|
},
|
|
1265
1376
|
"readonly": true
|
|
1266
1377
|
},
|
|
1378
|
+
{
|
|
1379
|
+
"kind": "field",
|
|
1380
|
+
"name": "columns",
|
|
1381
|
+
"type": {
|
|
1382
|
+
"text": "BpGridColumn[]"
|
|
1383
|
+
},
|
|
1384
|
+
"readonly": true
|
|
1385
|
+
},
|
|
1386
|
+
{
|
|
1387
|
+
"kind": "field",
|
|
1388
|
+
"name": "cells",
|
|
1389
|
+
"type": {
|
|
1390
|
+
"text": "BpGridCell[]"
|
|
1391
|
+
},
|
|
1392
|
+
"readonly": true
|
|
1393
|
+
},
|
|
1394
|
+
{
|
|
1395
|
+
"kind": "field",
|
|
1396
|
+
"name": "rows",
|
|
1397
|
+
"type": {
|
|
1398
|
+
"text": "BpGridRow[]"
|
|
1399
|
+
},
|
|
1400
|
+
"readonly": true
|
|
1401
|
+
},
|
|
1267
1402
|
{
|
|
1268
1403
|
"kind": "field",
|
|
1269
1404
|
"name": "keyNavGrid",
|
|
@@ -1395,6 +1530,7 @@
|
|
|
1395
1530
|
"text": "boolean"
|
|
1396
1531
|
},
|
|
1397
1532
|
"default": "false",
|
|
1533
|
+
"description": "enables range selection",
|
|
1398
1534
|
"fieldName": "rangeSelection"
|
|
1399
1535
|
},
|
|
1400
1536
|
{
|
|
@@ -1688,6 +1824,12 @@
|
|
|
1688
1824
|
}
|
|
1689
1825
|
]
|
|
1690
1826
|
},
|
|
1827
|
+
{
|
|
1828
|
+
"kind": "javascript-module",
|
|
1829
|
+
"path": "/include/clipboard.js",
|
|
1830
|
+
"declarations": [],
|
|
1831
|
+
"exports": []
|
|
1832
|
+
},
|
|
1691
1833
|
{
|
|
1692
1834
|
"kind": "javascript-module",
|
|
1693
1835
|
"path": "/include/column-alignment.js",
|
|
@@ -1706,6 +1848,12 @@
|
|
|
1706
1848
|
"declarations": [],
|
|
1707
1849
|
"exports": []
|
|
1708
1850
|
},
|
|
1851
|
+
{
|
|
1852
|
+
"kind": "javascript-module",
|
|
1853
|
+
"path": "/include/column-span.js",
|
|
1854
|
+
"declarations": [],
|
|
1855
|
+
"exports": []
|
|
1856
|
+
},
|
|
1709
1857
|
{
|
|
1710
1858
|
"kind": "javascript-module",
|
|
1711
1859
|
"path": "/include/core.js",
|
|
@@ -2181,7 +2329,8 @@
|
|
|
2181
2329
|
"text": "HTMLElement[]"
|
|
2182
2330
|
}
|
|
2183
2331
|
}
|
|
2184
|
-
]
|
|
2332
|
+
],
|
|
2333
|
+
"description": "Given a list of cells, duplicate the cell 1 * n of the ariaColSpan\n\n1, 2, 3 (span 2), 4, 5, 6\n1, 2, 3, 3, 4, 5, 6"
|
|
2185
2334
|
}
|
|
2186
2335
|
],
|
|
2187
2336
|
"exports": [
|
package/dist/detail/element.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as t}from"tslib";import{LitElement as e,html as i,nothing as r}from"lit";import{property as s}from"lit/decorators/property.js";import{I18nService as o,baseStyles as n,typePopover as l,i18n as a,stateDirection as g,interactionResponsive as p}from"@blueprintui/components/internals";import d from"./element.css.js";let h=class extends e{constructor(){super(...arguments),this.i18n=o.keys.actions,this.position="inline-end"}get#t(){return this.parentElement}#e;get#i(){return"string"==typeof this.trigger?this.getRootNode().querySelector("#"+this.trigger):this.trigger}get#r(){return this.#i?.closest("bp-grid-row")}get#s(){return parseInt(getComputedStyle(this).getPropertyValue("--full-width-breakpoint"))}static{this.styles=[n,d]}render(){return i`<div part="internal" role="presentation">${this.closable?i`<bp-button-icon @click="${this.hidePopover}" aria-label="${this.i18n.close}" shape="close" action="flat" type="button"></bp-button-icon>`:r}<slot></slot></div>${this.trigger?i`<div part="pointer" role="presentation"></div>`:r}`}async connectedCallback(){super.connectedCallback(),this.slot="detail",this.#o()}firstUpdated(t){super.firstUpdated(t),this.#n(),this.addEventListener("toggle",(t=>{"open"===t.newState&&this.#n()}))}async updated(t){super.updated(t),await this.updateComplete,t.has("trigger")&&t.get("trigger")!==this.#i&&!this.hidden&&this.#l(t.get("trigger"))}disconnectedCallback(){super.disconnectedCallback(),this.#e.disconnect()}#l(t){t?.closest&&t?.closest("bp-grid-row")?.removeAttribute("_detail-row");const e=this.#i?.getBoundingClientRect()?.top-this.getBoundingClientRect().top;this.style.setProperty("--pointer-top",e-2+"px")}#o(){this.addEventListener("resize-layout",(t=>{t.detail.width<this.#s?this.setAttribute("full-width",""):t.detail.width>this.#s+parseInt(this.style.insetInlineStart)&&(this.removeAttribute("full-width"),this.#n())}))}async#n(){this.#t.scrollLock=!this.hidden,await this.updateComplete;const t=Array.from(this.#r?this.#r.querySelectorAll("bp-grid-cell"):[]).find((t=>"rowheader"===t.role));if(t){const e=this.#t?.getBoundingClientRect(),i=t.getBoundingClientRect();this.style.width="auto","inline-start"===this.position||"rtl"===this.#t?.getAttribute("dir")?this.style.insetInlineStart=Math.floor(e.right-i.left)+"px":this.style.insetInlineStart=Math.floor(i.right-e.left)+"px"}}};t([s({type:Object})],h.prototype,"i18n",void 0),t([s({type:String,reflect:!0})],h.prototype,"position",void 0),t([s({type:String})],h.prototype,"trigger",void 0),t([s({type:Boolean})],h.prototype,"closable",void 0),h=t([l((
|
|
1
|
+
import{__decorate as t}from"tslib";import{LitElement as e,html as i,nothing as r}from"lit";import{property as s}from"lit/decorators/property.js";import{I18nService as o,baseStyles as n,typePopover as l,i18n as a,stateDirection as g,interactionResponsive as p}from"@blueprintui/components/internals";import d from"./element.css.js";let h=class extends e{constructor(){super(...arguments),this.i18n=o.keys.actions,this.position="inline-end"}get#t(){return this.parentElement}#e;get#i(){return"string"==typeof this.trigger?this.getRootNode().querySelector("#"+this.trigger):this.trigger}get#r(){return this.#i?.closest("bp-grid-row")}get#s(){return parseInt(getComputedStyle(this).getPropertyValue("--full-width-breakpoint"))}static{this.styles=[n,d]}render(){return i`<div part="internal" role="presentation">${this.closable?i`<bp-button-icon @click="${this.hidePopover}" aria-label="${this.i18n.close}" shape="close" action="flat" type="button"></bp-button-icon>`:r}<slot></slot></div>${this.trigger?i`<div part="pointer" role="presentation"></div>`:r}`}async connectedCallback(){super.connectedCallback(),this.slot="detail",this.#o()}firstUpdated(t){super.firstUpdated(t),this.#n(),this.addEventListener("toggle",(t=>{"open"===t.newState&&this.#n()}))}async updated(t){super.updated(t),await this.updateComplete,t.has("trigger")&&t.get("trigger")!==this.#i&&!this.hidden&&this.#l(t.get("trigger"))}disconnectedCallback(){super.disconnectedCallback(),this.#e.disconnect()}#l(t){t?.closest&&t?.closest("bp-grid-row")?.removeAttribute("_detail-row");const e=this.#i?.getBoundingClientRect()?.top-this.getBoundingClientRect().top;this.style.setProperty("--pointer-top",e-2+"px")}#o(){this.addEventListener("resize-layout",(t=>{t.detail.width<this.#s?this.setAttribute("full-width",""):t.detail.width>this.#s+parseInt(this.style.insetInlineStart)&&(this.removeAttribute("full-width"),this.#n())}))}async#n(){this.#t.scrollLock=!this.hidden,await this.updateComplete;const t=Array.from(this.#r?this.#r.querySelectorAll("bp-grid-cell"):[]).find((t=>"rowheader"===t.role));if(t){const e=this.#t?.getBoundingClientRect(),i=t.getBoundingClientRect();this.style.width="auto","inline-start"===this.position||"rtl"===this.#t?.getAttribute("dir")?this.style.insetInlineStart=Math.floor(e.right-i.left)+"px":this.style.insetInlineStart=Math.floor(i.right-e.left)+"px"}}};t([s({type:Object})],h.prototype,"i18n",void 0),t([s({type:String,reflect:!0})],h.prototype,"position",void 0),t([s({type:String})],h.prototype,"trigger",void 0),t([s({type:Boolean})],h.prototype,"closable",void 0),h=t([l((()=>({focusTrap:!0}))),a({key:"actions"}),g(),p()],h);export{h as BpGridDetail};
|
package/dist/grid/element.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
import type { Permutations } from '@blueprintui/grid/internals/types';
|
|
3
|
+
import type { BpGridColumn } from '../column/element.js';
|
|
4
|
+
import type { BpGridCell } from '../cell/element.js';
|
|
5
|
+
import type { BpGridRow } from '../row/element.js';
|
|
3
6
|
import { GridLayoutController } from './layout.controller.js';
|
|
4
7
|
/**
|
|
5
8
|
* Grid
|
|
@@ -68,7 +71,7 @@ export declare class BpGrid extends LitElement {
|
|
|
68
71
|
scrollLock: boolean;
|
|
69
72
|
/** determines the visual layer style (container vs flat for nesting) */
|
|
70
73
|
layer: 'flat' | 'container';
|
|
71
|
-
/**
|
|
74
|
+
/** enables range selection */
|
|
72
75
|
rangeSelection: boolean;
|
|
73
76
|
/** @private enables range selection */
|
|
74
77
|
_id: string;
|
|
@@ -76,11 +79,14 @@ export declare class BpGrid extends LitElement {
|
|
|
76
79
|
static styles: CSSStyleSheet[];
|
|
77
80
|
/** @private */
|
|
78
81
|
get gridLayoutControllerConfig(): {
|
|
79
|
-
columns:
|
|
82
|
+
columns: BpGridColumn[];
|
|
80
83
|
columnLayout: "fixed" | "flex";
|
|
81
84
|
height: string;
|
|
82
85
|
};
|
|
83
86
|
get grid(): HTMLElement[][];
|
|
87
|
+
get columns(): BpGridColumn[];
|
|
88
|
+
get cells(): BpGridCell[];
|
|
89
|
+
get rows(): BpGridRow[];
|
|
84
90
|
/** @private */
|
|
85
91
|
get keyNavGrid(): HTMLElement;
|
|
86
92
|
_internals: ElementInternals;
|
package/dist/grid/element.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as t}from"tslib";import{LitElement as o,html as e}from"lit";import{property as r}from"lit/decorators/property.js";import{baseStyles as i,I18nService as l,createId as n,attachRootNodeStyles as s,dynamicControllers as a,i18n as h,typeMultiSelectable as c}from"@blueprintui/components/internals";import{interactionScrollVisibility as p}from"@blueprintui/grid/internals";import{GridLayoutController as d}from"./layout.controller.js";import{GridDOMController as u}from"./dom.controller.js";import m from"./element.css.js";import
|
|
1
|
+
import{__decorate as t}from"tslib";import{LitElement as o,html as e}from"lit";import{property as r}from"lit/decorators/property.js";import{baseStyles as i,I18nService as l,createId as n,attachRootNodeStyles as s,dynamicControllers as a,i18n as h,typeMultiSelectable as c}from"@blueprintui/components/internals";import{interactionScrollVisibility as p}from"@blueprintui/grid/internals";import{GridLayoutController as d}from"./layout.controller.js";import{GridDOMController as u}from"./dom.controller.js";import m from"./element.global.css.js";import C from"./element.css.js";let y=class extends o{static{this.styles=[i,C]}get gridLayoutControllerConfig(){return{columns:this.#t.columns,columnLayout:this.columnLayout,height:this.height}}#t;get grid(){return this.#t.grid}get columns(){return this.#t.columns}get cells(){return this.#t.cells}get rows(){return this.#t.rows}get keyNavGrid(){return this.shadowRoot.querySelector(".scroll-container")}render(){return e`<div role="presentation" part="internal"><div role="presentation" class="scroll-container"><slot role="presentation" name="header"></slot><slot role="presentation" class="body-row-group"></slot></div><slot name="footer"></slot><slot name="detail"></slot></div>`}constructor(){super(),this.i18n=l.keys.actions,this.columnLayout="fixed",this.scrollLock=!1,this.layer="container",this.rangeSelection=!1,this._id=n(),this.gridLayoutController=new d(this),this._internals=this.attachInternals(),this.#t=new u(this),this._internals.role="grid",this._internals.states.add("bp-layer"),this.#o()}async connectedCallback(){super.connectedCallback(),s(this.parentNode,[m]),await this.updateComplete,this.shadowRoot.addEventListener("bp-slotchange",(()=>this.#e())),this.#e()}#o(){this.addEventListener("sort",(t=>{const o=t.composedPath().find((t=>"BP-GRID-COLUMN"===t.tagName));o&&(o.ariaSort=t.detail)}))}async#e(){this.#t.isStatic||(this.#r(),this.#i(),this.#l(),this.#n(),this.#s(),this.#a())}#r(){const t=Math.max(this.#t.rows?.length,1),o=this.#t.footer?1:0;this._internals.ariaRowCount=""+(1+t+o),this._internals.ariaColCount=""+this.#t.columns.length}#i(){this.#t.columns.forEach(((t,o)=>t.ariaColIndex=""+(o+1)))}#l(){this.#t.rows?.forEach(((t,o)=>t.ariaRowIndex=""+(o+2)))}#n(){this.#t.cells?.forEach(((t,o)=>t.ariaColIndex=""+(o%this.#t.columns.length+1)))}#s(){this.#t.placeholder&&(this.#t.placeholder.ariaRowCount=""+(this.#t.rows.length+1),this.#t.placeholder._colSpan=this._internals.ariaColCount)}#a(){this.#t.footer&&(this.#t.footer.ariaRowCount=""+(this.#t.rows.length+2),this.#t.footer._colSpan=this._internals.ariaColCount)}};t([r({type:Object})],y.prototype,"i18n",void 0),t([r({type:String,reflect:!0})],y.prototype,"height",void 0),t([r({type:String,reflect:!0,attribute:"column-layout"})],y.prototype,"columnLayout",void 0),t([r({type:String,reflect:!0,attribute:"row-style"})],y.prototype,"rowStyle",void 0),t([r({type:String,reflect:!0,attribute:"column-style"})],y.prototype,"columnStyle",void 0),t([r({type:String,reflect:!0})],y.prototype,"selectable",void 0),t([r({type:Boolean,reflect:!0,attribute:"scroll-lock"})],y.prototype,"scrollLock",void 0),t([r({type:String,reflect:!0})],y.prototype,"layer",void 0),t([r({type:Boolean,reflect:!0,attribute:"range-selection"})],y.prototype,"rangeSelection",void 0),t([r({type:String,reflect:!0})],y.prototype,"_id",void 0),y=t([a(),h({key:"actions"}),c(),p()],y);export{y as BpGrid};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{DynamicControllers as r}from"@blueprintui/components/internals";import{BpGrid as o}from"../grid/element.js";import{ClipboardController as e}from"../clipboard/index.js";r.add(o,class extends e{constructor(r){super(r)}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{DynamicControllers as r}from"@blueprintui/components/internals";import{BpGrid as n}from"../grid/element.js";import{ColumnSpanController as o}from"../column-span/index.js";r.add(n,class extends o{constructor(r){super(r)}});
|
|
@@ -3,4 +3,10 @@ export declare function getFlattenedDOMTree(node: Node, depth?: number): HTMLEle
|
|
|
3
3
|
export declare function getChildren(node: any): any;
|
|
4
4
|
export declare function isObject(val: any): boolean;
|
|
5
5
|
export declare function mergeObjects(...objs: object[]): object;
|
|
6
|
+
/**
|
|
7
|
+
* Given a list of cells, duplicate the cell 1 * n of the ariaColSpan
|
|
8
|
+
*
|
|
9
|
+
* 1, 2, 3 (span 2), 4, 5, 6
|
|
10
|
+
* 1, 2, 3, 3, 4, 5, 6
|
|
11
|
+
*/
|
|
6
12
|
export declare function insertSpanningCells(cells: HTMLElement[]): HTMLElement[];
|
|
@@ -105,7 +105,11 @@
|
|
|
105
105
|
"description": "determines the visual layer style (container vs flat for nesting)",
|
|
106
106
|
"values": [{ "name": "flat" }, { "name": "container" }]
|
|
107
107
|
},
|
|
108
|
-
{
|
|
108
|
+
{
|
|
109
|
+
"name": "range-selection",
|
|
110
|
+
"description": "enables range selection",
|
|
111
|
+
"values": []
|
|
112
|
+
},
|
|
109
113
|
{ "name": "_id", "values": [] }
|
|
110
114
|
],
|
|
111
115
|
"references": []
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blueprintui/grid",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"package.json",
|
|
@@ -62,11 +62,11 @@
|
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"lit": "^3.2.1",
|
|
64
64
|
"tslib": "^2.8.1",
|
|
65
|
-
"@blueprintui/components": "^2.
|
|
65
|
+
"@blueprintui/components": "^2.3.0",
|
|
66
66
|
"@blueprintui/icons": "^2.1.6",
|
|
67
67
|
"@blueprintui/typewriter": "^2.1.11",
|
|
68
|
-
"@blueprintui/
|
|
69
|
-
"@blueprintui/
|
|
68
|
+
"@blueprintui/themes": "^2.1.10",
|
|
69
|
+
"@blueprintui/crane": "^2.1.8"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@web/dev-server": "0.4.6",
|
|
@@ -81,8 +81,8 @@
|
|
|
81
81
|
"playwright": "1.48.2",
|
|
82
82
|
"publint": "0.2.10",
|
|
83
83
|
"@blueprintui/layout": "^2.1.6",
|
|
84
|
-
"@blueprintui/
|
|
85
|
-
"@blueprintui/
|
|
84
|
+
"@blueprintui/typography": "^2.1.6",
|
|
85
|
+
"@blueprintui/test": "^0.0.0"
|
|
86
86
|
},
|
|
87
87
|
"wireit": {
|
|
88
88
|
"ci": {
|