q2-tecton-elements 1.52.2 → 1.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/q2-file-picker.cjs.entry.js +236 -0
  3. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -0
  4. package/dist/cjs/q2-item_3.cjs.entry.js +250 -0
  5. package/dist/cjs/q2-item_3.cjs.entry.js.map +1 -0
  6. package/dist/cjs/q2-pill.cjs.entry.js +7 -3
  7. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  8. package/dist/cjs/q2-select.cjs.entry.js +3 -2
  9. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-tag.cjs.entry.js +3 -1
  11. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  13. package/dist/collection/collection-manifest.json +1 -0
  14. package/dist/collection/components/q2-file-picker/q2-file-picker.css +288 -0
  15. package/dist/collection/components/q2-file-picker/q2-file-picker.js +426 -0
  16. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -0
  17. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js +11 -0
  18. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js.map +1 -0
  19. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js +435 -0
  20. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -0
  21. package/dist/collection/components/q2-item/q2-item.css +3 -0
  22. package/dist/collection/components/q2-list/q2-list.css +6 -0
  23. package/dist/collection/components/q2-pill/q2-pill.js +7 -3
  24. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  25. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js +108 -0
  26. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
  27. package/dist/collection/components/q2-select/q2-select.js +3 -2
  28. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  29. package/dist/collection/components/q2-tag/q2-tag.js +3 -1
  30. package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
  31. package/dist/components/index.js +2 -0
  32. package/dist/components/index.js.map +1 -1
  33. package/dist/components/q2-file-picker.d.ts +11 -0
  34. package/dist/components/q2-file-picker.js +301 -0
  35. package/dist/components/q2-file-picker.js.map +1 -0
  36. package/dist/components/q2-item.js +1 -130
  37. package/dist/components/q2-item.js.map +1 -1
  38. package/dist/{esm/q2-item.entry.js → components/q2-item2.js} +29 -11
  39. package/dist/components/q2-item2.js.map +1 -0
  40. package/dist/components/q2-link.js +1 -86
  41. package/dist/components/q2-link.js.map +1 -1
  42. package/dist/{esm/q2-link.entry.js → components/q2-link2.js} +39 -9
  43. package/dist/components/q2-link2.js.map +1 -0
  44. package/dist/components/q2-list.js +1 -94
  45. package/dist/components/q2-list.js.map +1 -1
  46. package/dist/{esm/q2-list.entry.js → components/q2-list2.js} +30 -11
  47. package/dist/components/q2-list2.js.map +1 -0
  48. package/dist/components/q2-pill.js +7 -3
  49. package/dist/components/q2-pill.js.map +1 -1
  50. package/dist/components/q2-select2.js +3 -2
  51. package/dist/components/q2-select2.js.map +1 -1
  52. package/dist/components/q2-tag.js +3 -1
  53. package/dist/components/q2-tag.js.map +1 -1
  54. package/dist/esm/loader.js +1 -1
  55. package/dist/esm/q2-file-picker.entry.js +232 -0
  56. package/dist/esm/q2-file-picker.entry.js.map +1 -0
  57. package/dist/esm/q2-item_3.entry.js +244 -0
  58. package/dist/esm/q2-item_3.entry.js.map +1 -0
  59. package/dist/esm/q2-pill.entry.js +7 -3
  60. package/dist/esm/q2-pill.entry.js.map +1 -1
  61. package/dist/esm/q2-select.entry.js +3 -2
  62. package/dist/esm/q2-select.entry.js.map +1 -1
  63. package/dist/esm/q2-tag.entry.js +3 -1
  64. package/dist/esm/q2-tag.entry.js.map +1 -1
  65. package/dist/esm/q2-tecton-elements.js +1 -1
  66. package/dist/q2-tecton-elements/q2-file-picker.entry.js +338 -0
  67. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -0
  68. package/dist/q2-tecton-elements/q2-item_3.entry.js +331 -0
  69. package/dist/q2-tecton-elements/q2-item_3.entry.js.map +1 -0
  70. package/dist/q2-tecton-elements/q2-pill.entry.js +22 -18
  71. package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
  72. package/dist/q2-tecton-elements/q2-select.entry.js +6 -5
  73. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  74. package/dist/q2-tecton-elements/q2-tag.entry.js +36 -34
  75. package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -1
  76. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  77. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  78. package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +98 -0
  79. package/dist/types/components/q2-pill/q2-pill.d.ts +1 -1
  80. package/dist/types/components.d.ts +101 -0
  81. package/package.json +3 -3
  82. package/dist/cjs/q2-item.cjs.entry.js +0 -120
  83. package/dist/cjs/q2-item.cjs.entry.js.map +0 -1
  84. package/dist/cjs/q2-link.cjs.entry.js +0 -64
  85. package/dist/cjs/q2-link.cjs.entry.js.map +0 -1
  86. package/dist/cjs/q2-list.cjs.entry.js +0 -83
  87. package/dist/cjs/q2-list.cjs.entry.js.map +0 -1
  88. package/dist/esm/q2-item.entry.js.map +0 -1
  89. package/dist/esm/q2-link.entry.js.map +0 -1
  90. package/dist/esm/q2-list.entry.js.map +0 -1
  91. package/dist/q2-tecton-elements/q2-item.entry.js +0 -158
  92. package/dist/q2-tecton-elements/q2-item.entry.js.map +0 -1
  93. package/dist/q2-tecton-elements/q2-link.entry.js +0 -83
  94. package/dist/q2-tecton-elements/q2-link.entry.js.map +0 -1
  95. package/dist/q2-tecton-elements/q2-list.entry.js +0 -100
  96. package/dist/q2-tecton-elements/q2-list.entry.js.map +0 -1
@@ -1,158 +0,0 @@
1
- import { r as t, h as e, g as o } from "./index-7a5365e2.js";
2
-
3
- import { o as a, e as i } from "./index-d18e2a20.js";
4
-
5
- const r = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}:host([clickable]){cursor:pointer;--comp-background:var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-a11y-active-gray-color-AA, #404040)))}:host([clickable]) .item{--comp-border-radius:var(--tct-item-border-radius, var(--app-border-radius-1, 4px));--comp-btn-tween:var(--tct-btn-tween, var(--t-btn-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease))));--comp-btn-fallback-box-shadow:0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);--comp-hover-box-shadow:var(--tct-btn-primary-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-active-box-shadow:var(--tct-btn-primary-active-background, #0063a0);--comp-font-color:var(--tct-btn-primary-font-color, var(--app-white, #ffffff));--comp-hover-outer-ring-color:var(--tct-btn-primary-hover-outer-ring-color, var(--comp-background));--comp-hover-inner-ring-color:var(--tct-btn-primary-hover-inner-ring-color, var(--comp-font-color));--comp-hover-box-shadow:0 0 0 2px var(--comp-hover-inner-ring-color),\n 0 0 0 4px var(--comp-hover-outer-ring-color)}:host([clickable]) .item:hover{box-shadow:var(--comp-hover-box-shadow)}:host([clickable]) .item:active{box-shadow:var(--comp-active-box-shadow)}:host([clickable]) .item:focus-visible{box-shadow:var(--const-double-focus-ring)}.action{--tct-btn-icon-height:var(--tct-item-action-icon-height, var(--app-scale-6x, 30px));--tct-btn-icon-width:var(--tct-item-action-icon-width, var(--app-scale-6x, 30px));--tct-icon-size:var(--tct-item-action-icon-size, var(--app-scale-6x, 30px));--tct-radio-label-hidden-columns:18px;--tct-radio-label-margin-right:0;--tct-radio-margin:0;align-items:center;display:flex;grid-row:1;justify-content:center}.action-no-bullet{grid-column:2}.body{color:var(--tct-item-body-color, var(--t-textA, #747474));font-size:var(--tct-item-body-font-size, var(--app-font-size, 14px));font-weight:var(--tct-item-body-font-weight, 400)}.bullet{--tct-avatar-fallback-height:var(--tct-item-avatar-height, var(--app-scale-7x, 35px));--tct-avatar-fallback-width:var(--tct-item-avatar-width, var(--app-scale-7x, 35px));--tct-avatar-height:var(--tct-item-avatar-height, var(--app-scale-7x, 35px));--tct-avatar-width:var(--tct-item-avatar-width, var(--app-scale-7x, 35px));grid-column:1;grid-row-start:1;grid-row-end:3;padding-top:var(--tct-item-bullet-padding-top, var(--app-scale-1x, 5px));text-align:center}.bullet-no-footer{grid-row-end:2}.footer{grid-column-start:2;grid-column-end:4;grid-row:2}.footer-no-action-nor-bullet{grid-column-start:1;grid-column-end:2}.footer-no-action{grid-column-start:2;grid-column-end:3}.footer-no-bullet{grid-column-start:1;grid-column-end:3}.header{color:var(--tct-item-header-color, var(--t-text, #4d4d4d));font-size:var(--tct-item-header-font-size, 16px);font-weight:var(--tct-item-header-font-weight, 600);line-height:var(--tct-item-header-line-height, 1.5)}.item{border:var(--tct-item-border);border-radius:var(--comp-border-radius);transition:var(--comp-btn-tween);transition-property:box-shadow;column-gap:var(--tct-item-horizontal-spacing, var(--app-scale-3x, 15px));display:grid;grid-template-columns:minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 1fr) minmax(var(--app-scale-5x, 25px), auto);grid-template-rows:auto auto;padding:var(--tct-item-padding, 0);row-gap:var(--tct-item-vertical-spacing, var(--app-scale-2x, 10px))}.item-no-action-nor-bullet{grid-template-columns:auto}.item-no-action{grid-template-columns:minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 1fr)}.item-no-footer{grid-template-rows:auto}.item-no-bullet{grid-template-columns:minmax(auto, 1fr) minmax(var(--app-scale-5x, 25px), auto)}.main{grid-column:2;grid-row:1}.main-no-action-nor-bullet{grid-column:1}.main-no-bullet{grid-column:1}";
6
-
7
- const n = r;
8
-
9
- const c = class {
10
- constructor(e) {
11
- t(this, e);
12
- this.renderTrigger = 0;
13
- this.clickable = undefined;
14
- }
15
- // #endregion
16
- // #region Component Lifecycle Events
17
- componentDidLoad() {
18
- if (typeof MutationObserver !== "undefined") {
19
- const t = new MutationObserver((() => this.renderTrigger += 1));
20
- t.observe(this.hostElement, {
21
- childList: true,
22
- subtree: true,
23
- attributes: true
24
- });
25
- this.mutationObserver = t;
26
- }
27
- a(this.hostElement);
28
- }
29
- // #endregion
30
- // #region Listeners
31
- delegateFocus(t) {
32
- var e;
33
- if (this.clickable) {
34
- (e = this.itemElement) === null || e === void 0 ? void 0 : e.focus();
35
- } else {
36
- t.preventDefault();
37
- }
38
- }
39
- // #endregion
40
- // #region Local Methods
41
- get actionClasses() {
42
- const t = [ "action" ];
43
- if (!this.hasBulletSlotContent) {
44
- t.push(`action-no-bullet`);
45
- }
46
- return t.join(" ");
47
- }
48
- get bulletClasses() {
49
- const t = [ "bullet" ];
50
- if (!this.hasFooterSlotContent) {
51
- t.push(`bullet-no-footer`);
52
- }
53
- return t.join(" ");
54
- }
55
- get footerClasses() {
56
- const t = [ "footer" ];
57
- if (!this.hasActionSlotContent && !this.hasBulletSlotContent) {
58
- t.push(`footer-no-action-nor-bullet`);
59
- } else if (!this.hasActionSlotContent) {
60
- t.push(`footer-no-action`);
61
- } else if (!this.hasBulletSlotContent) {
62
- t.push(`footer-no-bullet`);
63
- }
64
- return t.join(" ");
65
- }
66
- get hasActionSlotContent() {
67
- return i(this.hostElement, "action");
68
- }
69
- get hasBodySlotContent() {
70
- return i(this.hostElement, "body");
71
- }
72
- get hasBulletSlotContent() {
73
- return i(this.hostElement, "bullet");
74
- }
75
- get hasFooterSlotContent() {
76
- return i(this.hostElement, "footer");
77
- }
78
- get hasHeaderSlotContent() {
79
- return i(this.hostElement, "header");
80
- }
81
- get itemClasses() {
82
- const t = [ "item" ];
83
- if (!this.hasActionSlotContent && !this.hasBulletSlotContent) {
84
- t.push(`item-no-action-nor-bullet`);
85
- } else if (!this.hasActionSlotContent) {
86
- t.push(`item-no-action`);
87
- } else if (!this.hasBulletSlotContent) {
88
- t.push(`item-no-bullet`);
89
- }
90
- if (!this.hasFooterSlotContent) {
91
- t.push(`item-no-footer`);
92
- }
93
- return t.join(" ");
94
- }
95
- get mainClasses() {
96
- const t = [ "main" ];
97
- if (!this.hasActionSlotContent && !this.hasBulletSlotContent) {
98
- t.push(`main-no-action-nor-bullet`);
99
- } else if (!this.hasBulletSlotContent) {
100
- t.push(`main-no-bullet`);
101
- }
102
- return t.join(" ");
103
- }
104
- // #endregion
105
- // #region Render Methods
106
- render() {
107
- const {clickable: t} = this;
108
- return e("div", {
109
- key: "0829fd5b35d9479ab8a7dae744e8a09e90a1a128",
110
- "test-id": "itemContainer",
111
- class: this.itemClasses,
112
- ref: t => this.itemElement = t,
113
- role: t ? "button" : undefined,
114
- tabIndex: t ? 0 : undefined
115
- }, this.hasBulletSlotContent && e("div", {
116
- key: "6fba2ecbbe6fe30121f15cda9cc5026a5c5468c2",
117
- class: this.bulletClasses
118
- }, e("slot", {
119
- key: "9bd9880d99124c1102725b5ce6ca49ac1e229cf9",
120
- name: "bullet"
121
- })), e("div", {
122
- key: "0c184236511ba043c91a009c93680858e34de545",
123
- class: this.mainClasses
124
- }, this.hasHeaderSlotContent && e("div", {
125
- key: "2570b5fd60955dbbc97f5f3d941a5d653785fb0e",
126
- class: "header"
127
- }, e("slot", {
128
- key: "a438cafe8aeded03ee814f736ae897852a9f1415",
129
- name: "header"
130
- })), this.hasBodySlotContent && e("div", {
131
- key: "270585a7a4ca111aedd4baeab101c353814aa72c",
132
- class: "body"
133
- }, e("slot", {
134
- key: "cc95afec425e06c0a9edccedb0420207ccab88a0",
135
- name: "body"
136
- }))), this.hasActionSlotContent && e("div", {
137
- key: "c6a32baa731bd79c57a625d615058442a5bc764a",
138
- class: this.actionClasses
139
- }, e("slot", {
140
- key: "2b3104f1e0b4eed5e605c5784468f608240a881b",
141
- name: "action"
142
- })), this.hasFooterSlotContent && e("div", {
143
- key: "0a989b6ec5ca51e55fb44d0e90f57fe792a6bf35",
144
- class: this.footerClasses
145
- }, e("slot", {
146
- key: "76ae62c0b433f78b187853da2cf40394f7ca315e",
147
- name: "footer"
148
- })));
149
- }
150
- get hostElement() {
151
- return o(this);
152
- }
153
- };
154
-
155
- c.style = n;
156
-
157
- export { c as q2_item };
158
- //# sourceMappingURL=q2-item.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["q2ItemCss","Q2ItemStyle0","Q2Item","componentDidLoad","MutationObserver","observer","this","renderTrigger","observe","hostElement","childList","subtree","attributes","mutationObserver","overrideFocus","delegateFocus","event","clickable","_a","itemElement","focus","preventDefault","actionClasses","classes","hasBulletSlotContent","push","join","bulletClasses","hasFooterSlotContent","footerClasses","hasActionSlotContent","hasSlotContent","hasBodySlotContent","hasHeaderSlotContent","itemClasses","mainClasses","render","h","key","class","ref","el","role","undefined","tabIndex","name"],"sources":["src/components/q2-item/q2-item.scss?tag=q2-item&encapsulation=shadow","src/components/q2-item/q2-item.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n@import '../q2-btn/q2-btn-mixins';\n\n:host {\n display: block;\n}\n\n:host([clickable]) {\n cursor: pointer;\n --comp-background: #{var-list(\n --tct-btn-primary-background,\n --tct-btn-primary-bg,\n --t-a11y-active-gray-color-AA,\n #404040\n )};\n .item {\n --comp-border-radius: #{var-list(--tct-item-border-radius, --app-border-radius-1, 4px)};\n --comp-btn-tween: #{var-list(var-prefixer(btn-tween), --tct-tween-1, --app-tween-1, unquote('0.2s ease'))};\n --comp-btn-fallback-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n --comp-hover-box-shadow: #{var-list(--tct-btn-primary-box-shadow, --comp-btn-fallback-box-shadow)};\n --comp-active-box-shadow: var(--tct-btn-primary-active-background, #0063a0);\n --comp-font-color: #{var-list(--tct-btn-primary-font-color, --app-white, #ffffff)};\n @include btn-ring(primary, hover, --comp-background, --comp-font-color, null);\n &:hover {\n box-shadow: var(--comp-hover-box-shadow);\n }\n &:active {\n box-shadow: var(--comp-active-box-shadow);\n }\n &:focus-visible {\n box-shadow: var(--const-double-focus-ring);\n }\n }\n}\n\n.action {\n --tct-btn-icon-height: #{var-list(--tct-item-action-icon-height, --app-scale-6x, 30px)};\n --tct-btn-icon-width: #{var-list(--tct-item-action-icon-width, --app-scale-6x, 30px)};\n --tct-icon-size: #{var-list(--tct-item-action-icon-size, --app-scale-6x, 30px)};\n --tct-radio-label-hidden-columns: 18px;\n --tct-radio-label-margin-right: 0;\n --tct-radio-margin: 0;\n\n align-items: center;\n display: flex;\n grid-row: 1;\n justify-content: center;\n\n &-no-bullet {\n grid-column: 2;\n }\n}\n\n.body {\n color: var-list(--tct-item-body-color, --t-textA, #747474);\n font-size: var-list(--tct-item-body-font-size, --app-font-size, 14px);\n font-weight: var-list(--tct-item-body-font-weight, 400);\n}\n\n.bullet {\n --tct-avatar-fallback-height: #{var-list(--tct-item-avatar-height, --app-scale-7x, 35px)};\n --tct-avatar-fallback-width: #{var-list(--tct-item-avatar-width, --app-scale-7x, 35px)};\n --tct-avatar-height: #{var-list(--tct-item-avatar-height, --app-scale-7x, 35px)};\n --tct-avatar-width: #{var-list(--tct-item-avatar-width, --app-scale-7x, 35px)};\n\n grid-column: 1;\n grid-row-start: 1;\n grid-row-end: 3;\n padding-top: var-list(--tct-item-bullet-padding-top, --app-scale-1x, 5px);\n text-align: center;\n\n &-no-footer {\n grid-row-end: 2;\n }\n}\n\n.footer {\n grid-column-start: 2;\n grid-column-end: 4;\n grid-row: 2;\n\n &-no-action-nor-bullet {\n grid-column-start: 1;\n grid-column-end: 2;\n }\n\n &-no-action {\n grid-column-start: 2;\n grid-column-end: 3;\n }\n\n &-no-bullet {\n grid-column-start: 1;\n grid-column-end: 3;\n }\n}\n\n.header {\n color: var-list(--tct-item-header-color, --t-text, #4d4d4d);\n font-size: var-list(--tct-item-header-font-size, 16px);\n font-weight: var-list(--tct-item-header-font-weight, 600);\n line-height: var-list(--tct-item-header-line-height, 1.5);\n}\n\n.item {\n border: var(--tct-item-border);\n border-radius: var(--comp-border-radius);\n transition: var(--comp-btn-tween);\n transition-property: box-shadow;\n column-gap: var-list(--tct-item-horizontal-spacing, --app-scale-3x, 15px);\n display: grid;\n grid-template-columns: minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 1fr) minmax(\n var(--app-scale-5x, 25px),\n auto\n );\n grid-template-rows: auto auto;\n padding: var(--tct-item-padding, 0);\n row-gap: var(--tct-item-vertical-spacing, var(--app-scale-2x, 10px));\n\n &-no-action-nor-bullet {\n grid-template-columns: auto;\n }\n\n &-no-action {\n grid-template-columns: minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 1fr);\n }\n\n &-no-footer {\n grid-template-rows: auto;\n }\n\n &-no-bullet {\n grid-template-columns: minmax(auto, 1fr) minmax(var(--app-scale-5x, 25px), auto);\n }\n}\n\n.main {\n grid-column: 2;\n grid-row: 1;\n\n &-no-action-nor-bullet {\n grid-column: 1;\n }\n\n &-no-bullet {\n grid-column: 1;\n }\n}\n","import { Component, Element, Listen, h, State, Prop } from '@stencil/core';\nimport { hasSlotContent, overrideFocus } from 'src/utils';\n\n@Component({\n tag: 'q2-item',\n styleUrl: 'q2-item.scss',\n shadow: true,\n})\nexport class Q2Item {\n // #region Own Properties\n\n itemElement: HTMLDivElement;\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n renderTrigger: number = 0;\n\n // #endregion\n // #region Public Property API\n\n /** Makes the item clickable. */\n @Prop({ reflect: true })\n clickable: boolean;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentDidLoad() {\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver(() => (this.renderTrigger += 1));\n observer.observe(this.hostElement, { childList: true, subtree: true, attributes: true });\n this.mutationObserver = observer;\n }\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (this.clickable) {\n this.itemElement?.focus();\n } else {\n event.preventDefault();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get actionClasses() {\n const classes = ['action'];\n if (!this.hasBulletSlotContent) {\n classes.push(`action-no-bullet`);\n }\n\n return classes.join(' ');\n }\n\n get bulletClasses() {\n const classes = ['bullet'];\n if (!this.hasFooterSlotContent) {\n classes.push(`bullet-no-footer`);\n }\n\n return classes.join(' ');\n }\n\n get footerClasses() {\n const classes = ['footer'];\n if (!this.hasActionSlotContent && !this.hasBulletSlotContent) {\n classes.push(`footer-no-action-nor-bullet`);\n } else if (!this.hasActionSlotContent) {\n classes.push(`footer-no-action`);\n } else if (!this.hasBulletSlotContent) {\n classes.push(`footer-no-bullet`);\n }\n\n return classes.join(' ');\n }\n\n get hasActionSlotContent() {\n return hasSlotContent(this.hostElement, 'action');\n }\n\n get hasBodySlotContent() {\n return hasSlotContent(this.hostElement, 'body');\n }\n\n get hasBulletSlotContent() {\n return hasSlotContent(this.hostElement, 'bullet');\n }\n\n get hasFooterSlotContent() {\n return hasSlotContent(this.hostElement, 'footer');\n }\n\n get hasHeaderSlotContent() {\n return hasSlotContent(this.hostElement, 'header');\n }\n\n get itemClasses() {\n const classes = ['item'];\n if (!this.hasActionSlotContent && !this.hasBulletSlotContent) {\n classes.push(`item-no-action-nor-bullet`);\n } else if (!this.hasActionSlotContent) {\n classes.push(`item-no-action`);\n } else if (!this.hasBulletSlotContent) {\n classes.push(`item-no-bullet`);\n }\n if (!this.hasFooterSlotContent) {\n classes.push(`item-no-footer`);\n }\n\n return classes.join(' ');\n }\n\n get mainClasses() {\n const classes = ['main'];\n if (!this.hasActionSlotContent && !this.hasBulletSlotContent) {\n classes.push(`main-no-action-nor-bullet`);\n } else if (!this.hasBulletSlotContent) {\n classes.push(`main-no-bullet`);\n }\n\n return classes.join(' ');\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { clickable } = this;\n return (\n <div\n test-id=\"itemContainer\"\n class={this.itemClasses}\n ref={el => (this.itemElement = el)}\n role={clickable ? 'button' : undefined}\n tabIndex={clickable ? 0 : undefined}\n >\n {this.hasBulletSlotContent && (\n <div class={this.bulletClasses}>\n <slot name=\"bullet\" />\n </div>\n )}\n <div class={this.mainClasses}>\n {this.hasHeaderSlotContent && (\n <div class=\"header\">\n <slot name=\"header\" />\n </div>\n )}\n {this.hasBodySlotContent && (\n <div class=\"body\">\n <slot name=\"body\" />\n </div>\n )}\n </div>\n {this.hasActionSlotContent && (\n <div class={this.actionClasses}>\n <slot name=\"action\" />\n </div>\n )}\n {this.hasFooterSlotContent && (\n <div class={this.footerClasses}>\n <slot name=\"footer\" />\n </div>\n )}\n </div>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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"}
@@ -1,83 +0,0 @@
1
- import { r as t, c as i, h as n, g as o } from "./index-7a5365e2.js";
2
-
3
- const e = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:inline-block}:host:active{box-shadow:none}.link-container{--comp-link-font-bold-stroke-width:0.5px;background:transparent;border:none;font-size:var(--tct-link-font-size, inherit);font-weight:var(--tct-link-font-weight, inherit)}.link-container.standalone{--comp-icon-stroke:var(--tct-link-icon-stroke-width, 1.5)}.link-container.standalone .link{color:var(--tct-link-color-standalone, var(--t-primary));height:var(--tct-link-height, 24px);display:flex;align-items:center;--tct-icon-size:16px;text-decoration:none}.link-container.standalone .link q2-icon{margin-left:var(--tct-link-label-icon-gap, 6px)}.link-container.standalone:hover{text-decoration:underline;-webkit-text-stroke-width:var(--tct-link-font-bold-stroke-width, var(--comp-link-font-bold-stroke-width));text-stroke-width:var(--tct-link-font-bold-stroke-width, var(--comp-link-font-bold-stroke-width));--tct-icon-stroke-width:calc(var(--comp-icon-stroke) + 0.5)}.link-container.standalone:active:hover{text-decoration:underline;-webkit-text-stroke-width:var(--tct-link-font-bold-stroke-width, var(--comp-link-font-bold-stroke-width));text-stroke-width:var(--tct-link-font-bold-stroke-width, var(--comp-link-font-bold-stroke-width));--tct-icon-stroke-width:calc(var(--comp-icon-stroke) + 0.5)}.link-container.standalone:active:hover .link{color:var(--tct-link-color-standalone-active, var(--t-primary-d2));box-shadow:none}.link-container.standalone.disabled .link{cursor:not-allowed;color:var(--tct-link-color-standalone-disabled, var(--t-primary));opacity:0.5;text-decoration:none}.link-container.standalone.disabled:hover{text-decoration:none}.link-container.inline{margin:0 var(--tct-link-side-margin, 6px);text-decoration:underline;color:var(--tct-link-color-inline, var(--t-primary))}.link-container.inline:hover{-webkit-text-stroke-width:var(--tct-link-font-bold-stroke-width, var(--comp-link-font-bold-stroke-width));text-stroke-width:var(--tct-link-font-bold-stroke-width, var(--comp-link-font-bold-stroke-width))}.link-container.inline:active:hover{-webkit-text-stroke-width:var(--tct-link-font-bold-stroke-width, var(--comp-link-font-bold-stroke-width));text-stroke-width:var(--tct-link-font-bold-stroke-width, var(--comp-link-font-bold-stroke-width));color:var(--tct-link-color-inline-active, var(--t-primary-d2));box-shadow:none}.link-container.inline.disabled{cursor:not-allowed;opacity:0.5}.link-container.inline:focus-visible .link-container.inline{box-shadow:var(--const-double-focus-ring)}";
4
-
5
- const r = e;
6
-
7
- const l = class {
8
- constructor(n) {
9
- t(this, n);
10
- this.tctClick = i(this, "tctClick", 7);
11
- this.disabled = false;
12
- this.href = "#";
13
- this.label = undefined;
14
- this.referrerpolicy = undefined;
15
- this.target = undefined;
16
- this.tctTitle = undefined;
17
- this.variant = "inline";
18
- }
19
- // #endregion
20
- // #region Public Methods API
21
- /**
22
- * A method for click.
23
- *
24
- * @testOnly
25
- */
26
- async clickLink() {
27
- const t = this.hostElement.shadowRoot.querySelector(`[test-id="linkAnchor"]`);
28
- t === null || t === void 0 ? void 0 : t.click();
29
- }
30
- // #endregion
31
- // #region Local Methods
32
- get classes() {
33
- const t = [ "link-container" ];
34
- if (this.variant) t.push(this.variant);
35
- if (!!this.disabled) t.push("disabled");
36
- return t.join(" ");
37
- }
38
- handleClick(t) {
39
- t.stopPropagation();
40
- if (this.disabled) return;
41
- this.tctClick.emit({
42
- target: this.target,
43
- referrerpolicy: this.referrerpolicy,
44
- href: this.href
45
- });
46
- }
47
- // #endregion
48
- // #region Render Methods
49
- render() {
50
- return this.variant === "standalone" ? n("div", {
51
- class: this.classes,
52
- "aria-label": this.label
53
- }, n("a", {
54
- class: "link",
55
- onClick: t => this.handleClick(t),
56
- href: !!this.disabled ? undefined : this.href,
57
- target: this.target || "_self",
58
- referrerPolicy: this.referrerpolicy || undefined,
59
- title: this.tctTitle || undefined,
60
- "test-id": "linkAnchor"
61
- }, n("span", {
62
- class: "label"
63
- }, this.label), n("q2-icon", {
64
- type: "chevron-right"
65
- }))) : n("a", {
66
- class: this.classes,
67
- onClick: t => this.handleClick(t),
68
- href: !!this.disabled ? undefined : this.href,
69
- target: this.target || "_self",
70
- referrerPolicy: this.referrerpolicy || undefined,
71
- title: this.tctTitle || undefined,
72
- "test-id": "linkAnchor"
73
- }, this.label);
74
- }
75
- get hostElement() {
76
- return o(this);
77
- }
78
- };
79
-
80
- l.style = r;
81
-
82
- export { l as q2_link };
83
- //# sourceMappingURL=q2-link.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["q2LinkCss","Q2LinkStyle0","Q2Link","clickLink","anchor","this","hostElement","shadowRoot","querySelector","click","classes","list","variant","push","disabled","join","handleClick","event","stopPropagation","tctClick","emit","target","referrerpolicy","href","render","h","class","label","onClick","e","undefined","referrerPolicy","title","tctTitle","type"],"sources":["src/components/q2-link/q2-link.scss?tag=q2-link&encapsulation=shadow","src/components/q2-link/q2-link.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-block;\n}\n\n:host {\n &:active {\n box-shadow: none;\n }\n}\n\n.link-container {\n --comp-link-font-bold-stroke-width: 0.5px;\n background: transparent;\n border: none;\n font-size: var-list(--tct-link-font-size, inherit);\n font-weight: var-list(--tct-link-font-weight, inherit);\n\n &.standalone {\n --comp-icon-stroke: var(--tct-link-icon-stroke-width, 1.5);\n .link {\n color: var-list(--tct-link-color-standalone, --t-primary);\n height: var(--tct-link-height, 24px);\n display: flex;\n align-items: center;\n --tct-icon-size: 16px;\n text-decoration: none;\n q2-icon {\n margin-left: var(--tct-link-label-icon-gap, 6px);\n }\n }\n &:hover {\n text-decoration: underline;\n -webkit-text-stroke-width: var-list(--tct-link-font-bold-stroke-width, --comp-link-font-bold-stroke-width);\n text-stroke-width: var-list(--tct-link-font-bold-stroke-width, --comp-link-font-bold-stroke-width);\n --tct-icon-stroke-width: calc(var(--comp-icon-stroke) + 0.5);\n }\n &:active:hover {\n text-decoration: underline;\n -webkit-text-stroke-width: var-list(--tct-link-font-bold-stroke-width, --comp-link-font-bold-stroke-width);\n text-stroke-width: var-list(--tct-link-font-bold-stroke-width, --comp-link-font-bold-stroke-width);\n --tct-icon-stroke-width: calc(var(--comp-icon-stroke) + 0.5);\n .link {\n color: var-list(--tct-link-color-standalone-active, --t-primary-d2);\n box-shadow: none;\n }\n }\n &.disabled {\n .link {\n cursor: not-allowed;\n color: var-list(--tct-link-color-standalone-disabled, --t-primary);\n opacity: 0.5;\n text-decoration: none;\n }\n &:hover {\n text-decoration: none;\n }\n }\n }\n\n &.inline {\n margin: 0 var(--tct-link-side-margin, 6px);\n text-decoration: underline;\n color: var-list(--tct-link-color-inline, --t-primary);\n &:hover {\n -webkit-text-stroke-width: var-list(--tct-link-font-bold-stroke-width, --comp-link-font-bold-stroke-width);\n text-stroke-width: var-list(--tct-link-font-bold-stroke-width, --comp-link-font-bold-stroke-width);\n }\n &:active:hover {\n -webkit-text-stroke-width: var-list(--tct-link-font-bold-stroke-width, --comp-link-font-bold-stroke-width);\n text-stroke-width: var-list(--tct-link-font-bold-stroke-width, --comp-link-font-bold-stroke-width);\n color: var-list(--tct-link-color-inline-active, --t-primary-d2);\n box-shadow: none;\n }\n &.disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n &:focus-visible & {\n box-shadow: var(--const-double-focus-ring);\n }\n }\n}\n\n","import { Component, Prop, h, ComponentInterface, Element, Event, EventEmitter, Method } from '@stencil/core';\n@Component({ tag: 'q2-link', shadow: true, styleUrl: 'q2-link.scss' })\nexport class Q2Link implements ComponentInterface {\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** The disabled. */\n @Prop({ reflect: true })\n disabled: boolean = false;\n\n /** The link when clicked. */\n @Prop({ reflect: true })\n href: string = '#';\n\n /** The label to display. */\n @Prop({ reflect: true })\n label: string;\n\n /** The [referrerpolicy](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#referrerpolicy) */\n @Prop({ reflect: true })\n referrerpolicy: ReferrerPolicy;\n\n /** The target. */\n @Prop({ reflect: true })\n target: string; // _self | _blank\n\n /** The title attribute on a tag in shadowRoot. */\n @Prop({ reflect: true })\n tctTitle: string;\n\n /** The value link to display. */\n @Prop({ reflect: true })\n variant: string = 'inline';\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the link is clicked.\n * @legacyEvent\n */\n @Event()\n tctClick: EventEmitter<{ target: string; referrerpolicy: string; href: string }>;\n\n // #endregion\n // #region Public Methods API\n\n /**\n * A method for click.\n *\n * @testOnly\n */\n @Method()\n async clickLink() {\n const anchor = this.hostElement.shadowRoot.querySelector(`[test-id=\"linkAnchor\"]`);\n (anchor as HTMLAnchorElement)?.click();\n }\n\n // #endregion\n // #region Local Methods\n\n get classes() {\n const list = ['link-container'];\n if (this.variant) list.push(this.variant);\n if (!!this.disabled) list.push('disabled');\n return list.join(' ');\n }\n\n handleClick(event: MouseEvent) {\n event.stopPropagation();\n if (this.disabled) return;\n this.tctClick.emit({\n target: this.target,\n referrerpolicy: this.referrerpolicy,\n href: this.href,\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n return this.variant === 'standalone' ? (\n <div\n class={this.classes}\n aria-label={this.label}\n >\n <a\n class=\"link\"\n onClick={e => this.handleClick(e)}\n href={!!this.disabled ? undefined : this.href}\n target={this.target || '_self'}\n referrerPolicy={this.referrerpolicy || undefined}\n title={this.tctTitle || undefined}\n test-id=\"linkAnchor\"\n >\n <span class=\"label\">{this.label}</span>\n <q2-icon type=\"chevron-right\"></q2-icon>\n </a>\n </div>\n ) : (\n <a\n class={this.classes}\n onClick={e => this.handleClick(e)}\n href={!!this.disabled ? undefined : this.href}\n target={this.target || '_self'}\n referrerPolicy={this.referrerpolicy || undefined}\n title={this.tctTitle || undefined}\n test-id=\"linkAnchor\"\n >\n {this.label}\n </a>\n );\n }\n\n // #endregion\n}\n"],"mappings":";;AAAA,MAAMA,IAAY;;AAClB,MAAAC,IAAeD;;MCCFE,IAAM;;;;oBAWK;gBAIL;;;;;mBAoBG;;;;;;;;;EAqBlB,eAAMC;IACF,MAAMC,IAASC,KAAKC,YAAYC,WAAWC,cAAc;IACxDJ,MAA4B,QAA5BA,WAAM,aAANA,EAA8BK;;;;EAMnC,WAAIC;IACA,MAAMC,IAAO,EAAC;IACd,IAAIN,KAAKO,SAASD,EAAKE,KAAKR,KAAKO;IACjC,MAAMP,KAAKS,UAAUH,EAAKE,KAAK;IAC/B,OAAOF,EAAKI,KAAK;;EAGrB,WAAAC,CAAYC;IACRA,EAAMC;IACN,IAAIb,KAAKS,UAAU;IACnBT,KAAKc,SAASC,KAAK;MACfC,QAAQhB,KAAKgB;MACbC,gBAAgBjB,KAAKiB;MACrBC,MAAMlB,KAAKkB;;;;;EAOnB,MAAAC;IACI,OAAOnB,KAAKO,YAAY,eACpBa,EAAA;MACIC,OAAOrB,KAAKK;MAAO,cACPL,KAAKsB;OAEjBF,EAAA;MACIC,OAAM;MACNE,SAASC,KAAKxB,KAAKW,YAAYa;MAC/BN,QAAQlB,KAAKS,WAAWgB,YAAYzB,KAAKkB;MACzCF,QAAQhB,KAAKgB,UAAU;MACvBU,gBAAgB1B,KAAKiB,kBAAkBQ;MACvCE,OAAO3B,KAAK4B,YAAYH;MAAS,WACzB;OAERL,EAAA;MAAMC,OAAM;OAASrB,KAAKsB,QAC1BF,EAAA;MAASS,MAAK;WAItBT,EAAA;MACIC,OAAOrB,KAAKK;MACZkB,SAASC,KAAKxB,KAAKW,YAAYa;MAC/BN,QAAQlB,KAAKS,WAAWgB,YAAYzB,KAAKkB;MACzCF,QAAQhB,KAAKgB,UAAU;MACvBU,gBAAgB1B,KAAKiB,kBAAkBQ;MACvCE,OAAO3B,KAAK4B,YAAYH;MAAS,WACzB;OAEPzB,KAAKsB"}
@@ -1,100 +0,0 @@
1
- import { r as e, h as t, g as i } from "./index-7a5365e2.js";
2
-
3
- import { e as s } from "./index-d18e2a20.js";
4
-
5
- const o = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host([bordered]:not([bordered=false])) ::slotted(q2-item:not(:last-child)),:host([bordered]:not([bordered=false])) .header{border-style:var(--tct-list-item-border-style, solid);border-width:var(--tct-list-item-border-width, 0 0 1px 0);border-color:var(--tct-list-item-border-color, var(--t-gray-12, #d9d9d9))}::slotted(q2-item){--comp-item-padding:var(--tct-list-item-padding, var(--app-scale-2x, 10px) var(--app-scale-4x, 20px));--tct-item-padding:var(--comp-item-padding)}.header{--comp-default-header-padding:0 var(--app-scale-4x, 20px);display:flex;gap:var(--app-scale-3x, 12px);padding:var(--tct-list-header-padding, var(--comp-default-header-padding));min-height:var(--tct-list-header-min-height, var(--t-list-header-min-height, 44px))}.header-spacebetween{justify-content:space-between}.header-start{justify-content:flex-start}.header-end{justify-content:flex-end}.header .label{width:100%;height:var(--tct-list-label-height, 44px);line-height:var(--tct-list-label-line-height, 44px);font-size:var(--tct-list-label-font-size, var(--app-font-size, 14px));font-weight:var(--tct-list-label-font-weight, 600);color:var(--tct-list-label-font-color, var(--t-text, #4d4d4d))}";
6
-
7
- const r = o;
8
-
9
- const n = class {
10
- constructor(t) {
11
- e(this, t);
12
- this.scheduledAfterRender = [];
13
- this.onMutationObserved = () => {
14
- this.renderTrigger += 1;
15
- this.scheduledAfterRender.push((() => {
16
- Array.from(this.hostElement.children).forEach((e => {
17
- if (e.tagName === "Q2-ITEM") e.role = "listitem";
18
- }));
19
- }));
20
- };
21
- this.renderTrigger = 0;
22
- this.bordered = undefined;
23
- this.label = undefined;
24
- }
25
- // #endregion
26
- // #region Component Lifecycle Events
27
- disconnectedCallback() {
28
- var e;
29
- (e = this.mutationObserver) === null || e === void 0 ? void 0 : e.disconnect();
30
- this.mutationObserver = null;
31
- }
32
- componentDidLoad() {
33
- if (typeof MutationObserver === "undefined") return;
34
- const e = new MutationObserver(this.onMutationObserved);
35
- e.observe(this.hostElement, {
36
- childList: true,
37
- subtree: true
38
- });
39
- this.mutationObserver = e;
40
- this.onMutationObserved();
41
- }
42
- componentDidRender() {
43
- this.scheduledAfterRender.forEach((e => e()));
44
- this.scheduledAfterRender = [];
45
- }
46
- // #endregion
47
- // #region Local Methods
48
- get hasFilterSlot() {
49
- return !!this.hostElement.querySelector("q2-pill") || s(this.hostElement, "pill");
50
- }
51
- get hasLabelContent() {
52
- return !!this.label;
53
- }
54
- get headerClasses() {
55
- const e = [ "header" ];
56
- if (this.hasLabelContent && this.hasFilterSlot) {
57
- e.push("header-spacebetween");
58
- } else if (this.hasLabelContent && !this.hasFilterSlot) {
59
- e.push("header-start");
60
- } else if (!this.hasLabelContent && this.hasFilterSlot) {
61
- e.push("header-end");
62
- }
63
- return e.join(" ");
64
- }
65
- get listClasses() {
66
- const e = [ "list" ];
67
- return e.join(" ");
68
- }
69
- // #endregion
70
- // #region Render Methods
71
- render() {
72
- return t("div", {
73
- key: "e4371faae59ae85dee324d6d6783a4b93c23f67f",
74
- class: this.listClasses,
75
- ref: e => this.listElement = e
76
- }, (this.hasFilterSlot || this.hasLabelContent) && t("div", {
77
- key: "59cc98b62d2581a66a9ed127189fb23364c49bff",
78
- class: this.headerClasses
79
- }, t("div", {
80
- key: "568b6fab57c7552d5a577d19bd31760f6d1aa461",
81
- class: "label"
82
- }, this.label), this.hasFilterSlot && t("slot", {
83
- key: "d27e785788847cf1a422568383bfe5d986764b2b",
84
- name: "filter"
85
- })), t("div", {
86
- key: "7a00add6911167d7a27008f10f5d44cfae5d80b2",
87
- role: "list"
88
- }, t("slot", {
89
- key: "dd5a0290091b0f1cb00a14cde43bab36e87573d2"
90
- })));
91
- }
92
- get hostElement() {
93
- return i(this);
94
- }
95
- };
96
-
97
- n.style = r;
98
-
99
- export { n as q2_list };
100
- //# sourceMappingURL=q2-list.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["q2ListCss","Q2ListStyle0","Q2List","this","scheduledAfterRender","onMutationObserved","renderTrigger","push","Array","from","hostElement","children","forEach","child","tagName","role","disconnectedCallback","_a","mutationObserver","disconnect","componentDidLoad","MutationObserver","observer","observe","childList","subtree","componentDidRender","fn","hasFilterSlot","querySelector","hasSlotContent","hasLabelContent","label","headerClasses","classes","join","listClasses","render","h","key","class","ref","el","listElement","name"],"sources":["src/components/q2-list/q2-list.scss?tag=q2-list&encapsulation=shadow","src/components/q2-list/q2-list.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n@import '../q2-btn/q2-btn-mixins';\n\n:host([bordered]:not([bordered='false'])) {\n ::slotted(q2-item:not(:last-child)),\n .header {\n border-style: var-list(--tct-list-item-border-style, solid);\n border-width: var-list(--tct-list-item-border-width, unquote('0 0 1px 0'));\n border-color: var-list(--tct-list-item-border-color, --t-gray-12, #d9d9d9);\n }\n}\n\n::slotted(q2-item) {\n --comp-item-padding: #{var-list(\n --tct-list-item-padding,\n unquote('#{var-list(--app-scale-2x, 10px) var-list(--app-scale-4x, 20px)}')\n )};\n --tct-item-padding: var(--comp-item-padding);\n}\n\n.header {\n --comp-default-header-padding: 0 var(--app-scale-4x, 20px);\n display: flex;\n gap: var(--app-scale-3x, 12px);\n padding: var-list(--tct-list-header-padding, --comp-default-header-padding);\n min-height: var-list(var-prefixer(list-header-min-height), 44px);\n &-spacebetween {\n justify-content: space-between;\n }\n &-start {\n justify-content: flex-start;\n }\n &-end {\n justify-content: flex-end;\n }\n .label {\n width: 100%;\n height: var(--tct-list-label-height, 44px);\n line-height: var(--tct-list-label-line-height, 44px);\n font-size: var-list(--tct-list-label-font-size, --app-font-size, 14px);\n font-weight: var(--tct-list-label-font-weight, 600);\n color: var-list(--tct-list-label-font-color, --t-text, #4d4d4d);\n }\n}\n","import { Component, Element, h, State, Prop } from '@stencil/core';\nimport { hasSlotContent } from 'src/utils';\n\n@Component({\n tag: 'q2-list',\n styleUrl: 'q2-list.scss',\n shadow: true,\n})\nexport class Q2List {\n // #region Own Properties\n\n listElement: HTMLDivElement;\n mutationObserver: MutationObserver;\n scheduledAfterRender: (() => void)[] = [];\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n renderTrigger: number = 0;\n\n // #endregion\n // #region Public Property API\n\n /** Adds a border between each items */\n @Prop({ mutable: true, reflect: true })\n bordered: boolean;\n\n /** label text on header area */\n @Prop({ reflect: true })\n label: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.mutationObserver = null;\n }\n\n componentDidLoad() {\n if (typeof MutationObserver === 'undefined') return;\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }\n\n // #endregion\n // #region Local Methods\n\n get hasFilterSlot() {\n return !!this.hostElement.querySelector('q2-pill') || hasSlotContent(this.hostElement, 'pill');\n }\n\n get hasLabelContent() {\n return !!this.label;\n }\n\n get headerClasses() {\n const classes = ['header'];\n if (this.hasLabelContent && this.hasFilterSlot) {\n classes.push('header-spacebetween');\n } else if (this.hasLabelContent && !this.hasFilterSlot) {\n classes.push('header-start');\n } else if (!this.hasLabelContent && this.hasFilterSlot) {\n classes.push('header-end');\n }\n return classes.join(' ');\n }\n\n get listClasses() {\n const classes = ['list'];\n return classes.join(' ');\n }\n\n onMutationObserved = () => {\n this.renderTrigger += 1;\n this.scheduledAfterRender.push(() => {\n Array.from(this.hostElement.children).forEach(child => {\n if (child.tagName === 'Q2-ITEM') child.role = 'listitem';\n });\n });\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n return (\n <div\n class={this.listClasses}\n ref={el => (this.listElement = el)}\n >\n {(this.hasFilterSlot || this.hasLabelContent) && (\n <div class={this.headerClasses}>\n <div class=\"label\">{this.label}</div>\n {this.hasFilterSlot && <slot name=\"filter\" />}\n </div>\n )}\n <div role=\"list\">\n <slot />\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"],"mappings":";;;;AAAA,MAAMA,IAAY;;AAClB,MAAAC,IAAeD;;MCOFE,IAAM;;;IAKfC,KAAAC,uBAAuC;IA0EvCD,KAAAE,qBAAqB;MACjBF,KAAKG,iBAAiB;MACtBH,KAAKC,qBAAqBG,MAAK;QAC3BC,MAAMC,KAAKN,KAAKO,YAAYC,UAAUC,SAAQC;UAC1C,IAAIA,EAAMC,YAAY,WAAWD,EAAME,OAAO;AAAU;AAC1D;AACJ;yBApEkB;;;;;;EAgBxB,oBAAAC;;KACIC,IAAAd,KAAKe,sBAAgB,QAAAD,WAAA,aAAAA,EAAEE;IACvBhB,KAAKe,mBAAmB;;EAG5B,gBAAAE;IACI,WAAWC,qBAAqB,aAAa;IAC7C,MAAMC,IAAW,IAAID,iBAAiBlB,KAAKE;IAC3CiB,EAASC,QAAQpB,KAAKO,aAAa;MAAEc,WAAW;MAAMC,SAAS;;IAC/DtB,KAAKe,mBAAmBI;IACxBnB,KAAKE;;EAGT,kBAAAqB;IACIvB,KAAKC,qBAAqBQ,SAAQe,KAAMA;IACxCxB,KAAKC,uBAAuB;;;;EAMhC,iBAAIwB;IACA,SAASzB,KAAKO,YAAYmB,cAAc,cAAcC,EAAe3B,KAAKO,aAAa;;EAG3F,mBAAIqB;IACA,SAAS5B,KAAK6B;;EAGlB,iBAAIC;IACA,MAAMC,IAAU,EAAC;IACjB,IAAI/B,KAAK4B,mBAAmB5B,KAAKyB,eAAe;MAC5CM,EAAQ3B,KAAK;WACV,IAAIJ,KAAK4B,oBAAoB5B,KAAKyB,eAAe;MACpDM,EAAQ3B,KAAK;WACV,KAAKJ,KAAK4B,mBAAmB5B,KAAKyB,eAAe;MACpDM,EAAQ3B,KAAK;;IAEjB,OAAO2B,EAAQC,KAAK;;EAGxB,eAAIC;IACA,MAAMF,IAAU,EAAC;IACjB,OAAOA,EAAQC,KAAK;;;;EAexB,MAAAE;IACI,OACIC,EAAA;MAAAC,KAAA;MACIC,OAAOrC,KAAKiC;MACZK,KAAKC,KAAOvC,KAAKwC,cAAcD;QAE7BvC,KAAKyB,iBAAiBzB,KAAK4B,oBACzBO,EAAA;MAAAC,KAAA;MAAKC,OAAOrC,KAAK8B;OACbK,EAAA;MAAAC,KAAA;MAAKC,OAAM;OAASrC,KAAK6B,QACxB7B,KAAKyB,iBAAiBU,EAAA;MAAAC,KAAA;MAAMK,MAAK;SAG1CN,EAAA;MAAAC,KAAA;MAAKxB,MAAK;OACNuB,EAAA;MAAAC,KAAA"}