xv-webcomponents 0.1.44 → 0.1.48

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 (143) hide show
  1. package/dist/cjs/{index-MLh9SbX2.js → index-CjhPTfz8.js} +41 -14
  2. package/dist/cjs/index-CjhPTfz8.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +3 -4
  4. package/dist/cjs/loader.cjs.js.map +1 -1
  5. package/dist/cjs/xv-accordion-v2_38.cjs.entry.js +79072 -0
  6. package/dist/cjs/xv-accordion-v2_38.cjs.entry.js.map +1 -0
  7. package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js +2 -2
  8. package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js.map +1 -1
  9. package/dist/cjs/xv-breadcrumbs-v2.entry.cjs.js.map +1 -1
  10. package/dist/cjs/xv-webcomponents.cjs.js +4 -5
  11. package/dist/cjs/xv-webcomponents.cjs.js.map +1 -1
  12. package/dist/collection/collection-manifest.json +5 -1
  13. package/dist/collection/components/xv-accordion/xv-accordion.css +95 -0
  14. package/dist/collection/components/xv-accordion-item/xv-accordion-item.css +95 -0
  15. package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.css +95 -0
  16. package/dist/collection/components/xv-button/xv-button-v2.css +95 -0
  17. package/dist/collection/components/xv-card/xv-card.css +95 -0
  18. package/dist/collection/components/xv-checkbox/xv-checkbox.css +95 -0
  19. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.css +95 -0
  20. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js +29 -5
  21. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js.map +1 -1
  22. package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.css +95 -0
  23. package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.js +1 -1
  24. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.css +104 -7
  25. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js +9 -3
  26. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js.map +1 -1
  27. package/dist/collection/components/xv-data-table/xv-data-table.css +112 -2
  28. package/dist/collection/components/xv-data-table/xv-data-table.js +20 -1
  29. package/dist/collection/components/xv-data-table/xv-data-table.js.map +1 -1
  30. package/dist/collection/components/xv-datepicker/xv-datepicker.css +401 -0
  31. package/dist/collection/components/xv-datepicker/xv-datepicker.js +570 -0
  32. package/dist/collection/components/xv-datepicker/xv-datepicker.js.map +1 -0
  33. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.css +95 -0
  34. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
  35. package/dist/collection/components/xv-dropdown/xv-dropdown.css +95 -0
  36. package/dist/collection/components/xv-dropdown/xv-dropdown.js +2 -2
  37. package/dist/collection/components/xv-dropdown/xv-dropdown.js.map +1 -1
  38. package/dist/collection/components/xv-file-uploader/xv-file-uploader.css +98 -1
  39. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +76 -10
  40. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js.map +1 -1
  41. package/dist/collection/components/xv-footer/xv-footer.css +95 -0
  42. package/dist/collection/components/xv-footer/xv-footer.js +1 -1
  43. package/dist/collection/components/xv-header/xv-header.css +95 -0
  44. package/dist/collection/components/xv-header/xv-header.js +1 -1
  45. package/dist/collection/components/xv-link/xv-link.css +95 -0
  46. package/dist/collection/components/xv-link/xv-link.js +1 -1
  47. package/dist/collection/components/xv-loader/xv-loader.css +95 -0
  48. package/dist/collection/components/xv-login-modal/xv-login-modal.css +95 -0
  49. package/dist/collection/components/xv-modal/xv-modal.css +108 -0
  50. package/dist/collection/components/xv-modal/xv-modal.js +20 -1
  51. package/dist/collection/components/xv-modal/xv-modal.js.map +1 -1
  52. package/dist/collection/components/xv-notification/xv-notification.css +96 -1
  53. package/dist/collection/components/xv-notification/xv-notification.js +1 -1
  54. package/dist/collection/components/xv-number-input/xv-number-input.css +95 -0
  55. package/dist/collection/components/xv-number-input/xv-number-input.js +2 -2
  56. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.css +95 -0
  57. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +1 -1
  58. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.css +95 -0
  59. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +1 -1
  60. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.css +96 -1
  61. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
  62. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.css +95 -0
  63. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
  64. package/dist/collection/components/xv-slider/xv-slider.css +196 -0
  65. package/dist/collection/components/xv-slider/xv-slider.js +259 -0
  66. package/dist/collection/components/xv-slider/xv-slider.js.map +1 -0
  67. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.css +95 -0
  68. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +1 -1
  69. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.css +95 -0
  70. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
  71. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.css +95 -0
  72. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +1 -1
  73. package/dist/collection/components/xv-table/xv-table.css +95 -0
  74. package/dist/collection/components/xv-table/xv-table.js +1 -1
  75. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.css +95 -0
  76. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
  77. package/dist/collection/components/xv-tabs/xv-tabs.css +100 -11
  78. package/dist/collection/components/xv-tag/xv-tag.css +95 -0
  79. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  80. package/dist/collection/components/xv-text-input/xv-text-input.css +98 -0
  81. package/dist/collection/components/xv-text-input/xv-text-input.js +21 -2
  82. package/dist/collection/components/xv-text-input/xv-text-input.js.map +1 -1
  83. package/dist/collection/components/xv-textarea/xv-textarea.css +254 -0
  84. package/dist/collection/components/xv-textarea/xv-textarea.js +411 -0
  85. package/dist/collection/components/xv-textarea/xv-textarea.js.map +1 -0
  86. package/dist/collection/components/xv-tile/xv-tile.css +294 -0
  87. package/dist/collection/components/xv-tile/xv-tile.js +264 -0
  88. package/dist/collection/components/xv-tile/xv-tile.js.map +1 -0
  89. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.css +95 -0
  90. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +1 -1
  91. package/dist/collection/components/xv-tooltip/xv-tooltip.css +92 -28
  92. package/dist/collection/components/xv-tooltip/xv-tooltip.js +66 -18
  93. package/dist/collection/components/xv-tooltip/xv-tooltip.js.map +1 -1
  94. package/dist/esm/{index-DLYJiP99.js → index-BQoQLd_U.js} +41 -15
  95. package/dist/esm/index-BQoQLd_U.js.map +1 -0
  96. package/dist/esm/loader.js +3 -4
  97. package/dist/esm/loader.js.map +1 -1
  98. package/dist/esm/xv-accordion-v2_38.entry.js +79033 -0
  99. package/dist/esm/xv-accordion-v2_38.entry.js.map +1 -0
  100. package/dist/esm/xv-breadcrumbs-v2.entry.js +2 -2
  101. package/dist/esm/xv-breadcrumbs-v2.entry.js.map +1 -1
  102. package/dist/esm/xv-webcomponents.js +4 -5
  103. package/dist/esm/xv-webcomponents.js.map +1 -1
  104. package/dist/types/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.d.ts +2 -0
  105. package/dist/types/components/xv-data-table/xv-data-table.d.ts +1 -0
  106. package/dist/types/components/xv-datepicker/xv-datepicker.d.ts +69 -0
  107. package/dist/types/components/xv-file-uploader/xv-file-uploader.d.ts +3 -0
  108. package/dist/types/components/xv-modal/xv-modal.d.ts +4 -0
  109. package/dist/types/components/xv-slider/xv-slider.d.ts +20 -0
  110. package/dist/types/components/xv-text-input/xv-text-input.d.ts +1 -0
  111. package/dist/types/components/xv-textarea/xv-textarea.d.ts +27 -0
  112. package/dist/types/components/xv-tile/xv-tile.d.ts +24 -0
  113. package/dist/types/components/xv-tooltip/xv-tooltip.d.ts +5 -3
  114. package/dist/types/components.d.ts +373 -0
  115. package/dist/types/stencil-public-runtime.d.ts +1 -1
  116. package/dist/xv-webcomponents/loader.esm.js.map +1 -1
  117. package/dist/xv-webcomponents/p-50fb934d.entry.js +2 -0
  118. package/dist/xv-webcomponents/p-50fb934d.entry.js.map +1 -0
  119. package/dist/xv-webcomponents/p-BQoQLd_U.js +3 -0
  120. package/dist/xv-webcomponents/p-BQoQLd_U.js.map +1 -0
  121. package/dist/xv-webcomponents/p-a8d785da.entry.js +2 -0
  122. package/dist/xv-webcomponents/{p-5b63a259.entry.js.map → p-a8d785da.entry.js.map} +1 -1
  123. package/dist/xv-webcomponents/xv-breadcrumbs-v2.entry.esm.js.map +1 -1
  124. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  125. package/dist/xv-webcomponents/xv-webcomponents.esm.js.map +1 -1
  126. package/package.json +7 -4
  127. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -8
  128. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +0 -1
  129. package/dist/cjs/index-MLh9SbX2.js.map +0 -1
  130. package/dist/cjs/xv-accordion-v2_34.cjs.entry.js +0 -3510
  131. package/dist/cjs/xv-accordion-v2_34.cjs.entry.js.map +0 -1
  132. package/dist/esm/app-globals-DQuL1Twl.js +0 -6
  133. package/dist/esm/app-globals-DQuL1Twl.js.map +0 -1
  134. package/dist/esm/index-DLYJiP99.js.map +0 -1
  135. package/dist/esm/xv-accordion-v2_34.entry.js +0 -3475
  136. package/dist/esm/xv-accordion-v2_34.entry.js.map +0 -1
  137. package/dist/xv-webcomponents/p-5b63a259.entry.js +0 -2
  138. package/dist/xv-webcomponents/p-9c06f44c.entry.js +0 -2
  139. package/dist/xv-webcomponents/p-9c06f44c.entry.js.map +0 -1
  140. package/dist/xv-webcomponents/p-DLYJiP99.js +0 -3
  141. package/dist/xv-webcomponents/p-DLYJiP99.js.map +0 -1
  142. package/dist/xv-webcomponents/p-DQuL1Twl.js +0 -2
  143. package/dist/xv-webcomponents/p-DQuL1Twl.js.map +0 -1
@@ -1,4 +1,100 @@
1
+ .xv-tooltip[role=tooltip] {
2
+ position: absolute;
3
+ background-color: var(--background-inverse, #333333);
4
+ color: var(--text-on-color);
5
+ padding: var(--spacing-03) var(--spacing-04);
6
+ border-radius: 3px;
7
+ font-size: var(--fz-sm);
8
+ z-index: 999;
9
+ min-width: min(150px, 90vw);
10
+ max-width: min(400px, 90vw);
11
+ }
12
+ .xv-tooltip[role=tooltip]::after {
13
+ content: "";
14
+ position: absolute;
15
+ width: 0;
16
+ height: 0;
17
+ border-style: solid;
18
+ }
19
+ .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
20
+ bottom: -5px;
21
+ left: 50%;
22
+ transform: translateX(-50%);
23
+ border-width: 5px 5px 0 5px;
24
+ border-color: var(--background-inverse, black) transparent transparent transparent;
25
+ }
26
+ .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
27
+ bottom: -5px;
28
+ left: 12px;
29
+ border-width: 5px 5px 0 5px;
30
+ border-color: var(--background-inverse, black) transparent transparent transparent;
31
+ }
32
+ .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
33
+ bottom: -5px;
34
+ right: 12px;
35
+ border-width: 5px 5px 0 5px;
36
+ border-color: var(--background-inverse, black) transparent transparent transparent;
37
+ }
38
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
39
+ top: -5px;
40
+ left: 50%;
41
+ transform: translateX(-50%);
42
+ border-width: 0 5px 5px 5px;
43
+ border-color: transparent transparent var(--background-inverse, black) transparent;
44
+ }
45
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
46
+ top: -5px;
47
+ left: 12px;
48
+ border-width: 0 5px 5px 5px;
49
+ border-color: transparent transparent var(--background-inverse, black) transparent;
50
+ }
51
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
52
+ top: -5px;
53
+ right: 12px;
54
+ border-width: 0 5px 5px 5px;
55
+ border-color: transparent transparent var(--background-inverse, black) transparent;
56
+ }
57
+ .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
58
+ top: 50%;
59
+ right: -5px;
60
+ transform: translateY(-50%);
61
+ border-width: 5px 0 5px 5px;
62
+ border-color: transparent transparent transparent var(--background-inverse, black);
63
+ }
64
+ .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
65
+ top: 12px;
66
+ right: -5px;
67
+ border-width: 5px 0 5px 5px;
68
+ border-color: transparent transparent transparent var(--background-inverse, black);
69
+ }
70
+ .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
71
+ bottom: 12px;
72
+ right: -5px;
73
+ border-width: 5px 0 5px 5px;
74
+ border-color: transparent transparent transparent var(--background-inverse, black);
75
+ }
76
+ .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
77
+ top: 50%;
78
+ left: -5px;
79
+ transform: translateY(-50%);
80
+ border-width: 5px 5px 5px 0;
81
+ border-color: transparent var(--background-inverse, black) transparent transparent;
82
+ }
83
+ .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
84
+ top: 12px;
85
+ left: -5px;
86
+ border-width: 5px 5px 5px 0;
87
+ border-color: transparent var(--background-inverse, black) transparent transparent;
88
+ }
89
+ .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
90
+ bottom: 12px;
91
+ left: -5px;
92
+ border-width: 5px 5px 5px 0;
93
+ border-color: transparent var(--background-inverse, black) transparent transparent;
94
+ }
95
+
1
96
  :host {
97
+ --xv-data-table-min-height: 51.11px;
2
98
  --xv-data-table-border-width: 1px;
3
99
  --xv-data-table-border-color: var(--border-subtle-01, #D1D1D1);
4
100
  --xv-data-table-padding-x: var(--spacing-05, 16px);
@@ -12,7 +108,7 @@
12
108
  line-height: 18px;
13
109
  letter-spacing: 0.16px;
14
110
  }
15
- @media screen and (max-width: 980px) {
111
+ @media screen and (max-width: 1180px) {
16
112
  :host {
17
113
  display: block;
18
114
  position: relative;
@@ -21,12 +117,13 @@
21
117
  scrollbar-color: var(--layer-accent-03) transparent;
22
118
  }
23
119
  :host ::slotted([slot=title]), :host > table {
24
- min-width: 1000px;
120
+ min-width: 1180px;
25
121
  }
26
122
  }
27
123
  :host .bar {
28
124
  position: sticky;
29
125
  left: 0;
126
+ z-index: 10;
30
127
  }
31
128
  :host .bar_batch {
32
129
  position: absolute;
@@ -70,6 +167,19 @@
70
167
  :host > caption {
71
168
  display: contents;
72
169
  }
170
+ :host .loading {
171
+ z-index: 10;
172
+ display: flex;
173
+ align-items: center;
174
+ justify-content: center;
175
+ min-height: var(--xv-data-table-min-height, 51.11px);
176
+ position: absolute;
177
+ top: 0;
178
+ left: 0;
179
+ width: 100%;
180
+ height: 100%;
181
+ background-color: rgba(255, 255, 255, 0.8);
182
+ }
73
183
 
74
184
  :host([block]) {
75
185
  width: 100%;
@@ -7,7 +7,7 @@ export class XvDataTable {
7
7
  this.hover = false;
8
8
  }
9
9
  render() {
10
- return (h(Host, { key: '207324db4e9adea03e0137788fa43f8e9a7eb677', class: "xv-data-table" }, h("caption", { key: 'f5925136510194c00db68b12ef921f6e68b56904' }, h("slot", { key: 'b0b40ae6031c154f75f84587c4fa54f2c86fb011', name: "title" })), h("div", { key: '69121d921fcdc8f1c82e44d7eede6cdcab9e22d4', class: "bar" }, h("div", { key: '6b3db04362ba12983581946f00a66738dee3c2da', class: "bar_batch" }, h("slot", { key: 'caac537802365f29fefb13ac7f2c3060849ac47e', name: "batch" })), h("div", { key: 'b918df57e54dca14d66dd8a14994ceab12ff7ad2', class: "bar_toolbar" }, h("slot", { key: 'a567d9d6258abf3b3ed888e5ecee3817962949f6', name: "toolbar" }))), h("table", { key: 'fd0e463d79710b09db9a6e5655279d6c6591ed2e', role: "table" }, this.columnWidths.length > 0 && (h("colgroup", { key: '05aa18155327d5ecb1c62081dc081efb1f3b8db3' }, this.columnWidths.map((width = 'auto') => h("col", { style: { width } })))), h("slot", { key: 'f95cdd075cad05b53bf8e3cef85eccd908c1191f' }))));
10
+ return (h(Host, { key: '1a8dba81544ccb3a0881cd2d1573ee4000269d12', class: "xv-data-table" }, h("caption", { key: 'bc5c9defcb9541c7b95cbf4f1a3dbed563ff34aa' }, h("slot", { key: '5deafd8370e965164f4cc242e12e9a14120ec07b', name: "title" })), h("div", { key: '8665b876dcad814e4f758968fc5cc69726c12d74', class: "bar" }, h("div", { key: 'dce555dbfaac502afd04b253e431001beeb9e78e', class: "bar_batch" }, h("slot", { key: '48c79bee9b1e02eaff0e5ec12a5e49a1eea40f84', name: "batch" })), h("div", { key: 'a6b242b9c095221be3e8a93bdd1d911a3683c08d', class: "bar_toolbar" }, h("slot", { key: 'e651e2dc0886251743d2d2de68ad6233420405e5', name: "toolbar" }))), h("table", { key: '411a552a506abf324be71e1ab1e59c7fdcfb5373', role: "table" }, this.columnWidths.length > 0 && (h("colgroup", { key: 'dccdffbda2c37ad60ad066c9fc04a3cf5321ced1' }, this.columnWidths.map((width = 'auto') => h("col", { style: { width } })))), h("thead", { key: '365e8597c85c9c2482041093caa097cef826f0e6' }, h("slot", { key: '5c5efeba7f80a428c24608d6420d0a7705453db4', name: "header" })), h("tbody", { key: '3125e64b5488d9210d671d76223bfc715eae376c' }, h("slot", { key: '926c9406e2fd63e64a5872eb33cbcb9c59af9613' })), h("tfoot", { key: 'a62e2c69d7bf4cfbea88ee3bdae99050eb77c42a' }, h("slot", { key: '9d0a2dedadc5082f5f3aae6a658e755cc34e69b0', name: "footer" }))), !!this.loading && (h("div", { key: '59780110176efb21d4cff6f820826a62ea59404c', class: "loading" }, h("xv-loader-v2", { key: 'e4fe3baec8de82403e3b109f6fe02899388e296a', size: SIZE_VAR.LG })))));
11
11
  }
12
12
  static get is() { return "xv-data-table"; }
13
13
  static get encapsulation() { return "shadow"; }
@@ -68,6 +68,25 @@ export class XvDataTable {
68
68
  "setter": false,
69
69
  "reflect": false
70
70
  },
71
+ "loading": {
72
+ "type": "boolean",
73
+ "attribute": "loading",
74
+ "mutable": false,
75
+ "complexType": {
76
+ "original": "boolean",
77
+ "resolved": "boolean",
78
+ "references": {}
79
+ },
80
+ "required": false,
81
+ "optional": true,
82
+ "docs": {
83
+ "tags": [],
84
+ "text": ""
85
+ },
86
+ "getter": false,
87
+ "setter": false,
88
+ "reflect": false
89
+ },
71
90
  "columnWidths": {
72
91
  "type": "unknown",
73
92
  "attribute": "column-widths",
@@ -1 +1 @@
1
- {"version":3,"file":"xv-data-table.js","sourceRoot":"","sources":["../../../src/components/xv-data-table/xv-data-table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C,MAAM,OAAO,WAAW;IALxB;QAOU,SAAI,GAAa,QAAQ,CAAC,EAAE,CAAC;QAE7B,iBAAY,GAAsB,EAAE,CAAC;QACrC,UAAK,GAAY,KAAK,CAAC;KA4BhC;IA1BC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAC,eAAe;YACzB;gBACE,6DAAM,IAAI,EAAC,OAAO,GAAG,CACb;YACV,4DAAK,KAAK,EAAC,KAAK;gBACd,4DAAK,KAAK,EAAC,WAAW;oBACpB,6DAAM,IAAI,EAAC,OAAO,GAAG,CACjB;gBACN,4DAAK,KAAK,EAAC,aAAa;oBACtB,6DAAM,IAAI,EAAC,SAAS,GAAG,CACnB,CACF;YACN,8DAAO,IAAI,EAAC,OAAO;gBAChB,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC/B,mEACG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,EAAE,EAAE,CAAC,WAAK,KAAK,EAAE,EAAE,KAAK,EAAE,GAAI,CAAC,CAC5D,CACZ;gBAED,8DAAQ,CACF,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop, Element } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\n\n@Component({\n tag: 'xv-data-table',\n styleUrl: 'xv-data-table.scss',\n shadow: true,\n})\nexport class XvDataTable {\n @Element() el: HTMLElement;\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Prop() block?: boolean;\n @Prop() columnWidths: (string | null)[] = [];\n @Prop() hover: boolean = false;\n\n render() {\n return (\n <Host class=\"xv-data-table\">\n <caption>\n <slot name=\"title\" />\n </caption>\n <div class=\"bar\">\n <div class=\"bar_batch\">\n <slot name=\"batch\" />\n </div>\n <div class=\"bar_toolbar\">\n <slot name=\"toolbar\" />\n </div>\n </div>\n <table role=\"table\">\n {this.columnWidths.length > 0 && (\n <colgroup>\n {this.columnWidths.map((width = 'auto') => <col style={{ width }} />)}\n </colgroup>\n )}\n\n <slot />\n </table>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"xv-data-table.js","sourceRoot":"","sources":["../../../src/components/xv-data-table/xv-data-table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C,MAAM,OAAO,WAAW;IALxB;QAOU,SAAI,GAAa,QAAQ,CAAC,EAAE,CAAC;QAG7B,iBAAY,GAAsB,EAAE,CAAC;QACrC,UAAK,GAAY,KAAK,CAAC;KAmChC;IAjCC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAC,eAAe;YACzB;gBACE,6DAAM,IAAI,EAAC,OAAO,GAAG,CACb;YACV,4DAAK,KAAK,EAAC,KAAK;gBACd,4DAAK,KAAK,EAAC,WAAW;oBACpB,6DAAM,IAAI,EAAC,OAAO,GAAG,CACjB;gBACN,4DAAK,KAAK,EAAC,aAAa;oBACtB,6DAAM,IAAI,EAAC,SAAS,GAAG,CACnB,CACF;YACN,8DAAO,IAAI,EAAC,OAAO;gBAChB,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC/B,mEACG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,EAAE,EAAE,CAAC,WAAK,KAAK,EAAE,EAAE,KAAK,EAAE,GAAI,CAAC,CAC5D,CACZ;gBACD;oBAAO,6DAAM,IAAI,EAAC,QAAQ,GAAG,CAAQ;gBACrC;oBAAO,8DAAQ,CAAQ;gBACvB;oBAAO,6DAAM,IAAI,EAAC,QAAQ,GAAG,CAAQ,CAC/B;YAEP,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CACjB,4DAAK,KAAK,EAAC,SAAS;gBAClB,qEAAc,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAI,CAC/B,CACP,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop, Element } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\n\n@Component({\n tag: 'xv-data-table',\n styleUrl: 'xv-data-table.scss',\n shadow: true,\n})\nexport class XvDataTable {\n @Element() el: HTMLElement;\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Prop() block?: boolean;\n @Prop() loading?: boolean;\n @Prop() columnWidths: (string | null)[] = [];\n @Prop() hover: boolean = false;\n\n render() {\n return (\n <Host class=\"xv-data-table\">\n <caption>\n <slot name=\"title\" />\n </caption>\n <div class=\"bar\">\n <div class=\"bar_batch\">\n <slot name=\"batch\" />\n </div>\n <div class=\"bar_toolbar\">\n <slot name=\"toolbar\" />\n </div>\n </div>\n <table role=\"table\">\n {this.columnWidths.length > 0 && (\n <colgroup>\n {this.columnWidths.map((width = 'auto') => <col style={{ width }} />)}\n </colgroup>\n )}\n <thead><slot name=\"header\" /></thead>\n <tbody><slot /></tbody>\n <tfoot><slot name=\"footer\" /></tfoot>\n </table>\n\n {!!this.loading && (\n <div class=\"loading\">\n <xv-loader-v2 size={SIZE_VAR.LG} />\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,401 @@
1
+ @charset "UTF-8";
2
+ .xv-tooltip[role=tooltip] {
3
+ position: absolute;
4
+ background-color: var(--background-inverse, #333333);
5
+ color: var(--text-on-color);
6
+ padding: var(--spacing-03) var(--spacing-04);
7
+ border-radius: 3px;
8
+ font-size: var(--fz-sm);
9
+ z-index: 999;
10
+ min-width: min(150px, 90vw);
11
+ max-width: min(400px, 90vw);
12
+ }
13
+ .xv-tooltip[role=tooltip]::after {
14
+ content: "";
15
+ position: absolute;
16
+ width: 0;
17
+ height: 0;
18
+ border-style: solid;
19
+ }
20
+ .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
21
+ bottom: -5px;
22
+ left: 50%;
23
+ transform: translateX(-50%);
24
+ border-width: 5px 5px 0 5px;
25
+ border-color: var(--background-inverse, black) transparent transparent transparent;
26
+ }
27
+ .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
28
+ bottom: -5px;
29
+ left: 12px;
30
+ border-width: 5px 5px 0 5px;
31
+ border-color: var(--background-inverse, black) transparent transparent transparent;
32
+ }
33
+ .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
34
+ bottom: -5px;
35
+ right: 12px;
36
+ border-width: 5px 5px 0 5px;
37
+ border-color: var(--background-inverse, black) transparent transparent transparent;
38
+ }
39
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
40
+ top: -5px;
41
+ left: 50%;
42
+ transform: translateX(-50%);
43
+ border-width: 0 5px 5px 5px;
44
+ border-color: transparent transparent var(--background-inverse, black) transparent;
45
+ }
46
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
47
+ top: -5px;
48
+ left: 12px;
49
+ border-width: 0 5px 5px 5px;
50
+ border-color: transparent transparent var(--background-inverse, black) transparent;
51
+ }
52
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
53
+ top: -5px;
54
+ right: 12px;
55
+ border-width: 0 5px 5px 5px;
56
+ border-color: transparent transparent var(--background-inverse, black) transparent;
57
+ }
58
+ .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
59
+ top: 50%;
60
+ right: -5px;
61
+ transform: translateY(-50%);
62
+ border-width: 5px 0 5px 5px;
63
+ border-color: transparent transparent transparent var(--background-inverse, black);
64
+ }
65
+ .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
66
+ top: 12px;
67
+ right: -5px;
68
+ border-width: 5px 0 5px 5px;
69
+ border-color: transparent transparent transparent var(--background-inverse, black);
70
+ }
71
+ .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
72
+ bottom: 12px;
73
+ right: -5px;
74
+ border-width: 5px 0 5px 5px;
75
+ border-color: transparent transparent transparent var(--background-inverse, black);
76
+ }
77
+ .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
78
+ top: 50%;
79
+ left: -5px;
80
+ transform: translateY(-50%);
81
+ border-width: 5px 5px 5px 0;
82
+ border-color: transparent var(--background-inverse, black) transparent transparent;
83
+ }
84
+ .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
85
+ top: 12px;
86
+ left: -5px;
87
+ border-width: 5px 5px 5px 0;
88
+ border-color: transparent var(--background-inverse, black) transparent transparent;
89
+ }
90
+ .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
91
+ bottom: 12px;
92
+ left: -5px;
93
+ border-width: 5px 5px 5px 0;
94
+ border-color: transparent var(--background-inverse, black) transparent transparent;
95
+ }
96
+
97
+ :host {
98
+ --xv-datepicker-padding: var(--spacing-04);
99
+ display: inline-block;
100
+ font-size: var(--fz-md, 14px);
101
+ }
102
+ :host .control {
103
+ display: flex;
104
+ flex-direction: column;
105
+ row-gap: var(--spacing-03);
106
+ text-align: left;
107
+ letter-spacing: 0.32px;
108
+ }
109
+ :host .control_label {
110
+ color: var(--text-secondary, #515151);
111
+ font-size: 0.8571428571em;
112
+ font-weight: 700;
113
+ }
114
+ :host .control_field {
115
+ position: relative;
116
+ display: flex;
117
+ column-gap: var(--spacing-03);
118
+ }
119
+ :host .control_field input[type=date] {
120
+ flex: 1 1 0;
121
+ border-radius: 3px;
122
+ color: var(--text-primary, #333);
123
+ font-family: var(--ff-body);
124
+ font-size: 1em;
125
+ background-color: transparent;
126
+ font-style: normal;
127
+ font-weight: 400;
128
+ line-height: 20px;
129
+ letter-spacing: 0.32px;
130
+ padding: var(--xv-datepicker-padding) calc(var(--spacing-05) + 20px) var(--xv-datepicker-padding) var(--spacing-05);
131
+ border: 1px solid var(--border-subtle-01);
132
+ box-shadow: none;
133
+ outline: 2px solid transparent;
134
+ transition: 0.25s ease-in-out outline-color;
135
+ appearance: none;
136
+ }
137
+ :host .control_field input[type=date]:empty {
138
+ color: var(--text-helper, #646464);
139
+ }
140
+ :host .control_field input[type=date]:focus {
141
+ outline-color: var(--focus);
142
+ }
143
+ :host .control_field input[type=date]::-webkit-calendar-picker-indicator {
144
+ visibility: hidden;
145
+ opacity: 0;
146
+ appearance: none;
147
+ pointer-events: none;
148
+ display: none;
149
+ }
150
+ :host .control_field:before {
151
+ font-size: 16px;
152
+ width: 16px;
153
+ height: 16px;
154
+ top: calc(50% - 8px);
155
+ right: var(--spacing-04);
156
+ position: absolute;
157
+ content: "";
158
+ box-sizing: border-box;
159
+ display: inline-flex;
160
+ align-items: center;
161
+ justify-content: center;
162
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11zm0-13H5V6h14v1z'/%3E%3C/svg%3E");
163
+ }
164
+ @supports not selector(::-webkit-calendar-picker-indicator) {
165
+ :host .control_field:before {
166
+ background-image: none;
167
+ }
168
+ }
169
+ :host .control_field.warning, :host .control_field.error, :host .control_field.loading {
170
+ position: relative;
171
+ }
172
+ :host .control_field.warning:before, :host .control_field.error:before, :host .control_field.loading:before {
173
+ background-image: none;
174
+ }
175
+ :host .control_field.warning:before {
176
+ content: "⚠";
177
+ color: var(--support-warning);
178
+ }
179
+ :host .control_field.error:before {
180
+ font-size: 12px;
181
+ border-radius: 50%;
182
+ content: "!";
183
+ color: #fff;
184
+ background-color: var(--support-error);
185
+ }
186
+ :host .control_field.error input[type=date] {
187
+ outline-color: var(--support-error);
188
+ border: 1px solid var(--support-error);
189
+ }
190
+ :host .control_field.loading {
191
+ /* Animation */
192
+ }
193
+ @keyframes spin {
194
+ to {
195
+ transform: rotate(360deg);
196
+ }
197
+ }
198
+ :host .control_field.loading:before {
199
+ content: "";
200
+ background-color: transparent;
201
+ border-radius: 50%;
202
+ border: 3px solid rgba(0, 0, 0, 0.1);
203
+ border-top-color: var(--highlight-01, #CEDE94);
204
+ animation: spin 0.8s linear infinite;
205
+ }
206
+ :host .control_message {
207
+ font-size: 0.8571428571em;
208
+ color: var(--text-primary, #333);
209
+ margin: 0;
210
+ padding: 0;
211
+ }
212
+ :host .control_message.error {
213
+ color: var(--text-error, #D62512);
214
+ }
215
+ :host .popover {
216
+ opacity: 1;
217
+ z-index: 12;
218
+ position: absolute;
219
+ max-width: fit-content;
220
+ box-sizing: border-box;
221
+ display: inline-flex;
222
+ flex-direction: column;
223
+ background-color: var(--layer-02, #fff);
224
+ border-radius: 3px;
225
+ box-shadow: 0 4px 8px 3px rgba(39, 52, 53, 0.15), 0 1px 3px 0 rgba(39, 52, 53, 0.3);
226
+ padding: var(--spacing-02) var(--spacing-03);
227
+ row-gap: var(--spacing-02, 4px);
228
+ }
229
+ :host .popover:not(.open) {
230
+ opacity: 0;
231
+ z-index: -1;
232
+ user-select: none;
233
+ pointer-events: none;
234
+ }
235
+ :host .popover .header {
236
+ display: grid;
237
+ width: 100%;
238
+ grid-template-columns: auto 1fr auto;
239
+ column-gap: var(--spacing-03);
240
+ }
241
+ :host .popover .header_date {
242
+ margin: 0;
243
+ padding: 0;
244
+ display: flex;
245
+ align-items: center;
246
+ justify-content: center;
247
+ text-transform: capitalize;
248
+ color: var(--text-primary, #333);
249
+ text-align: center;
250
+ font-family: var(--ff-body);
251
+ font-size: 1em;
252
+ font-weight: 700;
253
+ letter-spacing: 0.16px;
254
+ }
255
+ :host .popover .header_date input[type=number] {
256
+ display: inline-block;
257
+ padding: 0.25rem;
258
+ border: none;
259
+ margin: 0 0 0 var(--spacing-02);
260
+ cursor: default;
261
+ font-family: inherit;
262
+ font-size: inherit;
263
+ font-weight: 600;
264
+ inline-size: 3.75em;
265
+ border-radius: 3px;
266
+ }
267
+ :host .popover .header_date input[type=number]:focus {
268
+ outline: 1px solid var(--focus);
269
+ }
270
+ :host .popover .header_icon {
271
+ display: inline-block;
272
+ position: relative;
273
+ border: solid currentColor;
274
+ padding: 5px;
275
+ border-width: 0 2px 2px 0;
276
+ }
277
+ :host .popover .header_icon.prev {
278
+ transform: translate(4px) rotate(135deg);
279
+ }
280
+ :host .popover .header_icon.next {
281
+ transform: translate(-4px) rotate(-45deg);
282
+ }
283
+ :host .popover .week {
284
+ display: grid;
285
+ width: 100%;
286
+ grid-template-columns: repeat(8, 1fr);
287
+ }
288
+ :host .popover .week_day {
289
+ width: 40px;
290
+ line-height: 40px;
291
+ margin: 0;
292
+ padding: 0;
293
+ box-sizing: border-box;
294
+ color: var(--text-primary, #333);
295
+ font-family: var(--ff-body);
296
+ font-size: 1em;
297
+ letter-spacing: 0.16px;
298
+ user-select: none;
299
+ }
300
+ :host .popover .week_day:is(button) {
301
+ background-color: transparent;
302
+ border: none;
303
+ outline: none;
304
+ transition: 250ms ease-in-out background-color, 250ms ease-in-out color;
305
+ }
306
+ :host .popover .week_day:is(button):hover:not(:disabled) {
307
+ cursor: pointer;
308
+ background-color: var(--layer-hover-01, #E9E9E9);
309
+ }
310
+ :host .popover .week_day:is(button):focus:not(:disabled) {
311
+ cursor: pointer;
312
+ outline: 1px solid var(--focus, #273435);
313
+ background-blend-mode: multiply;
314
+ }
315
+ :host .popover .week_day:is(button):active:not(:disabled) {
316
+ background-color: rgba(139, 139, 139, 0.5);
317
+ }
318
+ :host .popover .week_day:is(button).inRange:not(.disabled):not(.active) {
319
+ background-color: var(--highlight-01, #CEDE94);
320
+ }
321
+ :host .popover .week_day:is(button).active {
322
+ background-color: var(--button-primary, #273435);
323
+ color: var(--text-on-color, #fff);
324
+ z-index: 1;
325
+ }
326
+ :host .popover .week_day:is(button).active:hover {
327
+ background-color: var(--button-primary-hover, #303F40);
328
+ }
329
+ :host .popover .week_day:is(button).active:active {
330
+ background-color: var(--button-primary-active, #455D5E);
331
+ }
332
+ :host .popover .week_day.isToday {
333
+ position: relative;
334
+ font-weight: bold;
335
+ }
336
+ :host .popover .week_day.isToday:before {
337
+ content: "";
338
+ position: absolute;
339
+ bottom: 2px;
340
+ left: calc(50% - 2px);
341
+ display: inline-block;
342
+ width: 4px;
343
+ height: 4px;
344
+ border-radius: 2px;
345
+ background-color: currentColor;
346
+ }
347
+ :host .popover .week_day.disabled {
348
+ color: var(--text-placeholder, #ACACAC);
349
+ }
350
+ :host .popover .week_day__mobile {
351
+ display: none;
352
+ }
353
+ @media screen and (max-width: 920px) {
354
+ :host .popover .week_day__mobile {
355
+ display: inline-block;
356
+ }
357
+ }
358
+ :host .popover .week_day__desktop {
359
+ display: inline-block;
360
+ }
361
+ @media screen and (max-width: 920px) {
362
+ :host .popover .week_day__desktop {
363
+ display: none;
364
+ }
365
+ }
366
+
367
+ :host([block]) {
368
+ display: block;
369
+ max-width: unset;
370
+ }
371
+
372
+ :host(.disabled) .control_message,
373
+ :host(.disabled) .control_field input[type=date],
374
+ :host(.disabled) .control_label {
375
+ color: var(--text-disabled, rgba(19, 19, 19, 0.25));
376
+ }
377
+ :host(.disabled) .control_field:before {
378
+ opacity: 0.4;
379
+ }
380
+
381
+ :host([size=xs]) {
382
+ --xv-datepicker-padding: var(--spacing-02, 4px);
383
+ font-size: var(--fz-sm);
384
+ }
385
+
386
+ :host([size=sm]) {
387
+ --xv-datepicker-padding: var(--spacing-03, 8px);
388
+ }
389
+
390
+ :host([size=md]) {
391
+ --xv-datepicker-padding: var(--spacing-04, 12px);
392
+ }
393
+
394
+ :host([size=lg]) {
395
+ --xv-datepicker-padding: var(--spacing-05, 16px);
396
+ }
397
+
398
+ :host([size=xl]) {
399
+ --xv-datepicker-padding: var(--spacing-06, 24px);
400
+ font-size: var(--fz-lg);
401
+ }