xv-webcomponents 0.1.10 → 0.1.11

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 (108) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/index-4d938647.js +1483 -0
  4. package/dist/cjs/index-4d938647.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +11 -0
  6. package/dist/cjs/index.cjs.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +17 -0
  8. package/dist/cjs/loader.cjs.js.map +1 -0
  9. package/dist/cjs/utils-c7652b74.js +13 -0
  10. package/dist/cjs/utils-c7652b74.js.map +1 -0
  11. package/dist/cjs/xv-accordion_10.cjs.entry.js +263 -0
  12. package/dist/cjs/xv-accordion_10.cjs.entry.js.map +1 -0
  13. package/dist/cjs/xv-breadcrumbs.cjs.entry.js +22 -0
  14. package/dist/cjs/xv-breadcrumbs.cjs.entry.js.map +1 -0
  15. package/dist/cjs/xv-webcomponents.cjs.js +27 -0
  16. package/dist/cjs/xv-webcomponents.cjs.js.map +1 -0
  17. package/dist/collection/collection-manifest.json +22 -0
  18. package/dist/collection/components/xv-accordion/xv-accordion.css +3 -0
  19. package/dist/collection/components/xv-accordion/xv-accordion.js +163 -0
  20. package/dist/collection/components/xv-accordion/xv-accordion.js.map +1 -0
  21. package/dist/collection/components/xv-accordion-item/xv-accordion-item.css +68 -0
  22. package/dist/collection/components/xv-accordion-item/xv-accordion-item.js +132 -0
  23. package/dist/collection/components/xv-accordion-item/xv-accordion-item.js.map +1 -0
  24. package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.css +3 -0
  25. package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.js +19 -0
  26. package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.js.map +1 -0
  27. package/dist/collection/components/xv-button/xv-button-v2.css +150 -0
  28. package/dist/collection/components/xv-button/xv-button.js +116 -0
  29. package/dist/collection/components/xv-button/xv-button.js.map +1 -0
  30. package/dist/collection/components/xv-card/xv-card.css +63 -0
  31. package/dist/collection/components/xv-card/xv-card.js +122 -0
  32. package/dist/collection/components/xv-card/xv-card.js.map +1 -0
  33. package/dist/{xv-webcomponents/xv-checkbox-v2.entry.js → collection/components/xv-checkbox/xv-checkbox.js} +7 -12
  34. package/dist/collection/components/xv-checkbox/xv-checkbox.js.map +1 -0
  35. package/dist/collection/components/xv-link/xv-link.css +60 -0
  36. package/dist/collection/components/xv-link/xv-link.js +132 -0
  37. package/dist/collection/components/xv-link/xv-link.js.map +1 -0
  38. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.css +6 -0
  39. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +70 -0
  40. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js.map +1 -0
  41. package/dist/collection/components/xv-progress-indicator-item/xv-progress-indicator-item.css +66 -0
  42. package/dist/collection/components/xv-progress-indicator-item/xv-progress-indicator-item.js +47 -0
  43. package/dist/collection/components/xv-progress-indicator-item/xv-progress-indicator-item.js.map +1 -0
  44. package/dist/collection/components/xv-tag/xv-tag.css +97 -0
  45. package/dist/collection/components/xv-tag/xv-tag.js +158 -0
  46. package/dist/collection/components/xv-tag/xv-tag.js.map +1 -0
  47. package/dist/collection/components/xv-tooltip/xv-tooltip.css +153 -0
  48. package/dist/collection/components/xv-tooltip/xv-tooltip.js +70 -0
  49. package/dist/collection/components/xv-tooltip/xv-tooltip.js.map +1 -0
  50. package/dist/collection/index.js +11 -0
  51. package/dist/collection/index.js.map +1 -0
  52. package/dist/collection/utils/utils.js +7 -0
  53. package/dist/collection/utils/utils.js.map +1 -0
  54. package/dist/esm/index-60f5a964.js +1454 -0
  55. package/dist/esm/index-60f5a964.js.map +1 -0
  56. package/dist/esm/index.js +3 -0
  57. package/dist/esm/index.js.map +1 -0
  58. package/dist/esm/loader.js +13 -0
  59. package/dist/esm/loader.js.map +1 -0
  60. package/dist/esm/xv-accordion_10.entry.js +250 -0
  61. package/dist/esm/xv-accordion_10.entry.js.map +1 -0
  62. package/dist/{xv-webcomponents → esm}/xv-breadcrumbs.entry.js +3 -2
  63. package/dist/esm/xv-breadcrumbs.entry.js.map +1 -0
  64. package/dist/esm/xv-webcomponents.js +22 -0
  65. package/dist/esm/xv-webcomponents.js.map +1 -0
  66. package/dist/index.cjs.js +1 -0
  67. package/dist/index.js +1 -0
  68. package/dist/xv-webcomponents/index.esm.js +1 -12
  69. package/dist/xv-webcomponents/index.esm.js.map +1 -1
  70. package/dist/xv-webcomponents/p-41bd284c.entry.js +2 -0
  71. package/dist/xv-webcomponents/p-41bd284c.entry.js.map +1 -0
  72. package/dist/xv-webcomponents/p-543fe755.js +3 -0
  73. package/dist/xv-webcomponents/p-543fe755.js.map +1 -0
  74. package/dist/xv-webcomponents/p-6f058b7f.entry.js +2 -0
  75. package/dist/xv-webcomponents/p-6f058b7f.entry.js.map +1 -0
  76. package/dist/xv-webcomponents/p-a0b74d3c.js +2 -0
  77. package/dist/xv-webcomponents/p-a0b74d3c.js.map +1 -0
  78. package/dist/xv-webcomponents/p-e1255160.js +2 -0
  79. package/dist/xv-webcomponents/p-e1255160.js.map +1 -0
  80. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -48
  81. package/dist/xv-webcomponents/xv-webcomponents.esm.js.map +1 -1
  82. package/package.json +1 -1
  83. package/dist/xv-webcomponents/index-7b4633e7.js +0 -3971
  84. package/dist/xv-webcomponents/index-7b4633e7.js.map +0 -1
  85. package/dist/xv-webcomponents/xv-accordion-item.entry.js +0 -35
  86. package/dist/xv-webcomponents/xv-accordion-item.entry.js.map +0 -1
  87. package/dist/xv-webcomponents/xv-accordion.entry.js +0 -40
  88. package/dist/xv-webcomponents/xv-accordion.entry.js.map +0 -1
  89. package/dist/xv-webcomponents/xv-breadcrumbs.entry.js.map +0 -1
  90. package/dist/xv-webcomponents/xv-button-v2.entry.js +0 -31
  91. package/dist/xv-webcomponents/xv-button-v2.entry.js.map +0 -1
  92. package/dist/xv-webcomponents/xv-card.entry.js +0 -18
  93. package/dist/xv-webcomponents/xv-card.entry.js.map +0 -1
  94. package/dist/xv-webcomponents/xv-checkbox-v2.entry.js.map +0 -1
  95. package/dist/xv-webcomponents/xv-link.entry.js +0 -26
  96. package/dist/xv-webcomponents/xv-link.entry.js.map +0 -1
  97. package/dist/xv-webcomponents/xv-progress-indicator-item.entry.js +0 -19
  98. package/dist/xv-webcomponents/xv-progress-indicator-item.entry.js.map +0 -1
  99. package/dist/xv-webcomponents/xv-progress-indicator.entry.js +0 -39
  100. package/dist/xv-webcomponents/xv-progress-indicator.entry.js.map +0 -1
  101. package/dist/xv-webcomponents/xv-tag.entry.js +0 -28
  102. package/dist/xv-webcomponents/xv-tag.entry.js.map +0 -1
  103. package/dist/xv-webcomponents/xv-tooltip.entry.js +0 -23
  104. package/dist/xv-webcomponents/xv-tooltip.entry.js.map +0 -1
  105. /package/dist/{xv-webcomponents → esm}/app-globals-0f993ce5.js +0 -0
  106. /package/dist/{xv-webcomponents → esm}/app-globals-0f993ce5.js.map +0 -0
  107. /package/dist/{xv-webcomponents → esm}/utils-9bb6333b.js +0 -0
  108. /package/dist/{xv-webcomponents → esm}/utils-9bb6333b.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xv-accordion.js","sourceRoot":"","sources":["../../../src/components/xv-accordion/xv-accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAgB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOjD,MAAM,OAAO,WAAW;IALxB;QAMU,aAAQ,GAAY,KAAK,CAAC;QAC1B,SAAI,GAAW,YAAY,EAAE,CAAC;QAE7B,WAAM,GAAgB,IAAI,GAAG,EAAE,CAAC;KA+B1C;IA3BC,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAElE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAC,cAAc,aAAU,IAAI,CAAC,IAAI;YAC3C,8DAAQ,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Event, EventEmitter, Method, State, Prop } from '@stencil/core';\r\nimport { uidGenerator } from '../../utils/utils';\r\n\r\n@Component({\r\n tag: 'xv-accordion',\r\n styleUrl: 'xv-accordion.scss',\r\n shadow: true,\r\n})\r\nexport class XvAccordion {\r\n @Prop() multiple: boolean = false;\r\n @Prop() xvId: string = uidGenerator();\r\n @Prop({ mutable: true }) value: string;\r\n @State() opened: Set<string> = new Set();\r\n @Event() accordionChange: EventEmitter<{ opened: Set<string>, id: string }>;\r\n\r\n @Method()\r\n async toggleItem(value: string) {\r\n if (this.opened.has(value)) {\r\n this.opened.delete(value);\r\n } else {\r\n if (!this.multiple) this.opened.clear();\r\n this.value = value;\r\n this.opened.add(this.value);\r\n }\r\n\r\n this.accordionChange.emit({ opened: this.opened, id: this.xvId });\r\n\r\n return { opened: this.opened, id: this.xvId };\r\n }\r\n\r\n componentWillLoad() {\r\n if (this.value) {\r\n return this.toggleItem(this.value);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host class=\"xv-accordion\" data-id={this.xvId}>\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
@@ -0,0 +1,68 @@
1
+ :host {
2
+ border-top: 1px solid var(--border-subtle-01);
3
+ display: flex;
4
+ flex-direction: column;
5
+ font-family: var(--ff-body, inherit);
6
+ }
7
+
8
+ :host(.disabled) .label {
9
+ color: var(--text-disabled);
10
+ }
11
+ :host(.disabled) .label:hover {
12
+ cursor: initial;
13
+ background-color: transparent;
14
+ }
15
+
16
+ .label {
17
+ padding: 14px 16px;
18
+ display: inline-flex;
19
+ align-items: center;
20
+ column-gap: 20px;
21
+ justify-content: space-between;
22
+ text-align: left;
23
+ color: var(--text-primary);
24
+ font-size: 14px;
25
+ font-style: normal;
26
+ font-weight: 400;
27
+ line-height: 20px;
28
+ letter-spacing: 0.16px;
29
+ background-color: transparent;
30
+ transition: background-color 200ms ease-in-out;
31
+ }
32
+ .label > span {
33
+ overflow: hidden;
34
+ text-overflow: ellipsis;
35
+ display: -webkit-box;
36
+ -webkit-line-clamp: 1;
37
+ -webkit-box-orient: vertical;
38
+ }
39
+ .label:hover {
40
+ cursor: pointer;
41
+ background-color: var(--layer-hover-01);
42
+ }
43
+ .label:after {
44
+ content: "";
45
+ border: solid black;
46
+ border-width: 0 2px 2px 0;
47
+ display: inline-block;
48
+ padding: 4.66px;
49
+ transition: transform 100ms ease-in-out;
50
+ transform: rotate(45deg);
51
+ }
52
+ .label.opened:after {
53
+ transform: rotate(-135deg);
54
+ }
55
+
56
+ .content {
57
+ padding: 0 16px;
58
+ text-align: left;
59
+ color: var(--text-primary);
60
+ font-size: 14px;
61
+ overflow: hidden;
62
+ max-height: 0;
63
+ transition: max-height 300ms ease-in-out, padding 250ms ease 50ms;
64
+ }
65
+ .content.opened {
66
+ padding: 14px 16px;
67
+ max-height: 500px;
68
+ }
@@ -0,0 +1,132 @@
1
+ import { Host, h } from "@stencil/core";
2
+ export class XvAccordionItem {
3
+ constructor() {
4
+ this.disabled = false;
5
+ this.isOpen = false;
6
+ }
7
+ handleAccordionChange(event) {
8
+ var _a;
9
+ const parentAccordionId = (_a = this.el.closest('[data-id]')) === null || _a === void 0 ? void 0 : _a.getAttribute('data-id');
10
+ if (event.detail.id !== parentAccordionId)
11
+ return;
12
+ this.isOpen = event.detail.opened.has(this.value);
13
+ }
14
+ toggle() {
15
+ var _a, _b;
16
+ if (this.disabled)
17
+ return;
18
+ this.isOpen = !this.isOpen;
19
+ (_b = (_a = this.el.closest('xv-accordion')) === null || _a === void 0 ? void 0 : _a.toggleItem) === null || _b === void 0 ? void 0 : _b.call(_a, this.value);
20
+ }
21
+ render() {
22
+ return (h(Host, { key: '8b245355a1f6782ca3fd1669b752499150da5f17', class: `${this.disabled ? 'disabled' : ''}` }, h("label", { key: '999fc39c0e58f6805b3d58f5f36e0f36a18ab888', class: `label ${this.isOpen ? 'opened' : 'closed'}`, onClick: this.toggle.bind(this) }, h("span", { key: '0f3f72f620001f6ea19de0532deab6991b67c93b' }, this.label)), h("div", { key: 'fc27c4239c8b51690627678983882b65c4d94f4a', class: `content ${this.isOpen ? 'opened' : 'closed'}` }, h("slot", { key: '6643838a58f16d568654f5dc366b812b446f9625' }))));
23
+ }
24
+ static get is() { return "xv-accordion-item"; }
25
+ static get encapsulation() { return "shadow"; }
26
+ static get originalStyleUrls() {
27
+ return {
28
+ "$": ["xv-accordion-item.scss"]
29
+ };
30
+ }
31
+ static get styleUrls() {
32
+ return {
33
+ "$": ["xv-accordion-item.css"]
34
+ };
35
+ }
36
+ static get properties() {
37
+ return {
38
+ "disabled": {
39
+ "type": "boolean",
40
+ "mutable": false,
41
+ "complexType": {
42
+ "original": "boolean",
43
+ "resolved": "boolean",
44
+ "references": {}
45
+ },
46
+ "required": false,
47
+ "optional": false,
48
+ "docs": {
49
+ "tags": [],
50
+ "text": ""
51
+ },
52
+ "getter": false,
53
+ "setter": false,
54
+ "attribute": "disabled",
55
+ "reflect": false,
56
+ "defaultValue": "false"
57
+ },
58
+ "label": {
59
+ "type": "string",
60
+ "mutable": false,
61
+ "complexType": {
62
+ "original": "string",
63
+ "resolved": "string",
64
+ "references": {}
65
+ },
66
+ "required": false,
67
+ "optional": false,
68
+ "docs": {
69
+ "tags": [],
70
+ "text": ""
71
+ },
72
+ "getter": false,
73
+ "setter": false,
74
+ "attribute": "label",
75
+ "reflect": false
76
+ },
77
+ "value": {
78
+ "type": "string",
79
+ "mutable": false,
80
+ "complexType": {
81
+ "original": "string",
82
+ "resolved": "string",
83
+ "references": {}
84
+ },
85
+ "required": false,
86
+ "optional": false,
87
+ "docs": {
88
+ "tags": [],
89
+ "text": ""
90
+ },
91
+ "getter": false,
92
+ "setter": false,
93
+ "attribute": "value",
94
+ "reflect": false
95
+ }
96
+ };
97
+ }
98
+ static get states() {
99
+ return {
100
+ "isOpen": {}
101
+ };
102
+ }
103
+ static get events() {
104
+ return [{
105
+ "method": "itemToggle",
106
+ "name": "itemToggle",
107
+ "bubbles": true,
108
+ "cancelable": true,
109
+ "composed": true,
110
+ "docs": {
111
+ "tags": [],
112
+ "text": ""
113
+ },
114
+ "complexType": {
115
+ "original": "any",
116
+ "resolved": "any",
117
+ "references": {}
118
+ }
119
+ }];
120
+ }
121
+ static get elementRef() { return "el"; }
122
+ static get listeners() {
123
+ return [{
124
+ "name": "accordionChange",
125
+ "method": "handleAccordionChange",
126
+ "target": "body",
127
+ "capture": false,
128
+ "passive": false
129
+ }];
130
+ }
131
+ }
132
+ //# sourceMappingURL=xv-accordion-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xv-accordion-item.js","sourceRoot":"","sources":["../../../src/components/xv-accordion-item/xv-accordion-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAOtG,MAAM,OAAO,eAAe;IAL5B;QAOU,aAAQ,GAAY,KAAK,CAAC;QAGzB,WAAM,GAAY,KAAK,CAAC;KA4BlC;IAxBC,qBAAqB,CAAC,KAAuD;;QAC3E,MAAM,iBAAiB,GAAG,MAAA,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,0CAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAChF,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,iBAAiB;YAAE,OAAO;QAClD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,MAAM;;QACJ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAA,MAAA,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,0CAAE,UAAU,mDAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/C,8DAAO,KAAK,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzF,+DAAO,IAAI,CAAC,KAAK,CAAQ,CACnB;YACR,4DAAK,KAAK,EAAE,WAAW,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACxD,8DAAQ,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Element, Prop, State, Listen, Event, EventEmitter } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'xv-accordion-item',\r\n styleUrl: 'xv-accordion-item.scss',\r\n shadow: true,\r\n})\r\nexport class XvAccordionItem {\r\n @Element() el: HTMLElement;\r\n @Prop() disabled: boolean = false;\r\n @Prop() label: string;\r\n @Prop() value: string;\r\n @State() isOpen: boolean = false;\r\n @Event() itemToggle: EventEmitter;\r\n\r\n @Listen('accordionChange', { target: 'body' })\r\n handleAccordionChange(event: CustomEvent<{ opened: Set<string>, id: string }>) {\r\n const parentAccordionId = this.el.closest('[data-id]')?.getAttribute('data-id');\r\n if (event.detail.id !== parentAccordionId) return;\r\n this.isOpen = event.detail.opened.has(this.value);\r\n }\r\n\r\n toggle() {\r\n if (this.disabled) return;\r\n this.isOpen = !this.isOpen;\r\n this.el.closest('xv-accordion')?.toggleItem?.(this.value);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host class={`${this.disabled ? 'disabled' : ''}`}>\r\n <label class={`label ${this.isOpen ? 'opened' : 'closed'}`} onClick={this.toggle.bind(this)}>\r\n <span>{this.label}</span>\r\n </label>\r\n <div class={`content ${this.isOpen ? 'opened' : 'closed'}`}>\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
@@ -0,0 +1,3 @@
1
+ :host {
2
+ display: block;
3
+ }
@@ -0,0 +1,19 @@
1
+ import { Host, h } from "@stencil/core";
2
+ export class XvBreadcrumbs {
3
+ render() {
4
+ return (h(Host, { key: '744f6f063f285249e341ba9fdb4ced51cc9c8bc4' }, h("slot", { key: 'd886b4d5e2bca0ae904b4f36fa6eff0232a2a375' })));
5
+ }
6
+ static get is() { return "xv-breadcrumbs"; }
7
+ static get encapsulation() { return "shadow"; }
8
+ static get originalStyleUrls() {
9
+ return {
10
+ "$": ["xv-breadcrumbs.scss"]
11
+ };
12
+ }
13
+ static get styleUrls() {
14
+ return {
15
+ "$": ["xv-breadcrumbs.css"]
16
+ };
17
+ }
18
+ }
19
+ //# sourceMappingURL=xv-breadcrumbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xv-breadcrumbs.js","sourceRoot":"","sources":["../../../src/components/xv-breadcrumbs/xv-breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAOnD,MAAM,OAAO,aAAa;IACxB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'xv-breadcrumbs',\r\n styleUrl: 'xv-breadcrumbs.scss',\r\n shadow: true,\r\n})\r\nexport class XvBreadcrumbs {\r\n render() {\r\n return (\r\n <Host>\r\n <slot></slot>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
@@ -0,0 +1,150 @@
1
+ @charset "UTF-8";
2
+ :host {
3
+ --focus-border-width: 2px;
4
+ --focus-border-style: solid;
5
+ --button-ghost: tarnsparent;
6
+ --text-disabled-opacity: 0.25;
7
+ --button-border-radius: 3px;
8
+ --button-border-width: 1px;
9
+ --button-border-style: solid;
10
+ --button-border-color-accent: #97BF0D;
11
+ --button-border-color-primary: #273435;
12
+ --button-border-color-secondary: #D1D1D1;
13
+ --button-border-color-ghost: tarnsparent;
14
+ --button-ghost-hover: tarnsparent;
15
+ --button-ghost-active: rgba(139, 139, 139, 0.5);
16
+ --button-accent-disabled: #D1D1D1;
17
+ --button-primary-disabled: #D1D1D1;
18
+ --button-secondary-disabled: #D1D1D1;
19
+ --button-tertiary-disabled: tarnsparent;
20
+ --button-ghost-disabled: tarnsparent;
21
+ }
22
+ :host button {
23
+ font-family: inherit;
24
+ font-size: 16px;
25
+ font-weight: 700;
26
+ padding: 0 20px;
27
+ height: 40px;
28
+ line-height: 40px;
29
+ cursor: pointer;
30
+ box-sizing: border-box;
31
+ transition: background-color 0.2s ease-in-out, filter 0.2s ease-in-out, transform 0.1s ease-in-out, border-color 0.2s ease-in-out, border-width 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
32
+ }
33
+
34
+ .xv-button {
35
+ /* ✅ Accent Button */
36
+ /* ✅ Primary Button */
37
+ /* ✅ Secondary Button */
38
+ /* ✅ Tertiary Button */
39
+ /* ✅ Ghost Button */
40
+ }
41
+ .xv-button.accent {
42
+ background-color: var(--button-accent);
43
+ color: var(--text-on-color);
44
+ border: var(--button-border-width) var(--button-border-style) var(--button-border-color-accent);
45
+ border-radius: var(--button-border-radius);
46
+ }
47
+ .xv-button.accent:hover {
48
+ background-color: var(--button-accent-hover);
49
+ }
50
+ .xv-button.accent:active {
51
+ background-color: var(--button-accent-active);
52
+ color: var(--text-on-color);
53
+ }
54
+ .xv-button.accent:focus {
55
+ outline: none;
56
+ border: var(--focus-border-width) var(--focus-border-style) var(--focus);
57
+ transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
58
+ }
59
+ .xv-button.accent:disabled {
60
+ background-color: var(--button-accent-disabled);
61
+ color: var(--text-on-color-disabled);
62
+ border: var(--button-border-width) var(--button-border-style) var(--button-accent-disabled);
63
+ }
64
+ .xv-button.primary {
65
+ background-color: var(--button-primary);
66
+ color: var(--text-on-color);
67
+ border: var(--button-border-width) var(--button-border-style) var(--button-border-color-primary);
68
+ border-radius: var(--button-border-radius);
69
+ }
70
+ .xv-button.primary:hover {
71
+ background-color: var(--button-primary-hover);
72
+ }
73
+ .xv-button.primary:active {
74
+ background-color: var(--button-primary-active);
75
+ }
76
+ .xv-button.primary:focus {
77
+ outline: none;
78
+ border: var(--focus-border-width) var(--focus-border-style) var(--focus);
79
+ transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
80
+ }
81
+ .xv-button.primary:disabled {
82
+ background-color: var(--button-primary-disabled);
83
+ color: var(--text-on-color-disabled);
84
+ border: var(--button-border-width) var(--button-border-style) var(--button-primary-disabled);
85
+ }
86
+ .xv-button.secondary {
87
+ background-color: var(--button-secondary);
88
+ color: var(--text-primary);
89
+ border: var(--button-border-width) var(--button-border-style) var(--button-border-color-secondary);
90
+ border-radius: var(--button-border-radius);
91
+ }
92
+ .xv-button.secondary:hover {
93
+ background-color: var(--button-secondary-hover);
94
+ }
95
+ .xv-button.secondary:active {
96
+ background-color: var(--button-secondary-active);
97
+ }
98
+ .xv-button.secondary:focus {
99
+ outline: none;
100
+ border: var(--focus-border-width) var(--focus-border-style) var(--focus);
101
+ transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
102
+ }
103
+ .xv-button.secondary:disabled {
104
+ background-color: var(--button-secondary-disabled);
105
+ color: var(--text-on-color-disabled);
106
+ }
107
+ .xv-button.tertiary {
108
+ background-color: var(--button-ghost);
109
+ color: var(--text-primary);
110
+ border: var(--button-border-width) var(--button-border-style) var(--button-tertiary);
111
+ border-radius: var(--button-border-radius);
112
+ }
113
+ .xv-button.tertiary:hover {
114
+ background-color: var(--button-tertiary-hover);
115
+ }
116
+ .xv-button.tertiary:active {
117
+ background-color: var(--button-tertiary-active);
118
+ }
119
+ .xv-button.tertiary:focus {
120
+ outline: none;
121
+ border: var(--focus-border-width) var(--focus-border-style) var(--focus);
122
+ transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
123
+ }
124
+ .xv-button.tertiary:disabled {
125
+ background-color: var(--button-tertiary-disabled);
126
+ color: var(--text-disabled);
127
+ opacity: var(--text-disabled-opacity);
128
+ }
129
+ .xv-button.ghost {
130
+ background-color: var(--button-ghost);
131
+ color: var(--text-primary);
132
+ border: var(--button-border-width) var(--button-border-style) var(--button-border-color-ghost);
133
+ border-radius: var(--button-border-radius);
134
+ }
135
+ .xv-button.ghost:hover {
136
+ background-color: var(--button-ghost-hover);
137
+ }
138
+ .xv-button.ghost:active {
139
+ background-color: var(--button-ghost-active);
140
+ }
141
+ .xv-button.ghost:focus {
142
+ outline: none;
143
+ border: var(--focus-border-width) var(--focus-border-style) var(--focus);
144
+ transition: border-color 0.2s ease-in-out;
145
+ }
146
+ .xv-button.ghost:disabled {
147
+ background-color: var(--button-ghost-disabled);
148
+ color: var(--text-disabled);
149
+ opacity: var(--text-disabled-opacity);
150
+ }
@@ -0,0 +1,116 @@
1
+ import { h, Host } from "@stencil/core";
2
+ export class XvButton {
3
+ constructor() {
4
+ /** Button label */
5
+ this.label = '';
6
+ /** Variant */
7
+ this.variant = 'primary';
8
+ /** Disabled state */
9
+ this.disabled = false;
10
+ /** Handle click only if not disabled */
11
+ this.handleClick = () => {
12
+ if (this.disabled) {
13
+ return;
14
+ }
15
+ this.buttonClick.emit();
16
+ };
17
+ }
18
+ render() {
19
+ return (h(Host, { key: '5f34d72138394e7b99fd2df0307baf92f7c9d1ca' }, h("button", { key: 'de80a89aa9daf5fcf4cca25efc2188062547a3d1', class: `xv-button ${this.variant}`, disabled: this.disabled, onClick: this.handleClick }, h("slot", { key: 'c9223d17a19e0c7289f7598256ed324f4c338d19', name: "icon-left" }), h("slot", { key: 'fb264cb3bef9c91b9b9a97ceab270ae056b1795b' }, this.label), h("slot", { key: 'b837dfb923f982af430921a134595ab63ab5bfee', name: "icon-right" }))));
20
+ }
21
+ static get is() { return "xv-button-v2"; }
22
+ static get encapsulation() { return "shadow"; }
23
+ static get originalStyleUrls() {
24
+ return {
25
+ "$": ["xv-button-v2.scss"]
26
+ };
27
+ }
28
+ static get styleUrls() {
29
+ return {
30
+ "$": ["xv-button-v2.css"]
31
+ };
32
+ }
33
+ static get properties() {
34
+ return {
35
+ "label": {
36
+ "type": "string",
37
+ "mutable": false,
38
+ "complexType": {
39
+ "original": "string",
40
+ "resolved": "string",
41
+ "references": {}
42
+ },
43
+ "required": false,
44
+ "optional": false,
45
+ "docs": {
46
+ "tags": [],
47
+ "text": "Button label"
48
+ },
49
+ "getter": false,
50
+ "setter": false,
51
+ "attribute": "label",
52
+ "reflect": false,
53
+ "defaultValue": "''"
54
+ },
55
+ "variant": {
56
+ "type": "string",
57
+ "mutable": false,
58
+ "complexType": {
59
+ "original": "'accent' | 'primary' | 'secondary' | 'tertiary' | 'ghost'",
60
+ "resolved": "\"accent\" | \"ghost\" | \"primary\" | \"secondary\" | \"tertiary\"",
61
+ "references": {}
62
+ },
63
+ "required": false,
64
+ "optional": false,
65
+ "docs": {
66
+ "tags": [],
67
+ "text": "Variant"
68
+ },
69
+ "getter": false,
70
+ "setter": false,
71
+ "attribute": "variant",
72
+ "reflect": false,
73
+ "defaultValue": "'primary'"
74
+ },
75
+ "disabled": {
76
+ "type": "boolean",
77
+ "mutable": false,
78
+ "complexType": {
79
+ "original": "boolean",
80
+ "resolved": "boolean",
81
+ "references": {}
82
+ },
83
+ "required": false,
84
+ "optional": false,
85
+ "docs": {
86
+ "tags": [],
87
+ "text": "Disabled state"
88
+ },
89
+ "getter": false,
90
+ "setter": false,
91
+ "attribute": "disabled",
92
+ "reflect": false,
93
+ "defaultValue": "false"
94
+ }
95
+ };
96
+ }
97
+ static get events() {
98
+ return [{
99
+ "method": "buttonClick",
100
+ "name": "buttonClick",
101
+ "bubbles": true,
102
+ "cancelable": true,
103
+ "composed": true,
104
+ "docs": {
105
+ "tags": [],
106
+ "text": "Emits when the button is clicked"
107
+ },
108
+ "complexType": {
109
+ "original": "void",
110
+ "resolved": "void",
111
+ "references": {}
112
+ }
113
+ }];
114
+ }
115
+ }
116
+ //# sourceMappingURL=xv-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xv-button.js","sourceRoot":"","sources":["../../../src/components/xv-button/xv-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAQ9E,MAAM,OAAO,QAAQ;IALrB;QAME,mBAAmB;QACX,UAAK,GAAW,EAAE,CAAC;QAE3B,cAAc;QACN,YAAO,GAA8D,SAAS,CAAC;QAEvF,qBAAqB;QACb,aAAQ,GAAY,KAAK,CAAC;QAKlC,wCAAwC;QAChC,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC,CAAC;KAoBH;IAnBC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,+DACE,KAAK,EAAE,aAAa,IAAI,CAAC,OAAO,EAAE,EAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW;gBAEzB,6DAAM,IAAI,EAAC,WAAW,GAAQ;gBAE9B,+DACG,IAAI,CAAC,KAAK,CACN;gBAEP,6DAAM,IAAI,EAAC,YAAY,GAAQ,CACxB,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\r\n\r\n\r\n@Component({\r\n tag: 'xv-button-v2',\r\n styleUrl: 'xv-button-v2.scss',\r\n shadow: true,\r\n})\r\nexport class XvButton {\r\n /** Button label */\r\n @Prop() label: string = '';\r\n\r\n /** Variant */\r\n @Prop() variant: 'accent' | 'primary' | 'secondary' | 'tertiary' | 'ghost' = 'primary';\r\n\r\n /** Disabled state */\r\n @Prop() disabled: boolean = false;\r\n\r\n /** Emits when the button is clicked */\r\n @Event() buttonClick!: EventEmitter<void>;\r\n\r\n /** Handle click only if not disabled */\r\n private handleClick = () => {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this.buttonClick.emit();\r\n };\r\n render() {\r\n return (\r\n <Host>\r\n <button\r\n class={`xv-button ${this.variant}`}\r\n disabled={this.disabled}\r\n onClick={this.handleClick}\r\n >\r\n <slot name=\"icon-left\"></slot>\r\n\r\n <slot>\r\n {this.label}\r\n </slot>\r\n\r\n <slot name=\"icon-right\"></slot>\r\n </button>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
@@ -0,0 +1,63 @@
1
+ :host {
2
+ display: flex;
3
+ flex-direction: column;
4
+ border-radius: 10px;
5
+ border: 1px solid var(--border-subtle-00);
6
+ background: var(--layer-layer-02);
7
+ box-shadow: 0 1px 3px 1px rgba(39, 52, 53, 0.15), 0 1px 2px 0 rgba(39, 52, 53, 0.3);
8
+ font-family: var(--ff-body, inherit);
9
+ overflow: visible !important;
10
+ }
11
+
12
+ :host(.xv-card_vertical) {
13
+ width: 100% !important;
14
+ }
15
+
16
+ :host(.xv-card_horizontal) {
17
+ flex-direction: row;
18
+ display: flex;
19
+ width: max-content;
20
+ }
21
+ :host(.xv-card_horizontal) .xv-card_media__content, :host(.xv-card_horizontal) .xv-card_media ::slotted([slot=media]) {
22
+ min-height: 100%;
23
+ max-height: 100%;
24
+ max-width: 160px;
25
+ min-width: 160px;
26
+ }
27
+
28
+ .xv-card_content {
29
+ padding: 16px;
30
+ display: flex;
31
+ flex-direction: column;
32
+ flex: 1;
33
+ text-align: left;
34
+ }
35
+ .xv-card_media__content, .xv-card_media ::slotted([slot=media]) {
36
+ max-width: 100%;
37
+ min-width: 100%;
38
+ min-height: 199px;
39
+ max-height: 199px;
40
+ object-fit: cover;
41
+ object-position: center;
42
+ }
43
+ .xv-card_header__content, .xv-card_header ::slotted([slot=header]) {
44
+ margin: 0 0 8px;
45
+ color: var(--text-primary);
46
+ font-size: 16px;
47
+ font-style: normal;
48
+ font-weight: 700;
49
+ line-height: 24px;
50
+ letter-spacing: -0.6px;
51
+ }
52
+ .xv-card_body {
53
+ flex: 1;
54
+ }
55
+ .xv-card_body__content, .xv-card_body ::slotted([slot=body]) {
56
+ margin: 0 0 8px;
57
+ color: var(--text-secondary);
58
+ font-size: 14px;
59
+ font-style: normal;
60
+ font-weight: 400;
61
+ line-height: 20px;
62
+ letter-spacing: -0.1px;
63
+ }