@paperless/core 1.52.1 → 1.52.2

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 (56) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/build/index.esm.js +1 -1
  3. package/dist/build/index.esm.js.map +1 -1
  4. package/dist/build/p-66e3624b.js +2 -0
  5. package/dist/build/p-66e3624b.js.map +1 -0
  6. package/dist/{paperless/p-d7dde851.entry.js → build/p-9d114950.entry.js} +2 -2
  7. package/dist/build/p-9d114950.entry.js.map +1 -0
  8. package/dist/build/paperless.esm.js +1 -1
  9. package/dist/cjs/index.cjs.js +4 -1
  10. package/dist/cjs/index.cjs.js.map +1 -1
  11. package/dist/cjs/object-get-by-path-7e65c82d.js +115 -0
  12. package/dist/cjs/object-get-by-path-7e65c82d.js.map +1 -0
  13. package/dist/cjs/p-floating-menu-container_8.cjs.entry.js +3 -134
  14. package/dist/cjs/p-floating-menu-container_8.cjs.entry.js.map +1 -1
  15. package/dist/collection/components/molecules/table-cell/table-cell.component.css +1 -1
  16. package/dist/collection/components/molecules/table-cell/table-cell.component.js +40 -124
  17. package/dist/collection/components/molecules/table-cell/table-cell.component.js.map +1 -1
  18. package/dist/collection/utils/index.js +1 -0
  19. package/dist/collection/utils/index.js.map +1 -1
  20. package/dist/collection/utils/table-helpers.js +94 -0
  21. package/dist/collection/utils/table-helpers.js.map +1 -0
  22. package/dist/components/index.js +1 -1
  23. package/dist/components/object-get-by-path.js +94 -1
  24. package/dist/components/object-get-by-path.js.map +1 -1
  25. package/dist/components/table-cell.component.js +3 -134
  26. package/dist/components/table-cell.component.js.map +1 -1
  27. package/dist/esm/index.js +1 -1
  28. package/dist/esm/object-get-by-path-56508a0e.js +109 -0
  29. package/dist/esm/object-get-by-path-56508a0e.js.map +1 -0
  30. package/dist/esm/p-floating-menu-container_8.entry.js +3 -134
  31. package/dist/esm/p-floating-menu-container_8.entry.js.map +1 -1
  32. package/dist/index.html +1 -1
  33. package/dist/paperless/index.esm.js +1 -1
  34. package/dist/paperless/index.esm.js.map +1 -1
  35. package/dist/paperless/p-66e3624b.js +2 -0
  36. package/dist/paperless/p-66e3624b.js.map +1 -0
  37. package/dist/{build/p-d7dde851.entry.js → paperless/p-9d114950.entry.js} +2 -2
  38. package/dist/paperless/p-9d114950.entry.js.map +1 -0
  39. package/dist/paperless/paperless.esm.js +1 -1
  40. package/dist/sw.js +1 -1
  41. package/dist/sw.js.map +1 -1
  42. package/dist/types/components/molecules/table-cell/table-cell.component.d.ts +0 -2
  43. package/dist/types/utils/index.d.ts +1 -0
  44. package/dist/types/utils/table-helpers.d.ts +14 -0
  45. package/hydrate/index.js +148 -138
  46. package/package.json +1 -1
  47. package/dist/build/p-8da0a7c2.js +0 -2
  48. package/dist/build/p-8da0a7c2.js.map +0 -1
  49. package/dist/build/p-d7dde851.entry.js.map +0 -1
  50. package/dist/cjs/object-get-by-path-9757a1e9.js +0 -19
  51. package/dist/cjs/object-get-by-path-9757a1e9.js.map +0 -1
  52. package/dist/esm/object-get-by-path-161ec6e4.js +0 -16
  53. package/dist/esm/object-get-by-path-161ec6e4.js.map +0 -1
  54. package/dist/paperless/p-8da0a7c2.js +0 -2
  55. package/dist/paperless/p-8da0a7c2.js.map +0 -1
  56. package/dist/paperless/p-d7dde851.entry.js.map +0 -1
@@ -1,58 +1,6 @@
1
1
  import { h, Host } from "@stencil/core";
2
- import { isTableColumnSizesKey, } from "../../../types";
3
- import { objectGetByPath } from "../../../utils";
4
- export class TableCell {
5
- constructor() {
6
- this.variant = 'default';
7
- this.index = undefined;
8
- this.rowIndex = undefined;
9
- this.definition = undefined;
10
- this.item = undefined;
11
- this.value = undefined;
12
- this.tableHasActions = false;
13
- this.checkbox = undefined;
14
- this.template = ({ value, }) => value;
15
- }
16
- get data() {
17
- var _a;
18
- if (this.variant === 'header') {
19
- return {
20
- value: this.value,
21
- };
22
- }
23
- return {
24
- value: (_a = this.value) !== null && _a !== void 0 ? _a : objectGetByPath(this.item, this.definition.path),
25
- item: this.item,
26
- index: this.index,
27
- rowIndex: this.rowIndex,
28
- };
29
- }
30
- render() {
31
- return (h(Host, { class: Object.assign({ 'p-table-cell': true, [`variant-${this.variant}`]: true }, this._getColumnClasses()) }, this.checkbox, this._getContent()));
32
- }
33
- _getContent() {
34
- if (this.variant === 'loading') {
35
- return (h("p-loader", { variant: 'ghost', class: 'h-6 w-full flex-1 rounded' }));
36
- }
37
- if (this.variant === 'actions') {
38
- return h("slot", { name: 'actions' });
39
- }
40
- return (h("div", { class: {
41
- flex: true,
42
- 'justify-start': this.definition.align === 'start',
43
- 'justify-center': this.definition.align === 'center',
44
- 'justify-end': this.definition.align === 'end',
45
- } }, this.variant === 'header' ? (this.data.value) : this.definition.useSlot ? (h("slot", null)) : (this.template(this.data))));
46
- }
47
- _getColumnClasses() {
48
- var _a, _b, _c, _d, _e, _f;
49
- const sizes = this.definition ? this._getSizes(this.definition) : {};
50
- const isLastValues = this.definition
51
- ? this._getIsLastValues(this.definition)
52
- : {};
53
- return Object.assign(Object.assign({ 'justify-start': !((_a = this.definition) === null || _a === void 0 ? void 0 : _a.align) || ((_b = this.definition) === null || _b === void 0 ? void 0 : _b.align) === 'start', 'justify-center': ((_c = this.definition) === null || _c === void 0 ? void 0 : _c.align) === 'center', 'justify-end': ((_d = this.definition) === null || _d === void 0 ? void 0 : _d.align) === 'end', 'font-semibold': this.variant !== 'header' && ((_e = this.definition) === null || _e === void 0 ? void 0 : _e.type) === 'th', 'text-storm-dark': this.variant !== 'header' && ((_f = this.definition) === null || _f === void 0 ? void 0 : _f.type) === 'th', 'group-hover:flex': this.variant === 'actions' && this.tableHasActions, hidden: this.variant === 'actions' && this.tableHasActions }, sizes), isLastValues);
54
- }
55
- /*
2
+ import { objectGetByPath, getTableCellColumnClasses } from "../../../utils";
3
+ /*
56
4
  With this, we shall hack the system in ways no one would ever have thought.
57
5
 
58
6
  <div class="w-1/12 w-2/12 w-3/12 w-4/12 w-5/12 w-6/12 w-7/12 w-8/12 w-9/12 w-10/12 w-11/12 w-12/12"></div>
@@ -100,83 +48,51 @@ export class TableCell {
100
48
  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
101
49
  ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
102
50
  */
103
- _getSizes({ sizes }) {
104
- if (sizes === 'auto' || !sizes) {
105
- return {
106
- 'w-auto': true,
107
- };
108
- }
109
- if (sizes === 'hidden') {
110
- return {
111
- hidden: true,
112
- };
113
- }
114
- if (typeof sizes === 'object') {
115
- sizes = sizes;
116
- const classes = {};
117
- let previousSize;
118
- for (let size in sizes) {
119
- if (!isTableColumnSizesKey(sizes, size)) {
120
- continue;
121
- }
122
- if (size === 'default') {
123
- if (sizes.default === 'hidden') {
124
- classes['hidden'] = true;
125
- previousSize = size;
126
- continue;
127
- }
128
- classes[`w-${sizes.default}/12`] = true;
129
- previousSize = size;
130
- continue;
131
- }
132
- const currentValue = sizes[size];
133
- const previousValue = previousSize ? sizes[previousSize] : null;
134
- if (currentValue !== 'hidden' &&
135
- previousValue &&
136
- previousValue === 'hidden') {
137
- classes[`${size}:flex`] = true;
138
- }
139
- if (currentValue === 'hidden') {
140
- classes[`${size}:hidden`] = true;
141
- previousSize = size;
142
- continue;
143
- }
144
- if (currentValue === 12 || currentValue === 'full') {
145
- classes[`${size}:w-full`] = true;
146
- }
147
- classes[`${size}:w-${currentValue}/12`] = true;
148
- previousSize = size;
149
- }
150
- return classes;
151
- }
152
- if (sizes === 12 || sizes === 'full') {
51
+ export class TableCell {
52
+ constructor() {
53
+ this.variant = 'default';
54
+ this.index = undefined;
55
+ this.rowIndex = undefined;
56
+ this.definition = undefined;
57
+ this.item = undefined;
58
+ this.value = undefined;
59
+ this.tableHasActions = false;
60
+ this.checkbox = undefined;
61
+ this.template = ({ value, }) => value;
62
+ }
63
+ get data() {
64
+ var _a;
65
+ if (this.variant === 'header') {
153
66
  return {
154
- 'w-full': true,
67
+ value: this.value,
155
68
  };
156
69
  }
157
- // is a number.
158
70
  return {
159
- [`w-${sizes}/12`]: true,
71
+ value: (_a = this.value) !== null && _a !== void 0 ? _a : objectGetByPath(this.item, this.definition.path),
72
+ item: this.item,
73
+ index: this.index,
74
+ rowIndex: this.rowIndex,
160
75
  };
161
76
  }
162
- _getIsLastValues({ isLast, parsedSizes, } /* Table Definition */) {
163
- const values = {};
164
- for (let size of Object.keys(isLast)) {
165
- let prefix = '';
166
- if (size !== 'default') {
167
- prefix = `${size}:`;
168
- }
169
- values[`${prefix}pr-4`] = !isLast[size];
170
- values[`${prefix}group-hover:hidden`] =
171
- isLast[size] && this.tableHasActions && this.variant !== 'actions';
172
- values[`${prefix}group-hover:flex`] =
173
- parsedSizes[size] !== 'hidden' ||
174
- this.variant === 'actions';
175
- values[`${prefix}flex`] =
176
- parsedSizes[size] !== 'hidden' &&
177
- this.variant !== 'actions';
77
+ render() {
78
+ return (h(Host, { class: Object.assign({ 'p-table-cell': true, [`variant-${this.variant}`]: true }, this._getColumnClasses()) }, this.checkbox, this._getContent()));
79
+ }
80
+ _getContent() {
81
+ if (this.variant === 'loading') {
82
+ return (h("p-loader", { variant: 'ghost', class: 'h-6 w-full flex-1 rounded' }));
83
+ }
84
+ if (this.variant === 'actions') {
85
+ return h("slot", { name: 'actions' });
178
86
  }
179
- return values;
87
+ return (h("div", { class: {
88
+ flex: true,
89
+ 'justify-start': this.definition.align === 'start',
90
+ 'justify-center': this.definition.align === 'center',
91
+ 'justify-end': this.definition.align === 'end',
92
+ } }, this.variant === 'header' ? (this.data.value) : this.definition.useSlot ? (h("slot", null)) : (this.template(this.data))));
93
+ }
94
+ _getColumnClasses() {
95
+ return getTableCellColumnClasses(this.definition, this.variant, this.tableHasActions);
180
96
  }
181
97
  static get is() { return "p-table-cell"; }
182
98
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"table-cell.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/table-cell/table-cell.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\nimport {\n\tisTableColumnSizesKey,\n\tTableColumnSizes,\n\tTableColumnSizesKey,\n\tTableDefinitionData,\n\tTableDefinitionTemplateFunc,\n} from '../../../types';\nimport { objectGetByPath } from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\n\n@Component({\n\ttag: 'p-table-cell',\n\tstyleUrl: 'table-cell.component.scss',\n})\nexport class TableCell {\n\t/**\n\t * The variant of the column\n\t */\n\t@Prop() variant: 'default' | 'loading' | 'header' | 'actions' = 'default';\n\n\t/**\n\t * The index of the column\n\t */\n\t@Prop() index: number;\n\n\t/**\n\t * The index of the row\n\t */\n\t@Prop() rowIndex: number;\n\n\t/**\n\t * The definition of the table column\n\t */\n\t@Prop() definition?: TableColumn;\n\n\t/**\n\t * The item in question\n\t */\n\t@Prop() item: any;\n\n\t/**\n\t * The value of the column\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * Wether the table has actions\n\t */\n\t@Prop() tableHasActions: boolean = false;\n\n\t/**\n\t * The checkbox to show\n\t */\n\t@Prop() checkbox: any;\n\n\t/**\n\t * The template to show\n\t */\n\t@Prop() template: TableDefinitionTemplateFunc = ({\n\t\tvalue,\n\t}: TableDefinitionData) => value;\n\n\tget data(): TableDefinitionData | { value: string } {\n\t\tif (this.variant === 'header') {\n\t\t\treturn {\n\t\t\t\tvalue: this.value,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: this.value ?? objectGetByPath(this.item, this.definition.path),\n\t\t\titem: this.item,\n\t\t\tindex: this.index,\n\t\t\trowIndex: this.rowIndex,\n\t\t};\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t'p-table-cell': true,\n\t\t\t\t\t[`variant-${this.variant}`]: true,\n\t\t\t\t\t...this._getColumnClasses(),\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.checkbox}\n\n\t\t\t\t{this._getContent()}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _getContent() {\n\t\tif (this.variant === 'loading') {\n\t\t\treturn (\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full flex-1 rounded'\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (this.variant === 'actions') {\n\t\t\treturn <slot name='actions'></slot>;\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\tflex: true,\n\t\t\t\t\t'justify-start': this.definition.align === 'start',\n\t\t\t\t\t'justify-center': this.definition.align === 'center',\n\t\t\t\t\t'justify-end': this.definition.align === 'end',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.variant === 'header' ? (\n\t\t\t\t\tthis.data.value\n\t\t\t\t) : this.definition.useSlot ? (\n\t\t\t\t\t<slot />\n\t\t\t\t) : (\n\t\t\t\t\tthis.template(this.data as TableDefinitionData)\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _getColumnClasses() {\n\t\tconst sizes = this.definition ? this._getSizes(this.definition) : {};\n\t\tconst isLastValues = this.definition\n\t\t\t? this._getIsLastValues(this.definition)\n\t\t\t: {};\n\n\t\treturn {\n\t\t\t'justify-start':\n\t\t\t\t!this.definition?.align || this.definition?.align === 'start',\n\t\t\t'justify-center': this.definition?.align === 'center',\n\t\t\t'justify-end': this.definition?.align === 'end',\n\t\t\t'font-semibold':\n\t\t\t\tthis.variant !== 'header' && this.definition?.type === 'th',\n\t\t\t'text-storm-dark':\n\t\t\t\tthis.variant !== 'header' && this.definition?.type === 'th',\n\t\t\t'group-hover:flex': this.variant === 'actions' && this.tableHasActions,\n\t\t\thidden: this.variant === 'actions' && this.tableHasActions,\n\t\t\t...sizes,\n\t\t\t...isLastValues,\n\t\t};\n\t}\n\n\t/*\n With this, we shall hack the system in ways no one would ever have thought.\n\n <div class=\"w-1/12 w-2/12 w-3/12 w-4/12 w-5/12 w-6/12 w-7/12 w-8/12 w-9/12 w-10/12 w-11/12 w-12/12\"></div>\n <div class=\"tablet:w-1/12 tablet:w-2/12 tablet:w-3/12 tablet:w-4/12 tablet:w-5/12 tablet:w-6/12 tablet:w-7/12 tablet:w-8/12 tablet:w-9/12 tablet:w-10/12 tablet:w-11/12 tablet:w-12/12\"></div>\n <div class=\"desktop-xs:w-1/12 desktop-xs:w-2/12 desktop-xs:w-3/12 desktop-xs:w-4/12 desktop-xs:w-5/12 desktop-xs:w-6/12 desktop-xs:w-7/12 desktop-xs:w-8/12 desktop-xs:w-9/12 desktop-xs:w-10/12 desktop-xs:w-11/12 desktop-xs:w-12/12\"></div>\n <div class=\"desktop-xs:w-1/12 desktop-xs:w-2/12 desktop-xs:w-3/12 desktop-xs:w-4/12 desktop-xs:w-5/12 desktop-xs:w-6/12 desktop-xs:w-7/12 desktop-xs:w-8/12 desktop-xs:w-9/12 desktop-xs:w-10/12 desktop-xs:w-11/12 desktop-xs:w-12/12\"></div>\n <div class=\"desktop-sm:w-1/12 desktop-sm:w-2/12 desktop-sm:w-3/12 desktop-sm:w-4/12 desktop-sm:w-5/12 desktop-sm:w-6/12 desktop-sm:w-7/12 desktop-sm:w-8/12 desktop-sm:w-9/12 desktop-sm:w-10/12 desktop-sm:w-11/12 desktop-sm:w-12/12\"></div>\n <div class=\"desktop:w-1/12 desktop:w-2/12 desktop:w-3/12 desktop:w-4/12 desktop:w-5/12 desktop:w-6/12 desktop:w-7/12 desktop:w-8/12 desktop:w-9/12 desktop:w-10/12 desktop:w-11/12 desktop:w-12/12\"></div>\n <div class=\"desktop-lg:w-1/12 desktop-lg:w-2/12 desktop-lg:w-3/12 desktop-lg:w-4/12 desktop-lg:w-5/12 desktop-lg:w-6/12 desktop-lg:w-7/12 desktop-lg:w-8/12 desktop-lg:w-9/12 desktop-lg:w-10/12 desktop-lg:w-11/12 desktop-lg:w-12/12\"></div>\n <div class=\"desktop-xl:w-1/12 desktop-xl:w-2/12 desktop-xl:w-3/12 desktop-xl:w-4/12 desktop-xl:w-5/12 desktop-xl:w-6/12 desktop-xl:w-7/12 desktop-xl:w-8/12 desktop-xl:w-9/12 desktop-xl:w-10/12 desktop-xl:w-11/12 desktop-xl:w-12/12\"></div>\n <div class=\"hidden flex group-hover:hidden group-hover:flex\"></div>\n <div class=\"tablet:hidden tablet:flex tablet:group-hover:hidden tablet:group-hover:flex\"></div>\n <div class=\"desktop-xs:hidden desktop-xs:flex desktop-xs:group-hover:hidden desktop-xs:group-hover:flex\"></div>\n <div class=\"desktop-sm:hidden desktop-sm:flex desktop-sm:group-hover:hidden desktop-sm:group-hover:flex\"></div>\n <div class=\"desktop:hidden desktop:flex desktop:group-hover:hidden desktop:group-hover:flex\"></div>\n <div class=\"desktop-lg:hidden desktop-lg:flex desktop-lg:group-hover:hidden desktop-lg:group-hover:flex\"></div>\n <div class=\"desktop-xl:hidden desktop-xl:flex desktop-xl:group-hover:hidden desktop-xl:group-hover:flex\"></div>\n\n\n ⠀⠀⠀⠀⠀⣠⣴⣶⣿⣿⠿⣷⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣷⠿⣿⣿⣶⣦⣀⠀⠀⠀⠀⠀\n ⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣶⣦⣬⡉⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⢉⣥⣴⣾⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀\n ⠀⠀⠀⡾⠿⠛⠛⠛⠛⠿⢿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⠿⠿⠛⠛⠛⠛⠿⢧⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⡿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⣠⣤⠶⠶⠶⠰⠦⣤⣀⠀⠙⣷⠀⠀⠀⠀⠀⠀⠀⢠⡿⠋⢀⣀⣤⢴⠆⠲⠶⠶⣤⣄⠀⠀⠀⠀⠀⠀⠀\n ⠀⠘⣆⠀⠀⢠⣾⣫⣶⣾⣿⣿⣿⣿⣷⣯⣿⣦⠈⠃⡇⠀⠀⠀⠀⢸⠘⢁⣶⣿⣵⣾⣿⣿⣿⣿⣷⣦⣝⣷⡄⠀⠀⡰⠂⠀\n ⠀⠀⣨⣷⣶⣿⣧⣛⣛⠿⠿⣿⢿⣿⣿⣛⣿⡿⠀⠀⡇⠀⠀⠀⠀⢸⠀⠈⢿⣟⣛⠿⢿⡿⢿⢿⢿⣛⣫⣼⡿⣶⣾⣅⡀⠀\n ⢀⡼⠋⠁⠀⠀⠈⠉⠛⠛⠻⠟⠸⠛⠋⠉⠁⠀⠀⢸⡇⠀⠀⠄⠀⢸⡄⠀⠀⠈⠉⠙⠛⠃⠻⠛⠛⠛⠉⠁⠀⠀⠈⠙⢧⡀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⡇⢠⠀⠀⠀⢸⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⡇⠀⠀⠀⠀⢸⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠟⠁⣿⠇⠀⠀⠀⠀⢸⡇⠙⢿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠰⣄⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⠖⡾⠁⠀⠀⣿⠀⠀⠀⠀⠀⠘⣿⠀⠀⠙⡇⢸⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠄⠀\n ⠀⠀⢻⣷⡦⣤⣤⣤⡴⠶⠿⠛⠉⠁⠀⢳⠀⢠⡀⢿⣀⠀⠀⠀⠀⣠⡟⢀⣀⢠⠇⠀⠈⠙⠛⠷⠶⢦⣤⣤⣤⢴⣾⡏⠀⠀\n ⠀⠀⠈⣿⣧⠙⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⢊⣙⠛⠒⠒⢛⣋⡚⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⡿⠁⣾⡿⠀⠀⠀\n ⠀⠀⠀⠘⣿⣇⠈⢿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⡿⢿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⡟⠁⣼⡿⠁⠀⠀⠀\n ⠀⠀⠀⠀⠘⣿⣦⠀⠻⣿⣷⣦⣤⣤⣶⣶⣶⣿⣿⣿⣿⠏⠀⠀⠻⣿⣿⣿⣿⣶⣶⣶⣦⣤⣴⣿⣿⠏⢀⣼⡿⠁⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠘⢿⣷⣄⠙⠻⠿⠿⠿⠿⠿⢿⣿⣿⣿⣁⣀⣀⣀⣀⣙⣿⣿⣿⠿⠿⠿⠿⠿⠿⠟⠁⣠⣿⡿⠁⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠈⠻⣯⠙⢦⣀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⣠⠴⢋⣾⠟⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠙⢧⡀⠈⠉⠒⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠐⠒⠉⠁⢀⡾⠃⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⣠⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢦⡀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⡴⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n */\n\tprivate _getSizes({ sizes }: TableColumn) {\n\t\tif (sizes === 'auto' || !sizes) {\n\t\t\treturn {\n\t\t\t\t'w-auto': true,\n\t\t\t};\n\t\t}\n\n\t\tif (sizes === 'hidden') {\n\t\t\treturn {\n\t\t\t\thidden: true,\n\t\t\t};\n\t\t}\n\n\t\tif (typeof sizes === 'object') {\n\t\t\tsizes = sizes as TableColumnSizes;\n\t\t\tconst classes: any = {};\n\t\t\tlet previousSize: TableColumnSizesKey | undefined;\n\n\t\t\tfor (let size in sizes) {\n\t\t\t\tif (!isTableColumnSizesKey(sizes, size)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (size === 'default') {\n\t\t\t\t\tif (sizes.default === 'hidden') {\n\t\t\t\t\t\tclasses['hidden'] = true;\n\t\t\t\t\t\tpreviousSize = size;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tclasses[`w-${sizes.default}/12`] = true;\n\t\t\t\t\tpreviousSize = size;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst currentValue = sizes[size];\n\t\t\t\tconst previousValue = previousSize ? sizes[previousSize] : null;\n\t\t\t\tif (\n\t\t\t\t\tcurrentValue !== 'hidden' &&\n\t\t\t\t\tpreviousValue &&\n\t\t\t\t\tpreviousValue === 'hidden'\n\t\t\t\t) {\n\t\t\t\t\tclasses[`${size}:flex`] = true;\n\t\t\t\t}\n\n\t\t\t\tif (currentValue === 'hidden') {\n\t\t\t\t\tclasses[`${size}:hidden`] = true;\n\t\t\t\t\tpreviousSize = size;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (currentValue === 12 || currentValue === 'full') {\n\t\t\t\t\tclasses[`${size}:w-full`] = true;\n\t\t\t\t}\n\n\t\t\t\tclasses[`${size}:w-${currentValue}/12`] = true;\n\t\t\t\tpreviousSize = size;\n\t\t\t}\n\n\t\t\treturn classes;\n\t\t}\n\n\t\tif (sizes === 12 || sizes === 'full') {\n\t\t\treturn {\n\t\t\t\t'w-full': true,\n\t\t\t};\n\t\t}\n\n\t\t// is a number.\n\t\treturn {\n\t\t\t[`w-${sizes}/12`]: true,\n\t\t};\n\t}\n\n\tprivate _getIsLastValues(\n\t\t{\n\t\t\tisLast,\n\t\t\tparsedSizes,\n\t\t}: {\n\t\t\tisLast: { [key: string]: boolean };\n\t\t\tparsedSizes: TableColumnSizes;\n\t\t} /* Table Definition */\n\t) {\n\t\tconst values: { [key: string]: boolean } = {};\n\n\t\tfor (let size of Object.keys(isLast)) {\n\t\t\tlet prefix = '';\n\t\t\tif (size !== 'default') {\n\t\t\t\tprefix = `${size}:`;\n\t\t\t}\n\n\t\t\tvalues[`${prefix}pr-4`] = !isLast[size];\n\n\t\t\tvalues[`${prefix}group-hover:hidden`] =\n\t\t\t\tisLast[size] && this.tableHasActions && this.variant !== 'actions';\n\n\t\t\tvalues[`${prefix}group-hover:flex`] =\n\t\t\t\tparsedSizes[size as keyof TableColumnSizes] !== 'hidden' ||\n\t\t\t\tthis.variant === 'actions';\n\n\t\t\tvalues[`${prefix}flex`] =\n\t\t\t\tparsedSizes[size as keyof TableColumnSizes] !== 'hidden' &&\n\t\t\t\tthis.variant !== 'actions';\n\t\t}\n\n\t\treturn values;\n\t}\n}\n"]}
1
+ {"version":3,"file":"table-cell.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/table-cell/table-cell.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAKzD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAG5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+CM;AAKN,MAAM,OAAO,SAAS;;mBAI2C,SAAS;;;;;;2BA8BtC,KAAK;;oBAUQ,CAAC,EAChD,KAAK,GACgB,EAAE,EAAE,CAAC,KAAK;;EAEhC,IAAI,IAAI;;IACP,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;MAC9B,OAAO;QACN,KAAK,EAAE,IAAI,CAAC,KAAK;OACjB,CAAC;KACF;IAED,OAAO;MACN,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;MACrE,IAAI,EAAE,IAAI,CAAC,IAAI;MACf,KAAK,EAAE,IAAI,CAAC,KAAK;MACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACvB,CAAC;EACH,CAAC;EAED,MAAM;IACL,OAAO,CACN,EAAC,IAAI,IACJ,KAAK,kBACJ,cAAc,EAAE,IAAI,EACpB,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,IAC9B,IAAI,CAAC,iBAAiB,EAAE;MAG3B,IAAI,CAAC,QAAQ;MAEb,IAAI,CAAC,WAAW,EAAE,CACb,CACP,CAAC;EACH,CAAC;EAEO,WAAW;IAClB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;MAC/B,OAAO,CACN,gBACC,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,2BAA2B,GAChC,CACF,CAAC;KACF;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;MAC/B,OAAO,YAAM,IAAI,EAAC,SAAS,GAAQ,CAAC;KACpC;IAED,OAAO,CACN,WACC,KAAK,EAAE;QACN,IAAI,EAAE,IAAI;QACV,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,OAAO;QAClD,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,QAAQ;QACpD,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK;OAC9C,IAEA,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CACf,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAC7B,eAAQ,CACR,CAAC,CAAC,CAAC,CACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAA2B,CAAC,CAC/C,CACI,CACN,CAAC;EACH,CAAC;EAEO,iBAAiB;IACxB,OAAO,yBAAyB,CAC/B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,eAAe,CACpB,CAAC;EACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\nimport {\n\tTableDefinitionData,\n\tTableDefinitionTemplateFunc,\n} from '../../../types';\nimport { objectGetByPath, getTableCellColumnClasses } from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\n\n/*\n With this, we shall hack the system in ways no one would ever have thought.\n\n <div class=\"w-1/12 w-2/12 w-3/12 w-4/12 w-5/12 w-6/12 w-7/12 w-8/12 w-9/12 w-10/12 w-11/12 w-12/12\"></div>\n <div class=\"tablet:w-1/12 tablet:w-2/12 tablet:w-3/12 tablet:w-4/12 tablet:w-5/12 tablet:w-6/12 tablet:w-7/12 tablet:w-8/12 tablet:w-9/12 tablet:w-10/12 tablet:w-11/12 tablet:w-12/12\"></div>\n <div class=\"desktop-xs:w-1/12 desktop-xs:w-2/12 desktop-xs:w-3/12 desktop-xs:w-4/12 desktop-xs:w-5/12 desktop-xs:w-6/12 desktop-xs:w-7/12 desktop-xs:w-8/12 desktop-xs:w-9/12 desktop-xs:w-10/12 desktop-xs:w-11/12 desktop-xs:w-12/12\"></div>\n <div class=\"desktop-xs:w-1/12 desktop-xs:w-2/12 desktop-xs:w-3/12 desktop-xs:w-4/12 desktop-xs:w-5/12 desktop-xs:w-6/12 desktop-xs:w-7/12 desktop-xs:w-8/12 desktop-xs:w-9/12 desktop-xs:w-10/12 desktop-xs:w-11/12 desktop-xs:w-12/12\"></div>\n <div class=\"desktop-sm:w-1/12 desktop-sm:w-2/12 desktop-sm:w-3/12 desktop-sm:w-4/12 desktop-sm:w-5/12 desktop-sm:w-6/12 desktop-sm:w-7/12 desktop-sm:w-8/12 desktop-sm:w-9/12 desktop-sm:w-10/12 desktop-sm:w-11/12 desktop-sm:w-12/12\"></div>\n <div class=\"desktop:w-1/12 desktop:w-2/12 desktop:w-3/12 desktop:w-4/12 desktop:w-5/12 desktop:w-6/12 desktop:w-7/12 desktop:w-8/12 desktop:w-9/12 desktop:w-10/12 desktop:w-11/12 desktop:w-12/12\"></div>\n <div class=\"desktop-lg:w-1/12 desktop-lg:w-2/12 desktop-lg:w-3/12 desktop-lg:w-4/12 desktop-lg:w-5/12 desktop-lg:w-6/12 desktop-lg:w-7/12 desktop-lg:w-8/12 desktop-lg:w-9/12 desktop-lg:w-10/12 desktop-lg:w-11/12 desktop-lg:w-12/12\"></div>\n <div class=\"desktop-xl:w-1/12 desktop-xl:w-2/12 desktop-xl:w-3/12 desktop-xl:w-4/12 desktop-xl:w-5/12 desktop-xl:w-6/12 desktop-xl:w-7/12 desktop-xl:w-8/12 desktop-xl:w-9/12 desktop-xl:w-10/12 desktop-xl:w-11/12 desktop-xl:w-12/12\"></div>\n <div class=\"hidden flex group-hover:hidden group-hover:flex\"></div>\n <div class=\"tablet:hidden tablet:flex tablet:group-hover:hidden tablet:group-hover:flex\"></div>\n <div class=\"desktop-xs:hidden desktop-xs:flex desktop-xs:group-hover:hidden desktop-xs:group-hover:flex\"></div>\n <div class=\"desktop-sm:hidden desktop-sm:flex desktop-sm:group-hover:hidden desktop-sm:group-hover:flex\"></div>\n <div class=\"desktop:hidden desktop:flex desktop:group-hover:hidden desktop:group-hover:flex\"></div>\n <div class=\"desktop-lg:hidden desktop-lg:flex desktop-lg:group-hover:hidden desktop-lg:group-hover:flex\"></div>\n <div class=\"desktop-xl:hidden desktop-xl:flex desktop-xl:group-hover:hidden desktop-xl:group-hover:flex\"></div>\n\n\n ⠀⠀⠀⠀⠀⣠⣴⣶⣿⣿⠿⣷⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣷⠿⣿⣿⣶⣦⣀⠀⠀⠀⠀⠀\n ⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣶⣦⣬⡉⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⢉⣥⣴⣾⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀\n ⠀⠀⠀⡾⠿⠛⠛⠛⠛⠿⢿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⠿⠿⠛⠛⠛⠛⠿⢧⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⡿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⣠⣤⠶⠶⠶⠰⠦⣤⣀⠀⠙⣷⠀⠀⠀⠀⠀⠀⠀⢠⡿⠋⢀⣀⣤⢴⠆⠲⠶⠶⣤⣄⠀⠀⠀⠀⠀⠀⠀\n ⠀⠘⣆⠀⠀⢠⣾⣫⣶⣾⣿⣿⣿⣿⣷⣯⣿⣦⠈⠃⡇⠀⠀⠀⠀⢸⠘⢁⣶⣿⣵⣾⣿⣿⣿⣿⣷⣦⣝⣷⡄⠀⠀⡰⠂⠀\n ⠀⠀⣨⣷⣶⣿⣧⣛⣛⠿⠿⣿⢿⣿⣿⣛⣿⡿⠀⠀⡇⠀⠀⠀⠀⢸⠀⠈⢿⣟⣛⠿⢿⡿⢿⢿⢿⣛⣫⣼⡿⣶⣾⣅⡀⠀\n ⢀⡼⠋⠁⠀⠀⠈⠉⠛⠛⠻⠟⠸⠛⠋⠉⠁⠀⠀⢸⡇⠀⠀⠄⠀⢸⡄⠀⠀⠈⠉⠙⠛⠃⠻⠛⠛⠛⠉⠁⠀⠀⠈⠙⢧⡀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⡇⢠⠀⠀⠀⢸⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⡇⠀⠀⠀⠀⢸⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠟⠁⣿⠇⠀⠀⠀⠀⢸⡇⠙⢿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠰⣄⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⠖⡾⠁⠀⠀⣿⠀⠀⠀⠀⠀⠘⣿⠀⠀⠙⡇⢸⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠄⠀\n ⠀⠀⢻⣷⡦⣤⣤⣤⡴⠶⠿⠛⠉⠁⠀⢳⠀⢠⡀⢿⣀⠀⠀⠀⠀⣠⡟⢀⣀⢠⠇⠀⠈⠙⠛⠷⠶⢦⣤⣤⣤⢴⣾⡏⠀⠀\n ⠀⠀⠈⣿⣧⠙⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⢊⣙⠛⠒⠒⢛⣋⡚⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⡿⠁⣾⡿⠀⠀⠀\n ⠀⠀⠀⠘⣿⣇⠈⢿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⡿⢿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⡟⠁⣼⡿⠁⠀⠀⠀\n ⠀⠀⠀⠀⠘⣿⣦⠀⠻⣿⣷⣦⣤⣤⣶⣶⣶⣿⣿⣿⣿⠏⠀⠀⠻⣿⣿⣿⣿⣶⣶⣶⣦⣤⣴⣿⣿⠏⢀⣼⡿⠁⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠘⢿⣷⣄⠙⠻⠿⠿⠿⠿⠿⢿⣿⣿⣿⣁⣀⣀⣀⣀⣙⣿⣿⣿⠿⠿⠿⠿⠿⠿⠟⠁⣠⣿⡿⠁⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠈⠻⣯⠙⢦⣀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⣠⠴⢋⣾⠟⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠙⢧⡀⠈⠉⠒⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠐⠒⠉⠁⢀⡾⠃⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⣠⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢦⡀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⡴⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n */\n@Component({\n\ttag: 'p-table-cell',\n\tstyleUrl: 'table-cell.component.scss',\n})\nexport class TableCell {\n\t/**\n\t * The variant of the column\n\t */\n\t@Prop() variant: 'default' | 'loading' | 'header' | 'actions' = 'default';\n\n\t/**\n\t * The index of the column\n\t */\n\t@Prop() index: number;\n\n\t/**\n\t * The index of the row\n\t */\n\t@Prop() rowIndex: number;\n\n\t/**\n\t * The definition of the table column\n\t */\n\t@Prop() definition?: TableColumn;\n\n\t/**\n\t * The item in question\n\t */\n\t@Prop() item: any;\n\n\t/**\n\t * The value of the column\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * Wether the table has actions\n\t */\n\t@Prop() tableHasActions: boolean = false;\n\n\t/**\n\t * The checkbox to show\n\t */\n\t@Prop() checkbox: any;\n\n\t/**\n\t * The template to show\n\t */\n\t@Prop() template: TableDefinitionTemplateFunc = ({\n\t\tvalue,\n\t}: TableDefinitionData) => value;\n\n\tget data(): TableDefinitionData | { value: string } {\n\t\tif (this.variant === 'header') {\n\t\t\treturn {\n\t\t\t\tvalue: this.value,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: this.value ?? objectGetByPath(this.item, this.definition.path),\n\t\t\titem: this.item,\n\t\t\tindex: this.index,\n\t\t\trowIndex: this.rowIndex,\n\t\t};\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t'p-table-cell': true,\n\t\t\t\t\t[`variant-${this.variant}`]: true,\n\t\t\t\t\t...this._getColumnClasses(),\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.checkbox}\n\n\t\t\t\t{this._getContent()}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _getContent() {\n\t\tif (this.variant === 'loading') {\n\t\t\treturn (\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full flex-1 rounded'\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (this.variant === 'actions') {\n\t\t\treturn <slot name='actions'></slot>;\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\tflex: true,\n\t\t\t\t\t'justify-start': this.definition.align === 'start',\n\t\t\t\t\t'justify-center': this.definition.align === 'center',\n\t\t\t\t\t'justify-end': this.definition.align === 'end',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.variant === 'header' ? (\n\t\t\t\t\tthis.data.value\n\t\t\t\t) : this.definition.useSlot ? (\n\t\t\t\t\t<slot />\n\t\t\t\t) : (\n\t\t\t\t\tthis.template(this.data as TableDefinitionData)\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _getColumnClasses() {\n\t\treturn getTableCellColumnClasses(\n\t\t\tthis.definition,\n\t\t\tthis.variant,\n\t\t\tthis.tableHasActions\n\t\t);\n\t}\n}\n"]}
@@ -2,6 +2,7 @@ export * from './child-of';
2
2
  export * from './icons';
3
3
  export * from './illustrations';
4
4
  export * from './localization';
5
+ export * from './table-helpers';
5
6
  export * from './object-get-by-path';
6
7
  export * from './transformers';
7
8
  export * from './screens';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC","sourcesContent":["export * from './child-of';\nexport * from './icons';\nexport * from './illustrations';\nexport * from './localization';\nexport * from './object-get-by-path';\nexport * from './transformers';\nexport * from './screens';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC","sourcesContent":["export * from './child-of';\nexport * from './icons';\nexport * from './illustrations';\nexport * from './localization';\nexport * from './table-helpers';\nexport * from './object-get-by-path';\nexport * from './transformers';\nexport * from './screens';\n"]}
@@ -0,0 +1,94 @@
1
+ import { isTableColumnSizesKey, } from "../types";
2
+ export const getTableCellColumnClasses = (definition, variant, hasActions) => {
3
+ const sizes = definition ? getTableCellSizes(definition, variant) : {};
4
+ const isLastValues = definition
5
+ ? getTableCellIsLastValues(definition, variant, hasActions)
6
+ : {};
7
+ return Object.assign(Object.assign({ 'justify-start': !(definition === null || definition === void 0 ? void 0 : definition.align) || (definition === null || definition === void 0 ? void 0 : definition.align) === 'start', 'justify-center': (definition === null || definition === void 0 ? void 0 : definition.align) === 'center', 'justify-end': (definition === null || definition === void 0 ? void 0 : definition.align) === 'end', 'font-semibold': variant !== 'header' && (definition === null || definition === void 0 ? void 0 : definition.type) === 'th', 'text-storm-dark': variant !== 'header' && (definition === null || definition === void 0 ? void 0 : definition.type) === 'th', 'group-hover:flex': variant === 'actions' && hasActions, hidden: variant === 'actions' && hasActions }, sizes), isLastValues);
8
+ };
9
+ export const getTableCellSizes = ({ sizes, } /* Table Definition */, variant) => {
10
+ if (sizes === 'auto' || !sizes) {
11
+ return {
12
+ 'w-auto': true,
13
+ };
14
+ }
15
+ if (sizes === 'hidden') {
16
+ return {
17
+ hidden: true,
18
+ };
19
+ }
20
+ if (typeof sizes === 'object') {
21
+ sizes = sizes;
22
+ const classes = {};
23
+ let previousSize;
24
+ for (let size in sizes) {
25
+ if (!isTableColumnSizesKey(sizes, size)) {
26
+ continue;
27
+ }
28
+ if (size === 'default') {
29
+ if (sizes.default === 'hidden') {
30
+ classes['hidden'] = true;
31
+ previousSize = size;
32
+ continue;
33
+ }
34
+ classes[`w-${sizes.default}/12`] = true;
35
+ previousSize = size;
36
+ continue;
37
+ }
38
+ const currentValue = sizes[size];
39
+ const previousValue = previousSize ? sizes[previousSize] : null;
40
+ if (currentValue !== 'hidden' &&
41
+ previousValue &&
42
+ previousValue === 'hidden' &&
43
+ variant !== 'actions') {
44
+ classes[`${size}:flex`] = true;
45
+ }
46
+ if (currentValue === 'hidden' && variant !== 'actions') {
47
+ classes[`${size}:hidden`] = true;
48
+ previousSize = size;
49
+ continue;
50
+ }
51
+ if (currentValue === 12 || currentValue === 'full') {
52
+ classes[`${size}:w-full`] = true;
53
+ }
54
+ classes[`${size}:w-${currentValue}/12`] = true;
55
+ previousSize = size;
56
+ }
57
+ return classes;
58
+ }
59
+ if (sizes === 12 || sizes === 'full') {
60
+ return {
61
+ 'w-full': true,
62
+ };
63
+ }
64
+ // is a number.
65
+ return {
66
+ [`w-${sizes}/12`]: true,
67
+ };
68
+ };
69
+ export const getTableCellIsLastValues = ({ isLast, parsedSizes, } /* Table Definition */, variant, hasActions) => {
70
+ const values = {};
71
+ for (let size of Object.keys(isLast)) {
72
+ let prefix = '';
73
+ if (size !== 'default') {
74
+ prefix = `${size}:`;
75
+ }
76
+ values[`${prefix}pr-4`] = !isLast[size];
77
+ values[`${prefix}pr-0`] = isLast[size];
78
+ values[`${prefix}group-hover:hidden`] =
79
+ (isLast[size] ||
80
+ parsedSizes[size] === 'hidden') &&
81
+ hasActions &&
82
+ variant === 'default';
83
+ values[`${prefix}group-hover:flex`] =
84
+ (!isLast[size] &&
85
+ parsedSizes[size] !== 'hidden' &&
86
+ variant === 'default') ||
87
+ variant === 'actions';
88
+ values[`${prefix}flex`] =
89
+ parsedSizes[size] !== 'hidden' &&
90
+ variant !== 'actions';
91
+ }
92
+ return values;
93
+ };
94
+ //# sourceMappingURL=table-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-helpers.js","sourceRoot":"","sources":["../../src/utils/table-helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { TableColumn } from '../components';\nimport {\n\tisTableColumnSizesKey,\n\tTableColumnSizes,\n\tTableColumnSizesKey,\n} from '../types';\n\nexport const getTableCellColumnClasses = (\n\tdefinition: any | TableColumn,\n\tvariant: 'default' | 'header' | 'loading' | 'actions',\n\thasActions: boolean\n) => {\n\tconst sizes = definition ? getTableCellSizes(definition, variant) : {};\n\tconst isLastValues = definition\n\t\t? getTableCellIsLastValues(definition, variant, hasActions)\n\t\t: {};\n\n\treturn {\n\t\t'justify-start': !definition?.align || definition?.align === 'start',\n\t\t'justify-center': definition?.align === 'center',\n\t\t'justify-end': definition?.align === 'end',\n\t\t'font-semibold': variant !== 'header' && definition?.type === 'th',\n\t\t'text-storm-dark': variant !== 'header' && definition?.type === 'th',\n\t\t'group-hover:flex': variant === 'actions' && hasActions,\n\t\thidden: variant === 'actions' && hasActions,\n\t\t...sizes,\n\t\t...isLastValues,\n\t};\n};\n\nexport const getTableCellSizes = (\n\t{\n\t\tsizes,\n\t}: {\n\t\tsizes: 'auto' | 'hidden' | 'full' | number | TableColumnSizes;\n\t} /* Table Definition */,\n\tvariant: 'default' | 'header' | 'loading' | 'actions'\n) => {\n\tif (sizes === 'auto' || !sizes) {\n\t\treturn {\n\t\t\t'w-auto': true,\n\t\t};\n\t}\n\n\tif (sizes === 'hidden') {\n\t\treturn {\n\t\t\thidden: true,\n\t\t};\n\t}\n\n\tif (typeof sizes === 'object') {\n\t\tsizes = sizes as TableColumnSizes;\n\t\tconst classes: any = {};\n\t\tlet previousSize: TableColumnSizesKey | undefined;\n\n\t\tfor (let size in sizes) {\n\t\t\tif (!isTableColumnSizesKey(sizes, size)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (size === 'default') {\n\t\t\t\tif (sizes.default === 'hidden') {\n\t\t\t\t\tclasses['hidden'] = true;\n\t\t\t\t\tpreviousSize = size;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tclasses[`w-${sizes.default}/12`] = true;\n\t\t\t\tpreviousSize = size;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst currentValue = sizes[size];\n\t\t\tconst previousValue = previousSize ? sizes[previousSize] : null;\n\t\t\tif (\n\t\t\t\tcurrentValue !== 'hidden' &&\n\t\t\t\tpreviousValue &&\n\t\t\t\tpreviousValue === 'hidden' &&\n\t\t\t\tvariant !== 'actions'\n\t\t\t) {\n\t\t\t\tclasses[`${size}:flex`] = true;\n\t\t\t}\n\n\t\t\tif (currentValue === 'hidden' && variant !== 'actions') {\n\t\t\t\tclasses[`${size}:hidden`] = true;\n\t\t\t\tpreviousSize = size;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (currentValue === 12 || currentValue === 'full') {\n\t\t\t\tclasses[`${size}:w-full`] = true;\n\t\t\t}\n\n\t\t\tclasses[`${size}:w-${currentValue}/12`] = true;\n\t\t\tpreviousSize = size;\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tif (sizes === 12 || sizes === 'full') {\n\t\treturn {\n\t\t\t'w-full': true,\n\t\t};\n\t}\n\n\t// is a number.\n\treturn {\n\t\t[`w-${sizes}/12`]: true,\n\t};\n};\n\nexport const getTableCellIsLastValues = (\n\t{\n\t\tisLast,\n\t\tparsedSizes,\n\t}: {\n\t\tisLast: { [key: string]: boolean };\n\t\tparsedSizes: TableColumnSizes;\n\t} /* Table Definition */,\n\tvariant: 'default' | 'header' | 'loading' | 'actions',\n\thasActions: boolean\n) => {\n\tconst values: { [key: string]: boolean } = {};\n\n\tfor (let size of Object.keys(isLast)) {\n\t\tlet prefix = '';\n\t\tif (size !== 'default') {\n\t\t\tprefix = `${size}:`;\n\t\t}\n\n\t\tvalues[`${prefix}pr-4`] = !isLast[size];\n\t\tvalues[`${prefix}pr-0`] = isLast[size];\n\n\t\tvalues[`${prefix}group-hover:hidden`] =\n\t\t\t(isLast[size] ||\n\t\t\t\tparsedSizes[size as keyof TableColumnSizes] === 'hidden') &&\n\t\t\thasActions &&\n\t\t\tvariant === 'default';\n\n\t\tvalues[`${prefix}group-hover:flex`] =\n\t\t\t(!isLast[size] &&\n\t\t\t\tparsedSizes[size as keyof TableColumnSizes] !== 'hidden' &&\n\t\t\t\tvariant === 'default') ||\n\t\t\tvariant === 'actions';\n\n\t\tvalues[`${prefix}flex`] =\n\t\t\tparsedSizes[size as keyof TableColumnSizes] !== 'hidden' &&\n\t\t\tvariant !== 'actions';\n\t}\n\n\treturn values;\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  export { getAssetPath, setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
2
- export { i as isTableColumnSizesKey, o as objectGetByPath } from './object-get-by-path.js';
2
+ export { g as getTableCellColumnClasses, b as getTableCellIsLastValues, a as getTableCellSizes, i as isTableColumnSizesKey, o as objectGetByPath } from './object-get-by-path.js';
3
3
  import { s as screens } from './screens.js';
4
4
  export { g as getScreenSize, b as getScreenSizeInPixels, a as getScreenSizeInRem, d as isBetweenScreens, i as isBiggerThanScreen, j as isDesktop, f as isMobile, c as isSmallerThanScreen, h as isTablet, e as isTouchDevice, t as tableColumSizesOptions } from './screens.js';
5
5
  export { c as childOf } from './child-of.js';
@@ -2,6 +2,99 @@ function isTableColumnSizesKey(x, k) {
2
2
  return k in x;
3
3
  }
4
4
 
5
+ const getTableCellColumnClasses = (definition, variant, hasActions) => {
6
+ const sizes = definition ? getTableCellSizes(definition, variant) : {};
7
+ const isLastValues = definition
8
+ ? getTableCellIsLastValues(definition, variant, hasActions)
9
+ : {};
10
+ return Object.assign(Object.assign({ 'justify-start': !(definition === null || definition === void 0 ? void 0 : definition.align) || (definition === null || definition === void 0 ? void 0 : definition.align) === 'start', 'justify-center': (definition === null || definition === void 0 ? void 0 : definition.align) === 'center', 'justify-end': (definition === null || definition === void 0 ? void 0 : definition.align) === 'end', 'font-semibold': variant !== 'header' && (definition === null || definition === void 0 ? void 0 : definition.type) === 'th', 'text-storm-dark': variant !== 'header' && (definition === null || definition === void 0 ? void 0 : definition.type) === 'th', 'group-hover:flex': variant === 'actions' && hasActions, hidden: variant === 'actions' && hasActions }, sizes), isLastValues);
11
+ };
12
+ const getTableCellSizes = ({ sizes, } /* Table Definition */, variant) => {
13
+ if (sizes === 'auto' || !sizes) {
14
+ return {
15
+ 'w-auto': true,
16
+ };
17
+ }
18
+ if (sizes === 'hidden') {
19
+ return {
20
+ hidden: true,
21
+ };
22
+ }
23
+ if (typeof sizes === 'object') {
24
+ sizes = sizes;
25
+ const classes = {};
26
+ let previousSize;
27
+ for (let size in sizes) {
28
+ if (!isTableColumnSizesKey(sizes, size)) {
29
+ continue;
30
+ }
31
+ if (size === 'default') {
32
+ if (sizes.default === 'hidden') {
33
+ classes['hidden'] = true;
34
+ previousSize = size;
35
+ continue;
36
+ }
37
+ classes[`w-${sizes.default}/12`] = true;
38
+ previousSize = size;
39
+ continue;
40
+ }
41
+ const currentValue = sizes[size];
42
+ const previousValue = previousSize ? sizes[previousSize] : null;
43
+ if (currentValue !== 'hidden' &&
44
+ previousValue &&
45
+ previousValue === 'hidden' &&
46
+ variant !== 'actions') {
47
+ classes[`${size}:flex`] = true;
48
+ }
49
+ if (currentValue === 'hidden' && variant !== 'actions') {
50
+ classes[`${size}:hidden`] = true;
51
+ previousSize = size;
52
+ continue;
53
+ }
54
+ if (currentValue === 12 || currentValue === 'full') {
55
+ classes[`${size}:w-full`] = true;
56
+ }
57
+ classes[`${size}:w-${currentValue}/12`] = true;
58
+ previousSize = size;
59
+ }
60
+ return classes;
61
+ }
62
+ if (sizes === 12 || sizes === 'full') {
63
+ return {
64
+ 'w-full': true,
65
+ };
66
+ }
67
+ // is a number.
68
+ return {
69
+ [`w-${sizes}/12`]: true,
70
+ };
71
+ };
72
+ const getTableCellIsLastValues = ({ isLast, parsedSizes, } /* Table Definition */, variant, hasActions) => {
73
+ const values = {};
74
+ for (let size of Object.keys(isLast)) {
75
+ let prefix = '';
76
+ if (size !== 'default') {
77
+ prefix = `${size}:`;
78
+ }
79
+ values[`${prefix}pr-4`] = !isLast[size];
80
+ values[`${prefix}pr-0`] = isLast[size];
81
+ values[`${prefix}group-hover:hidden`] =
82
+ (isLast[size] ||
83
+ parsedSizes[size] === 'hidden') &&
84
+ hasActions &&
85
+ variant === 'default';
86
+ values[`${prefix}group-hover:flex`] =
87
+ (!isLast[size] &&
88
+ parsedSizes[size] !== 'hidden' &&
89
+ variant === 'default') ||
90
+ variant === 'actions';
91
+ values[`${prefix}flex`] =
92
+ parsedSizes[size] !== 'hidden' &&
93
+ variant !== 'actions';
94
+ }
95
+ return values;
96
+ };
97
+
5
98
  const objectGetByPath = (obj, path, defaultValue = undefined) => {
6
99
  const travel = (regexp) => String.prototype.split
7
100
  .call(path, regexp)
@@ -11,6 +104,6 @@ const objectGetByPath = (obj, path, defaultValue = undefined) => {
11
104
  return result === undefined || result === obj ? defaultValue : result;
12
105
  };
13
106
 
14
- export { isTableColumnSizesKey as i, objectGetByPath as o };
107
+ export { getTableCellSizes as a, getTableCellIsLastValues as b, getTableCellColumnClasses as g, isTableColumnSizesKey as i, objectGetByPath as o };
15
108
 
16
109
  //# sourceMappingURL=object-get-by-path.js.map
@@ -1 +1 @@
1
- {"file":"object-get-by-path.js","mappings":"SAoDgB,qBAAqB,CACjC,CAAmB,EACnB,CAAc;EAEd,OAAO,CAAC,IAAI,CAAC,CAAC;AAClB;;MCzDa,eAAe,GAAG,CAC3B,GAAQ,EACR,IAAY,EACZ,YAAY,GAAG,SAAS;EAExB,MAAM,MAAM,GAAG,CAAC,MAAM,KAClB,MAAM,CAAC,SAAS,CAAC,KAAK;KACjB,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;KAClB,MAAM,CAAC,OAAO,CAAC;KACf,MAAM,CACH,CAAC,GAAG,EAAE,GAAG,KACL,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,EACtD,GAAG,CACN,CAAC;EACV,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;EACzD,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC;AAC1E;;;;","names":[],"sources":["src/types/table.ts","src/utils/object-get-by-path.ts"],"sourcesContent":["export type QuickFilterTextFunction = () => string;\n\nexport interface QuickFilter {\n identifier: string;\n text: string | QuickFilterTextFunction;\n count?: number;\n default?: boolean;\n}\n\nexport interface RowClickEvent {\n item: any;\n ctrlDown: boolean;\n}\n\nexport interface TableDefinitionData {\n value: any;\n item: any;\n index: number;\n rowIndex: number;\n}\n\nexport type TableDefinitionTemplateFunc = (data: TableDefinitionData) => any;\n\nexport interface TableColumnSizes {\n default: number | 'hidden' | 'full';\n tablet?: number | 'hidden' | 'full';\n 'desktop-xs'?: number | 'hidden' | 'full';\n 'desktop-sm'?: number | 'hidden' | 'full';\n desktop?: number | 'hidden' | 'full';\n 'desktop-lg'?: number | 'hidden' | 'full';\n 'desktop-xl'?: number | 'hidden' | 'full';\n}\n\nexport interface TableColumnIsLast {\n default: boolean;\n tablet?: boolean;\n 'desktop-xs'?: boolean;\n 'desktop-sm'?: boolean;\n desktop?: boolean;\n 'desktop-lg'?: boolean;\n 'desktop-xl'?: boolean;\n}\n\nexport type TableColumnSizesKey =\n | 'default'\n | 'tablet'\n | 'desktop-xs'\n | 'desktop-sm'\n | 'desktop'\n | 'desktop-lg'\n | 'desktop-xl';\n\nexport function isTableColumnSizesKey(\n x: TableColumnSizes,\n k: PropertyKey\n): k is keyof TableColumnSizes {\n return k in x;\n}\n","export const objectGetByPath = (\n obj: any,\n path: string,\n defaultValue = undefined\n) => {\n const travel = (regexp) =>\n String.prototype.split\n .call(path, regexp)\n .filter(Boolean)\n .reduce(\n (res, key) =>\n res !== null && res !== undefined ? res[key] : res,\n obj\n );\n const result = travel(/[,[\\]]+?/) || travel(/[,[\\].]+?/);\n return result === undefined || result === obj ? defaultValue : result;\n};\n"],"version":3}
1
+ {"file":"object-get-by-path.js","mappings":"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","names":[],"sources":["src/types/table.ts","src/utils/table-helpers.ts","src/utils/object-get-by-path.ts"],"sourcesContent":["export type QuickFilterTextFunction = () => string;\n\nexport interface QuickFilter {\n identifier: string;\n text: string | QuickFilterTextFunction;\n count?: number;\n default?: boolean;\n}\n\nexport interface RowClickEvent {\n item: any;\n ctrlDown: boolean;\n}\n\nexport interface TableDefinitionData {\n value: any;\n item: any;\n index: number;\n rowIndex: number;\n}\n\nexport type TableDefinitionTemplateFunc = (data: TableDefinitionData) => any;\n\nexport interface TableColumnSizes {\n default: number | 'hidden' | 'full';\n tablet?: number | 'hidden' | 'full';\n 'desktop-xs'?: number | 'hidden' | 'full';\n 'desktop-sm'?: number | 'hidden' | 'full';\n desktop?: number | 'hidden' | 'full';\n 'desktop-lg'?: number | 'hidden' | 'full';\n 'desktop-xl'?: number | 'hidden' | 'full';\n}\n\nexport interface TableColumnIsLast {\n default: boolean;\n tablet?: boolean;\n 'desktop-xs'?: boolean;\n 'desktop-sm'?: boolean;\n desktop?: boolean;\n 'desktop-lg'?: boolean;\n 'desktop-xl'?: boolean;\n}\n\nexport type TableColumnSizesKey =\n | 'default'\n | 'tablet'\n | 'desktop-xs'\n | 'desktop-sm'\n | 'desktop'\n | 'desktop-lg'\n | 'desktop-xl';\n\nexport function isTableColumnSizesKey(\n x: TableColumnSizes,\n k: PropertyKey\n): k is keyof TableColumnSizes {\n return k in x;\n}\n","import { TableColumn } from '../components';\nimport {\n\tisTableColumnSizesKey,\n\tTableColumnSizes,\n\tTableColumnSizesKey,\n} from '../types';\n\nexport const getTableCellColumnClasses = (\n\tdefinition: any | TableColumn,\n\tvariant: 'default' | 'header' | 'loading' | 'actions',\n\thasActions: boolean\n) => {\n\tconst sizes = definition ? getTableCellSizes(definition, variant) : {};\n\tconst isLastValues = definition\n\t\t? getTableCellIsLastValues(definition, variant, hasActions)\n\t\t: {};\n\n\treturn {\n\t\t'justify-start': !definition?.align || definition?.align === 'start',\n\t\t'justify-center': definition?.align === 'center',\n\t\t'justify-end': definition?.align === 'end',\n\t\t'font-semibold': variant !== 'header' && definition?.type === 'th',\n\t\t'text-storm-dark': variant !== 'header' && definition?.type === 'th',\n\t\t'group-hover:flex': variant === 'actions' && hasActions,\n\t\thidden: variant === 'actions' && hasActions,\n\t\t...sizes,\n\t\t...isLastValues,\n\t};\n};\n\nexport const getTableCellSizes = (\n\t{\n\t\tsizes,\n\t}: {\n\t\tsizes: 'auto' | 'hidden' | 'full' | number | TableColumnSizes;\n\t} /* Table Definition */,\n\tvariant: 'default' | 'header' | 'loading' | 'actions'\n) => {\n\tif (sizes === 'auto' || !sizes) {\n\t\treturn {\n\t\t\t'w-auto': true,\n\t\t};\n\t}\n\n\tif (sizes === 'hidden') {\n\t\treturn {\n\t\t\thidden: true,\n\t\t};\n\t}\n\n\tif (typeof sizes === 'object') {\n\t\tsizes = sizes as TableColumnSizes;\n\t\tconst classes: any = {};\n\t\tlet previousSize: TableColumnSizesKey | undefined;\n\n\t\tfor (let size in sizes) {\n\t\t\tif (!isTableColumnSizesKey(sizes, size)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (size === 'default') {\n\t\t\t\tif (sizes.default === 'hidden') {\n\t\t\t\t\tclasses['hidden'] = true;\n\t\t\t\t\tpreviousSize = size;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tclasses[`w-${sizes.default}/12`] = true;\n\t\t\t\tpreviousSize = size;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst currentValue = sizes[size];\n\t\t\tconst previousValue = previousSize ? sizes[previousSize] : null;\n\t\t\tif (\n\t\t\t\tcurrentValue !== 'hidden' &&\n\t\t\t\tpreviousValue &&\n\t\t\t\tpreviousValue === 'hidden' &&\n\t\t\t\tvariant !== 'actions'\n\t\t\t) {\n\t\t\t\tclasses[`${size}:flex`] = true;\n\t\t\t}\n\n\t\t\tif (currentValue === 'hidden' && variant !== 'actions') {\n\t\t\t\tclasses[`${size}:hidden`] = true;\n\t\t\t\tpreviousSize = size;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (currentValue === 12 || currentValue === 'full') {\n\t\t\t\tclasses[`${size}:w-full`] = true;\n\t\t\t}\n\n\t\t\tclasses[`${size}:w-${currentValue}/12`] = true;\n\t\t\tpreviousSize = size;\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tif (sizes === 12 || sizes === 'full') {\n\t\treturn {\n\t\t\t'w-full': true,\n\t\t};\n\t}\n\n\t// is a number.\n\treturn {\n\t\t[`w-${sizes}/12`]: true,\n\t};\n};\n\nexport const getTableCellIsLastValues = (\n\t{\n\t\tisLast,\n\t\tparsedSizes,\n\t}: {\n\t\tisLast: { [key: string]: boolean };\n\t\tparsedSizes: TableColumnSizes;\n\t} /* Table Definition */,\n\tvariant: 'default' | 'header' | 'loading' | 'actions',\n\thasActions: boolean\n) => {\n\tconst values: { [key: string]: boolean } = {};\n\n\tfor (let size of Object.keys(isLast)) {\n\t\tlet prefix = '';\n\t\tif (size !== 'default') {\n\t\t\tprefix = `${size}:`;\n\t\t}\n\n\t\tvalues[`${prefix}pr-4`] = !isLast[size];\n\t\tvalues[`${prefix}pr-0`] = isLast[size];\n\n\t\tvalues[`${prefix}group-hover:hidden`] =\n\t\t\t(isLast[size] ||\n\t\t\t\tparsedSizes[size as keyof TableColumnSizes] === 'hidden') &&\n\t\t\thasActions &&\n\t\t\tvariant === 'default';\n\n\t\tvalues[`${prefix}group-hover:flex`] =\n\t\t\t(!isLast[size] &&\n\t\t\t\tparsedSizes[size as keyof TableColumnSizes] !== 'hidden' &&\n\t\t\t\tvariant === 'default') ||\n\t\t\tvariant === 'actions';\n\n\t\tvalues[`${prefix}flex`] =\n\t\t\tparsedSizes[size as keyof TableColumnSizes] !== 'hidden' &&\n\t\t\tvariant !== 'actions';\n\t}\n\n\treturn values;\n};\n","export const objectGetByPath = (\n obj: any,\n path: string,\n defaultValue = undefined\n) => {\n const travel = (regexp) =>\n String.prototype.split\n .call(path, regexp)\n .filter(Boolean)\n .reduce(\n (res, key) =>\n res !== null && res !== undefined ? res[key] : res,\n obj\n );\n const result = travel(/[,[\\]]+?/) || travel(/[,[\\].]+?/);\n return result === undefined || result === obj ? defaultValue : result;\n};\n"],"version":3}