jb-grid 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/package.json +3 -1
  2. package/react/dist/Components/Cell.d.ts +2 -3
  3. package/react/dist/Components/ExpandRow.d.ts +2 -3
  4. package/react/dist/Components/ExpandToggle.d.ts +1 -2
  5. package/react/dist/Components/Row.d.ts +2 -3
  6. package/react/dist/JBGrid.cjs.js.map +1 -1
  7. package/react/dist/JBGrid.d.ts +4 -4
  8. package/react/dist/JBGrid.js.map +1 -1
  9. package/react/dist/JBGrid.umd.js.map +1 -1
  10. package/react/lib/Components/Cell.tsx +2 -2
  11. package/react/lib/Components/ExpandRow.tsx +2 -2
  12. package/react/lib/Components/ExpandToggle.tsx +2 -2
  13. package/react/lib/Components/Row.tsx +2 -2
  14. package/react/lib/JBGrid.tsx +4 -4
  15. package/web-component/dist/cell/cell.d.ts +9 -0
  16. package/web-component/dist/cell/cell.d.ts.map +1 -0
  17. package/web-component/dist/cell/render.d.ts +2 -0
  18. package/web-component/dist/cell/render.d.ts.map +1 -0
  19. package/web-component/dist/cell/types.d.ts +2 -0
  20. package/web-component/dist/cell/types.d.ts.map +1 -0
  21. package/web-component/dist/index.cjs.js +2 -0
  22. package/web-component/dist/index.cjs.js.br +0 -0
  23. package/web-component/dist/index.cjs.js.gz +0 -0
  24. package/web-component/dist/index.cjs.js.map +1 -0
  25. package/web-component/dist/index.d.ts +5 -0
  26. package/web-component/dist/index.d.ts.map +1 -0
  27. package/web-component/dist/index.js +2 -0
  28. package/web-component/dist/index.js.br +0 -0
  29. package/web-component/dist/index.js.gz +0 -0
  30. package/web-component/dist/index.js.map +1 -0
  31. package/web-component/dist/index.umd.js +2 -0
  32. package/web-component/dist/index.umd.js.br +0 -0
  33. package/web-component/dist/index.umd.js.gz +0 -0
  34. package/web-component/dist/index.umd.js.map +1 -0
  35. package/web-component/dist/pagination/pagination.d.ts +13 -0
  36. package/web-component/dist/pagination/pagination.d.ts.map +1 -0
  37. package/web-component/dist/pagination/render.d.ts +2 -0
  38. package/web-component/dist/pagination/render.d.ts.map +1 -0
  39. package/web-component/dist/pagination/types.d.ts +18 -0
  40. package/web-component/dist/pagination/types.d.ts.map +1 -0
  41. package/web-component/dist/row/render.d.ts +2 -0
  42. package/web-component/dist/row/render.d.ts.map +1 -0
  43. package/web-component/dist/row/row.d.ts +12 -0
  44. package/web-component/dist/row/row.d.ts.map +1 -0
  45. package/web-component/dist/row/types.d.ts +9 -0
  46. package/web-component/dist/row/types.d.ts.map +1 -0
  47. package/web-component/dist/row/utils.d.ts +3 -0
  48. package/web-component/dist/row/utils.d.ts.map +1 -0
  49. package/web-component/dist/toggle/expand-toggle.d.ts +7 -0
  50. package/web-component/dist/toggle/expand-toggle.d.ts.map +1 -0
  51. package/web-component/dist/toggle/render.d.ts +2 -0
  52. package/web-component/dist/toggle/render.d.ts.map +1 -0
  53. package/web-component/dist/toggle/types.d.ts +1 -0
  54. package/web-component/dist/toggle/types.d.ts.map +1 -0
  55. package/web-component/lib/cell/cell.ts +50 -0
  56. package/web-component/lib/cell/render.ts +5 -0
  57. package/web-component/lib/cell/style.css +16 -0
  58. package/web-component/lib/cell/types.ts +3 -0
  59. package/web-component/lib/global.d.ts +15 -0
  60. package/web-component/lib/index.ts +4 -0
  61. package/web-component/lib/pagination/pagination.ts +211 -0
  62. package/web-component/lib/pagination/render.ts +22 -0
  63. package/web-component/lib/pagination/style.css +86 -0
  64. package/web-component/lib/pagination/types.ts +15 -0
  65. package/web-component/lib/row/render.ts +12 -0
  66. package/web-component/lib/row/row.ts +61 -0
  67. package/web-component/lib/row/style.css +55 -0
  68. package/web-component/lib/row/types.ts +8 -0
  69. package/web-component/lib/row/utils.ts +40 -0
  70. package/web-component/lib/toggle/expand-toggle.ts +53 -0
  71. package/web-component/lib/toggle/render.ts +13 -0
  72. package/web-component/lib/toggle/style.css +25 -0
  73. package/web-component/tsconfig.json +17 -0
@@ -0,0 +1,53 @@
1
+ import { renderHTML } from './render.js';
2
+ import CSS from './style.css';
3
+ import { registerDefaultVariables } from 'jb-core/theme';
4
+ import { JBRowWebComponent } from '../row/row.js';
5
+ export class JBExpandToggleWebComponent extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.#init();
9
+ }
10
+ #init() {
11
+ const shadowRoot = this.attachShadow({ mode: 'open', delegatesFocus: true, clonable:true, serializable:true });
12
+ registerDefaultVariables();
13
+ this.#render();
14
+ this.#registerEventListener();
15
+ }
16
+ #render() {
17
+ const html = `<style>${CSS}</style>\n${renderHTML()}`;
18
+ const element = document.createElement("template");
19
+ element.innerHTML = html;
20
+ this.shadowRoot!.appendChild(element.content.cloneNode(true));
21
+ }
22
+ #parentRow:JBRowWebComponent|null = null;
23
+ connectedCallback() {
24
+ this.#parentRow = this.#findParentRow(this);
25
+ if(this.#parentRow?.isOpen){
26
+ this.setAttribute('open','');
27
+ }
28
+ }
29
+ #findParentRow(element:Element|null):JBRowWebComponent|null{
30
+ if(!element || !element.parentElement){
31
+ return null;
32
+ }
33
+ if(element.parentElement instanceof JBRowWebComponent){
34
+ return element.parentElement
35
+ }else{
36
+ return this.#findParentRow(this.parentElement!);
37
+ }
38
+ }
39
+ #registerEventListener() {
40
+ this.addEventListener('click', ()=>this.toggle());
41
+ }
42
+ toggle(){
43
+ if(this.#parentRow){
44
+ const value = !this.#parentRow?.isOpen;
45
+ this.#parentRow.isOpen = value
46
+ value?this.setAttribute('open',''):this.removeAttribute('open');
47
+ }
48
+ }
49
+ }
50
+ const myElementNotExists = !customElements.get('jb-expand-toggle');
51
+ if (myElementNotExists) {
52
+ window.customElements.define('jb-expand-toggle', JBExpandToggleWebComponent);
53
+ }
@@ -0,0 +1,13 @@
1
+ export function renderHTML(): string {
2
+ return /* html */ `
3
+ <slot>
4
+ <svg class="arrow-icon" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg">
5
+ <path d="M35,10 L15,25 L35,40 Z"
6
+ fill="currentColor"
7
+ stroke="currentColor"
8
+ stroke-width="6"
9
+ stroke-linejoin="round" />
10
+ </svg>
11
+ </slot>
12
+ `;
13
+ }
@@ -0,0 +1,25 @@
1
+ :host {
2
+ width: 1.5rem;
3
+ height: 1.5rem;
4
+ display: block;
5
+ cursor: pointer;
6
+ }
7
+
8
+ :host([open]) {
9
+ .arrow-icon {
10
+ rotate: -90deg;
11
+ &:dir(ltr) {
12
+ rotate: 90deg;
13
+ }
14
+ }
15
+ }
16
+
17
+ .arrow-icon {
18
+ width: 100%;
19
+ height: 100%;
20
+ transition: all 0.3s 0s ease;
21
+
22
+ &:dir(ltr) {
23
+ transform: rotateY(180deg)
24
+ }
25
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "compilerOptions": {
3
+
4
+ "rootDir": "./lib",
5
+ "declarationDir": "./dist",
6
+ },
7
+ "include": [
8
+ "lib/global.d.ts",
9
+ "lib/**/*.ts",
10
+ ],
11
+ "exclude": [
12
+ "node_modules",
13
+ "**/*.spec.ts",
14
+ "dist",
15
+ ],
16
+ "extends":"jb-core/configs/tsconfig-web-component.json"
17
+ }