@vertexvis/ui 0.1.2-canary.0 → 0.1.2-canary.1

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 (100) hide show
  1. package/dist/components/auto-resize-textarea.js +157 -0
  2. package/dist/components/color-swatch.js +124 -0
  3. package/dist/components/dom.js +13 -0
  4. package/dist/components/expandable.js +100 -0
  5. package/dist/components/icon-button.js +63 -0
  6. package/dist/components/icon-helper.js +722 -0
  7. package/dist/components/icon.js +43 -0
  8. package/dist/components/index.d.ts +71 -0
  9. package/dist/components/index.js +52 -0
  10. package/dist/components/index2.js +89 -0
  11. package/dist/components/menu.js +89 -0
  12. package/dist/components/popover.js +1737 -0
  13. package/dist/components/result-list.js +565 -0
  14. package/dist/components/slots.js +26 -0
  15. package/dist/components/text-field.js +171 -0
  16. package/dist/components/tooltip.js +360 -0
  17. package/dist/components/tslib.es6.js +65 -0
  18. package/dist/components/vertex-auto-resize-textarea.d.ts +11 -0
  19. package/dist/components/vertex-auto-resize-textarea.js +6 -0
  20. package/dist/components/vertex-avatar-group.d.ts +11 -0
  21. package/dist/components/vertex-avatar-group.js +34 -0
  22. package/dist/components/vertex-avatar.d.ts +11 -0
  23. package/dist/components/vertex-avatar.js +68 -0
  24. package/dist/components/vertex-badge.d.ts +11 -0
  25. package/dist/components/vertex-badge.js +43 -0
  26. package/dist/components/vertex-banner.d.ts +11 -0
  27. package/dist/components/vertex-banner.js +141 -0
  28. package/dist/components/vertex-button.d.ts +11 -0
  29. package/dist/components/vertex-button.js +96 -0
  30. package/dist/components/vertex-card-group.d.ts +11 -0
  31. package/dist/components/vertex-card-group.js +51 -0
  32. package/dist/components/vertex-card.d.ts +11 -0
  33. package/dist/components/vertex-card.js +49 -0
  34. package/dist/components/vertex-chip.d.ts +11 -0
  35. package/dist/components/vertex-chip.js +45 -0
  36. package/dist/components/vertex-click-to-edit-textfield.d.ts +11 -0
  37. package/dist/components/vertex-click-to-edit-textfield.js +156 -0
  38. package/dist/components/vertex-collapsible.d.ts +11 -0
  39. package/dist/components/vertex-collapsible.js +63 -0
  40. package/dist/components/vertex-color-circle-picker.d.ts +11 -0
  41. package/dist/components/vertex-color-circle-picker.js +104 -0
  42. package/dist/components/vertex-color-picker.d.ts +11 -0
  43. package/dist/components/vertex-color-picker.js +75 -0
  44. package/dist/components/vertex-color-swatch.d.ts +11 -0
  45. package/dist/components/vertex-color-swatch.js +6 -0
  46. package/dist/components/vertex-context-menu.d.ts +11 -0
  47. package/dist/components/vertex-context-menu.js +125 -0
  48. package/dist/components/vertex-dialog.d.ts +11 -0
  49. package/dist/components/vertex-dialog.js +263 -0
  50. package/dist/components/vertex-draggable-popover.d.ts +11 -0
  51. package/dist/components/vertex-draggable-popover.js +119 -0
  52. package/dist/components/vertex-dropdown-menu.d.ts +11 -0
  53. package/dist/components/vertex-dropdown-menu.js +64 -0
  54. package/dist/components/vertex-expandable.d.ts +11 -0
  55. package/dist/components/vertex-expandable.js +6 -0
  56. package/dist/components/vertex-help-tooltip.d.ts +11 -0
  57. package/dist/components/vertex-help-tooltip.js +67 -0
  58. package/dist/components/vertex-icon-button.d.ts +11 -0
  59. package/dist/components/vertex-icon-button.js +6 -0
  60. package/dist/components/vertex-icon.d.ts +11 -0
  61. package/dist/components/vertex-icon.js +6 -0
  62. package/dist/components/vertex-logo-loading.d.ts +11 -0
  63. package/dist/components/vertex-logo-loading.js +34 -0
  64. package/dist/components/vertex-menu-divider.d.ts +11 -0
  65. package/dist/components/vertex-menu-divider.js +34 -0
  66. package/dist/components/vertex-menu-item.d.ts +11 -0
  67. package/dist/components/vertex-menu-item.js +44 -0
  68. package/dist/components/vertex-menu.d.ts +11 -0
  69. package/dist/components/vertex-menu.js +6 -0
  70. package/dist/components/vertex-popover.d.ts +11 -0
  71. package/dist/components/vertex-popover.js +6 -0
  72. package/dist/components/vertex-radio-group.d.ts +11 -0
  73. package/dist/components/vertex-radio-group.js +88 -0
  74. package/dist/components/vertex-radio.d.ts +11 -0
  75. package/dist/components/vertex-radio.js +56 -0
  76. package/dist/components/vertex-resizable.d.ts +11 -0
  77. package/dist/components/vertex-resizable.js +445 -0
  78. package/dist/components/vertex-result-list.d.ts +11 -0
  79. package/dist/components/vertex-result-list.js +6 -0
  80. package/dist/components/vertex-search-bar.d.ts +11 -0
  81. package/dist/components/vertex-search-bar.js +568 -0
  82. package/dist/components/vertex-select.d.ts +11 -0
  83. package/dist/components/vertex-select.js +200 -0
  84. package/dist/components/vertex-slider.d.ts +11 -0
  85. package/dist/components/vertex-slider.js +81 -0
  86. package/dist/components/vertex-spinner.d.ts +11 -0
  87. package/dist/components/vertex-spinner.js +49 -0
  88. package/dist/components/vertex-tab.d.ts +11 -0
  89. package/dist/components/vertex-tab.js +46 -0
  90. package/dist/components/vertex-tabs.d.ts +11 -0
  91. package/dist/components/vertex-tabs.js +133 -0
  92. package/dist/components/vertex-textfield.d.ts +11 -0
  93. package/dist/components/vertex-textfield.js +6 -0
  94. package/dist/components/vertex-toast.d.ts +11 -0
  95. package/dist/components/vertex-toast.js +127 -0
  96. package/dist/components/vertex-toggle.d.ts +11 -0
  97. package/dist/components/vertex-toggle.js +67 -0
  98. package/dist/components/vertex-tooltip.d.ts +11 -0
  99. package/dist/components/vertex-tooltip.js +6 -0
  100. package/package.json +2 -2
@@ -0,0 +1,68 @@
1
+ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
+ import { c as classnames } from './index2.js';
3
+
4
+ const avatarCss = ".root{width:1.875rem;height:1.875rem;font-size:var(--vertex-ui-text-xs)}.small{width:1.5rem;height:1.5rem;font-size:var(--vertex-ui-text-t)}.avatar{border-radius:50%;font-weight:var(--vertex-ui-font-weight-medium);font-family:var(--vertex-ui-font-family);color:var(--vertex-ui-blue-800);border:solid 1px var(--vertex-ui-blue-800);background-color:var(--vertex-ui-neutral-050);display:flex;align-items:center;justify-content:center;user-select:none}.avatar.value{color:var(--vertex-ui-white);border:solid 1px var(--vertex-ui-white);background-color:var(--vertex-ui-neutral-500)}.avatar.active{cursor:pointer}.avatar.active:hover{background-color:var(--vertex-ui-neutral-200)}";
5
+
6
+ const Avatar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ this.firstName = undefined;
12
+ this.lastName = undefined;
13
+ this.value = undefined;
14
+ this.active = false;
15
+ this.variant = 'default';
16
+ }
17
+ render() {
18
+ if (!this.isValidStringValue(this.firstName) &&
19
+ !this.isValidStringValue(this.value)) {
20
+ return h("div", null);
21
+ }
22
+ return (h("div", { class: classnames('avatar', {
23
+ root: this.variant === 'default',
24
+ small: this.variant === 'small',
25
+ active: this.active,
26
+ value: !this.isValidStringValue(this.firstName),
27
+ }) }, this.getDisplayValue()));
28
+ }
29
+ isValidStringValue(value) {
30
+ return value != null && value !== '';
31
+ }
32
+ getDisplayValue() {
33
+ if (this.isValidStringValue(this.firstName)) {
34
+ return this.isValidStringValue(this.lastName)
35
+ ? `${this.firstName[0]}${this.lastName[0]}`
36
+ : this.firstName[0];
37
+ }
38
+ else if (this.isValidStringValue(this.value)) {
39
+ return this.value;
40
+ }
41
+ }
42
+ static get style() { return avatarCss; }
43
+ }, [1, "vertex-avatar", {
44
+ "firstName": [1, "first-name"],
45
+ "lastName": [1, "last-name"],
46
+ "value": [1],
47
+ "active": [4],
48
+ "variant": [1]
49
+ }]);
50
+ function defineCustomElement$1() {
51
+ if (typeof customElements === "undefined") {
52
+ return;
53
+ }
54
+ const components = ["vertex-avatar"];
55
+ components.forEach(tagName => { switch (tagName) {
56
+ case "vertex-avatar":
57
+ if (!customElements.get(tagName)) {
58
+ customElements.define(tagName, Avatar);
59
+ }
60
+ break;
61
+ } });
62
+ }
63
+ defineCustomElement$1();
64
+
65
+ const VertexAvatar = Avatar;
66
+ const defineCustomElement = defineCustomElement$1;
67
+
68
+ export { Avatar as A, VertexAvatar, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface VertexBadge extends Components.VertexBadge, HTMLElement {}
4
+ export const VertexBadge: {
5
+ prototype: VertexBadge;
6
+ new (): VertexBadge;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,43 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { c as classnames } from './index2.js';
3
+
4
+ const badgeCss = ".string-overlay{width:100%;line-height:1.0rem;margin-left:5px;margin-right:5px;border-radius:10px;font-size:var(--vertex-ui-text-xxs)}.string-overlay.primary{color:var(--vertex-ui-white);background-color:var(--vertex-ui-blue-600)}.string-overlay.secondary{color:var(--vertex-ui-black);background-color:var(--vertex-ui-neutral-300)}";
5
+
6
+ const Badge = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ this.badgeText = undefined;
12
+ this.badgeColor = 'primary';
13
+ }
14
+ render() {
15
+ return (h(Host, null, h("div", { class: classnames('string-overlay', {
16
+ primary: this.badgeColor === 'primary',
17
+ secondary: this.badgeColor === 'secondary',
18
+ }) }, this.badgeText)));
19
+ }
20
+ static get style() { return badgeCss; }
21
+ }, [1, "vertex-badge", {
22
+ "badgeText": [1, "badge-text"],
23
+ "badgeColor": [1, "badge-color"]
24
+ }]);
25
+ function defineCustomElement$1() {
26
+ if (typeof customElements === "undefined") {
27
+ return;
28
+ }
29
+ const components = ["vertex-badge"];
30
+ components.forEach(tagName => { switch (tagName) {
31
+ case "vertex-badge":
32
+ if (!customElements.get(tagName)) {
33
+ customElements.define(tagName, Badge);
34
+ }
35
+ break;
36
+ } });
37
+ }
38
+ defineCustomElement$1();
39
+
40
+ const VertexBadge = Badge;
41
+ const defineCustomElement = defineCustomElement$1;
42
+
43
+ export { Badge as B, VertexBadge, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface VertexBanner extends Components.VertexBanner, HTMLElement {}
4
+ export const VertexBanner: {
5
+ prototype: VertexBanner;
6
+ new (): VertexBanner;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,141 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import { c as classnames } from './index2.js';
3
+ import { g as getSvg } from './icon-helper.js';
4
+ import { d as defineCustomElement$3 } from './icon-button.js';
5
+ import { d as defineCustomElement$2 } from './popover.js';
6
+
7
+ const bannerCss = ":host{--banner-width:auto;--banner-min-width:25rem;--banner-max-width:35rem;--banner-white-space:normal}.anchor{position:fixed}.top-left{left:24px;top:24px}.top{left:50vw;top:24px}.top-right{right:24px;top:24px}.popover{position:fixed;--open-animation-name:open-fade-in;--close-animation-name:close-fade-out}.actions{display:flex;align-items:center;margin-left:auto}.close{cursor:pointer;margin-left:16px}.close:hover{color:var(--vertex-ui-blue-500)}.banner{position:relative;display:flex;align-items:center;width:var(--banner-width);min-width:var(--banner-min-width);max-width:var(--banner-max-width);padding:16px;font-family:var(--vertex-ui-font-family);font-size:var(--vertex-ui-text-base);border-radius:4px;white-space:var(--banner-white-space);user-select:none;filter:drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));border:1px solid var(--vertex-ui-neutral-300)}.banner.hidden{pointer-events:none}.icon{display:flex;margin-right:16px;justify-content:center;align-items:center;fill:currentColor;height:1.25rem;width:1.25rem}.icon-info{color:var(--vertex-ui-blue-600)}.icon-success{color:var(--vertex-ui-green-600)}.icon-warn{color:var(--vertex-ui-orange-600)}.icon-error{color:var(--vertex-ui-red-600)}.message{align-items:center}.info{background-color:var(--vertex-ui-blue-100);color:var(--vertex-ui-neutral-800)}.success{background-color:var(--vertex-ui-green-100);color:var(--vertex-ui-neutral-800)}.warn{background-color:var(--vertex-ui-orange-100);color:var(--vertex-ui-neutral-800)}.error{background-color:var(--vertex-ui-red-100);color:var(--vertex-ui-neutral-800)}";
8
+
9
+ const DEFAULT_BANNER_DURATION = 3000;
10
+ const Banner = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
11
+ constructor() {
12
+ super();
13
+ this.__registerHost();
14
+ this.__attachShadow();
15
+ this.closed = createEvent(this, "closed", 7);
16
+ this.content = undefined;
17
+ this.placement = 'top';
18
+ this.duration = DEFAULT_BANNER_DURATION;
19
+ this.animated = true;
20
+ this.open = false;
21
+ this.type = 'info';
22
+ this.isOpen = undefined;
23
+ this.handleClose = this.handleClose.bind(this);
24
+ this.startCloseTimeout = this.startCloseTimeout.bind(this);
25
+ this.clearCloseTimeout = this.clearCloseTimeout.bind(this);
26
+ this.restartCloseTimeout = this.restartCloseTimeout.bind(this);
27
+ }
28
+ componentDidLoad() {
29
+ // This allows the component to render once initially to correctly
30
+ // place the popover anchor.
31
+ this.isOpen = this.open;
32
+ if (this.isOpen) {
33
+ this.restartCloseTimeout();
34
+ }
35
+ }
36
+ async handleOpenChanged(open) {
37
+ if (open) {
38
+ this.restartCloseTimeout();
39
+ this.isOpen = open;
40
+ }
41
+ }
42
+ render() {
43
+ return (h("vertex-popover", { class: "popover", open: this.isOpen, resizeBehavior: "fixed", backdrop: false, placement: this.getPopoverPlacement(), animated: this.animated }, h("div", { slot: "anchor", class: classnames('anchor', this.placement) }), h("div", { class: classnames('banner', {
44
+ hidden: !this.isOpen,
45
+ info: this.type === 'info',
46
+ success: this.type === 'success',
47
+ warn: this.type === 'warn',
48
+ error: this.type === 'error',
49
+ }) }, h("div", { class: classnames('icon', {
50
+ 'icon-info': this.type === 'info',
51
+ 'icon-success': this.type === 'success',
52
+ 'icon-warn': this.type === 'warn',
53
+ 'icon-error': this.type === 'error',
54
+ }) }, getSvg(this.getIconName())), this.content ? h("div", { class: "message" }, this.content) : h("slot", null), h("div", { class: "actions" }, h("slot", { name: "action" }), h("vertex-icon-button", { class: "close", iconName: "close", iconSize: "sm", variant: "plain", onClick: this.handleClose })))));
55
+ }
56
+ handleClose() {
57
+ this.clearCloseTimeout();
58
+ this.isOpen = false;
59
+ this.closed.emit();
60
+ }
61
+ startCloseTimeout() {
62
+ if (this.closeTimeout == null && this.duration > 0) {
63
+ this.closeTimeout = setTimeout(() => {
64
+ this.handleClose();
65
+ }, this.duration);
66
+ }
67
+ }
68
+ clearCloseTimeout() {
69
+ if (this.closeTimeout != null) {
70
+ clearTimeout(this.closeTimeout);
71
+ this.closeTimeout = undefined;
72
+ }
73
+ }
74
+ restartCloseTimeout() {
75
+ this.clearCloseTimeout();
76
+ this.startCloseTimeout();
77
+ }
78
+ getPopoverPlacement() {
79
+ switch (this.placement) {
80
+ case 'top-left':
81
+ return 'bottom-start';
82
+ case 'top':
83
+ return 'bottom';
84
+ case 'top-right':
85
+ return 'bottom-end';
86
+ }
87
+ }
88
+ getIconName() {
89
+ switch (this.type) {
90
+ case 'info':
91
+ return 'info';
92
+ case 'success':
93
+ return 'check-circle';
94
+ case 'warn':
95
+ return 'caution';
96
+ case 'error':
97
+ return 'error-circle';
98
+ }
99
+ }
100
+ static get watchers() { return {
101
+ "open": ["handleOpenChanged"]
102
+ }; }
103
+ static get style() { return bannerCss; }
104
+ }, [1, "vertex-banner", {
105
+ "content": [1],
106
+ "placement": [1],
107
+ "duration": [2],
108
+ "animated": [4],
109
+ "open": [4],
110
+ "type": [1],
111
+ "isOpen": [32]
112
+ }]);
113
+ function defineCustomElement$1() {
114
+ if (typeof customElements === "undefined") {
115
+ return;
116
+ }
117
+ const components = ["vertex-banner", "vertex-icon-button", "vertex-popover"];
118
+ components.forEach(tagName => { switch (tagName) {
119
+ case "vertex-banner":
120
+ if (!customElements.get(tagName)) {
121
+ customElements.define(tagName, Banner);
122
+ }
123
+ break;
124
+ case "vertex-icon-button":
125
+ if (!customElements.get(tagName)) {
126
+ defineCustomElement$3();
127
+ }
128
+ break;
129
+ case "vertex-popover":
130
+ if (!customElements.get(tagName)) {
131
+ defineCustomElement$2();
132
+ }
133
+ break;
134
+ } });
135
+ }
136
+ defineCustomElement$1();
137
+
138
+ const VertexBanner = Banner;
139
+ const defineCustomElement = defineCustomElement$1;
140
+
141
+ export { Banner as B, VertexBanner, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface VertexButton extends Components.VertexButton, HTMLElement {}
4
+ export const VertexButton: {
5
+ prototype: VertexButton;
6
+ new (): VertexButton;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,96 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { c as classnames } from './index2.js';
3
+
4
+ const buttonCss = "button{border:none;background-color:transparent;font-family:var(--vertex-ui-font-family);font-size:0.875rem;padding:0}a{text-decoration:none;font-family:var(--vertex-ui-font-family)}:host{--enabled-cursor:pointer;--disabled-cursor:not-allowed}:host([type]){-webkit-appearance:none !important}:host([disabled=\"\"]){pointer-events:none}.btn{display:flex;align-items:center;justify-content:center;border-radius:0.25rem;box-sizing:border-box;text-decoration:none;cursor:var(--enabled-cursor)}.btn-full{width:100%}.btn.disabled,.btn:not(.disabled):focus-visible,.btn:not(.disabled):active{outline:none}.btn.disabled{cursor:var(--disabled-cursor)}.btn-sm{font-size:var(--vertex-ui-text-sm)}.btn-sm:not(.btn-plaintext){padding:0 0.25rem}.btn-md{font-size:var(--vertex-ui-text-base)}.btn-md:not(.btn-plaintext){padding:0.5rem 1rem}.btn-lg{font-size:var(--vertex-ui-text-lg)}.btn-lg:not(.btn-plaintext){padding:0.75rem 0.75rem}.btn-plaintext{color:var(--vertex-ui-neutral-800)}.btn-primary{color:white;background-color:var(--vertex-ui-blue-700)}.btn-primary:not(.disabled):hover{background-color:var(--vertex-ui-blue-500)}.btn-primary:not(.disabled):focus-visible,.btn-primary:not(.disabled):active{background-color:var(--vertex-ui-blue-600)}.btn-primary:not(.disabled):focus-visible{box-shadow:0 0 0 1px var(--vertex-ui-blue-900)}.btn-primary:not(.disabled):active{box-shadow:none}.btn-primary.disabled{background-color:var(--vertex-ui-blue-200);cursor:var(--disabled-cursor)}.btn-secondary{color:var(--vertex-ui-neutral-800);background-color:var(--vertex-ui-neutral-300)}.btn-secondary:not(.disabled):hover{box-shadow:0 2px 2px rgb(0 0 0 / 20%)}.btn-secondary:not(.disabled):focus-visible,.btn-secondary:not(.disabled):active{background-color:var(--vertex-ui-neutral-400)}.btn-secondary:not(.disabled):focus-visible{box-shadow:0 0 0 1px var(--vertex-ui-neutral-900)}.btn-secondary:not(.disabled):active{box-shadow:none}.btn-secondary.disabled{background-color:var(--vertex-ui-neutral-200);color:var(--vertex-ui-neutral-400)}.btn-danger{color:white;background-color:var(--vertex-ui-red-600)}.btn-danger:not(.disabled):hover{background-color:var(--vertex-ui-red-400)}.btn-danger:not(.disabled):focus-visible{background-color:var(--vertex-ui-red-500);box-shadow:0 0 0 1px var(--vertex-ui-red-900)}.btn-danger:not(.disabled):active{background-color:var(--vertex-ui-red-600);box-shadow:none}.btn-danger.disabled{background-color:var(--vertex-ui-red-200);box-shadow:none}.btn-txt-primary{color:var(--vertex-ui-blue-600)}.btn-txt-primary:not(.disabled):hover{color:var(--vertex-ui-blue-800);background-color:var(--vertex-ui-blue-200)}.btn-txt-primary:not(.disabled):focus-visible,.btn-txt-primary:not(.disabled):active{color:var(--vertex-ui-blue-800);background-color:var(--vertex-ui-blue-300)}.btn-txt-primary:not(.disabled):focus-visible{box-shadow:0 0 0 1px var(--vertex-ui-blue-900)}.btn-txt-primary:not(.disabled):active{box-shadow:none}.btn-txt-primary.disabled{color:var(--vertex-ui-blue-300);box-shadow:none}.btn-txt-secondary{color:var(--vertex-ui-neutral-700)}.btn-txt-secondary:not(.disabled):hover,.btn-txt-secondary:not(.disabled):active,.btn-txt-secondary:not(.disabled):focus-visible{color:var(--vertex-ui-neutral-800);background-color:var(--vertex-ui-neutral-300)}.btn-txt-secondary:not(.disabled):focus-visible{box-shadow:0 0 0 1px var(--vertex-ui-neutral-900)}.btn-txt-secondary.disabled{color:var(--vertex-ui-neutral-300);box-shadow:none}.btn-txt-danger{color:var(--vertex-ui-red-600)}.btn-txt-danger:not(.disabled):focus-visible,.btn-txt-danger:not(.disabled):active,.btn-txt-danger:not(.disabled):hover{color:var(--vertex-ui-red-800)}.btn-txt-danger:not(.disabled):hover{background-color:var(--vertex-ui-red-200)}.btn-txt-danger:not(.disabled):focus-visible,.btn-txt-danger:not(.disabled):active{background-color:var(--vertex-ui-red-300)}.btn-txt-danger:not(.disabled):focus-visible{box-shadow:0 0 0 1px var(--vertex-ui-red-900)}.btn-txt-danger:not(.disabled):active{box-shadow:none}.btn-txt-danger.disabled{color:var(--vertex-ui-red-300);box-shadow:none}.btn-outline-primary{color:var(--vertex-ui-blue-600);border:1px solid var(--vertex-ui-blue-600)}.btn-outline-primary:not(.disabled):hover{color:var(--vertex-ui-blue-800);background-color:var(--vertex-ui-blue-200)}.btn-outline-primary:not(.disabled):focus-visible,.btn-outline-primary:not(.disabled):active{color:var(--vertex-ui-blue-800);background-color:var(--vertex-ui-blue-300)}.btn-outline-primary:not(.disabled):focus-visible{box-shadow:0 0 0 1px var(--vertex-ui-blue-900)}.btn-outline-primary:not(.disabled):active{box-shadow:none}.btn-outline-primary.disabled{color:var(--vertex-ui-blue-300);box-shadow:none}.btn-outline-secondary{color:var(--vertex-ui-neutral-700);border:1px solid var(--vertex-ui-neutral-700)}.btn-outline-secondary:not(.disabled):hover{box-shadow:0 2px 2px rgb(0 0 0 / 20%);background-color:var(--vertex-ui-neutral-300)}.btn-outline-secondary:not(.disabled):focus-visible,.btn-outline-secondary:not(.disabled):active{background-color:var(--vertex-ui-neutral-400)}.btn-outline-secondary:not(.disabled):focus-visible{box-shadow:0 0 0 1px var(--vertex-ui-neutral-900)}.btn-outline-secondary.disabled{color:var(--vertex-ui-neutral-300);box-shadow:none}.btn-outline-danger{color:var(--vertex-ui-red-600);border:1px solid var(--vertex-ui-red-600)}.btn-outline-danger:not(.disabled):focus-visible,.btn-outline-danger:not(.disabled):active,.btn-outline-danger:not(.disabled):hover{color:var(--vertex-ui-red-800)}.btn-outline-danger:not(.disabled):hover{background-color:var(--vertex-ui-red-200)}.btn-outline-danger:not(.disabled):focus-visible,.btn-outline-danger:not(.disabled):active{background-color:var(--vertex-ui-red-300)}.btn-outline-danger:not(.disabled):focus-visible{box-shadow:0 0 0 1px var(--vertex-ui-red-900)}.btn-outline-danger:not(.disabled):active{box-shadow:none}.btn-outline-danger.disabled{color:var(--vertex-ui-red-300);box-shadow:none}";
5
+
6
+ const Button = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ this.type = undefined;
12
+ this.color = 'secondary';
13
+ this.variant = 'solid';
14
+ this.size = 'md';
15
+ this.expand = 'block';
16
+ this.href = undefined;
17
+ this.target = undefined;
18
+ this.disabled = undefined;
19
+ }
20
+ connectedCallback() {
21
+ if (this.hostElement != null && this.type === 'submit') {
22
+ const form = this.hostElement.closest('form');
23
+ if (form != null) {
24
+ this.fakeButton = document.createElement('button');
25
+ this.fakeButton.setAttribute('type', this.type);
26
+ this.fakeButton.setAttribute('style', 'display: none');
27
+ this.fakeButton.setAttribute('data-testid', 'vertex-fake-button');
28
+ form.appendChild(this.fakeButton);
29
+ }
30
+ }
31
+ }
32
+ disconnectedCallback() {
33
+ if (this.hostElement != null && this.fakeButton != null) {
34
+ this.fakeButton.remove();
35
+ }
36
+ }
37
+ render() {
38
+ const classes = classnames('btn', {
39
+ 'btn-full': this.expand === 'full',
40
+ 'btn-sm': this.size === 'sm',
41
+ 'btn-md': this.size === 'md',
42
+ 'btn-lg': this.size === 'lg',
43
+ 'btn-primary': this.color === 'primary' && this.variant === 'solid',
44
+ 'btn-secondary': this.color === 'secondary' && this.variant === 'solid',
45
+ 'btn-danger': this.color === 'danger' && this.variant === 'solid',
46
+ 'btn-txt-primary': this.color === 'primary' && this.variant === 'text',
47
+ 'btn-txt-secondary': this.color === 'secondary' && this.variant === 'text',
48
+ 'btn-txt-danger': this.color === 'danger' && this.variant === 'text',
49
+ 'btn-outline-primary': this.color === 'primary' && this.variant === 'outline',
50
+ 'btn-outline-secondary': this.color === 'secondary' && this.variant === 'outline',
51
+ 'btn-outline-danger': this.color === 'danger' && this.variant === 'outline',
52
+ 'btn-plaintext': this.variant === 'plaintext',
53
+ disabled: this.disabled,
54
+ });
55
+ if (this.href != null && this.type != null) {
56
+ console.warn('The type attribute is ignored when href is provided');
57
+ }
58
+ return (h(Host, { style: { pointerEvents: this.disabled ? 'none' : undefined } }, this.href != null && this.href !== '' ? (h("a", { href: this.href, target: this.target, class: classes, tabIndex: this.disabled ? -1 : 0 }, h("slot", null))) : (h("button", { class: classes, disabled: this.disabled, type: this.type, onClick: (event) => this.handleClick(event) }, h("slot", { name: "left" }), h("slot", null)))));
59
+ }
60
+ handleClick(event) {
61
+ if (this.fakeButton != null) {
62
+ event.preventDefault();
63
+ this.fakeButton.click();
64
+ }
65
+ }
66
+ get hostElement() { return this; }
67
+ static get style() { return buttonCss; }
68
+ }, [1, "vertex-button", {
69
+ "type": [1],
70
+ "color": [1],
71
+ "variant": [1],
72
+ "size": [1],
73
+ "expand": [1],
74
+ "href": [1],
75
+ "target": [1],
76
+ "disabled": [516]
77
+ }]);
78
+ function defineCustomElement$1() {
79
+ if (typeof customElements === "undefined") {
80
+ return;
81
+ }
82
+ const components = ["vertex-button"];
83
+ components.forEach(tagName => { switch (tagName) {
84
+ case "vertex-button":
85
+ if (!customElements.get(tagName)) {
86
+ customElements.define(tagName, Button);
87
+ }
88
+ break;
89
+ } });
90
+ }
91
+ defineCustomElement$1();
92
+
93
+ const VertexButton = Button;
94
+ const defineCustomElement = defineCustomElement$1;
95
+
96
+ export { Button as B, VertexButton, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface VertexCardGroup extends Components.VertexCardGroup, HTMLElement {}
4
+ export const VertexCardGroup: {
5
+ prototype: VertexCardGroup;
6
+ new (): VertexCardGroup;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,51 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { c as classnames } from './index2.js';
3
+
4
+ const cardGroupCss = ":host{width:100%;height:100%;position:relative;display:inline-block;--selected-color:var(--vertex-ui-blue-700);--hovered-color:var(--vertex-ui-blue-400)}.root{position:relative}.root.selected,.root:hover{box-shadow:0 2px 4px rgba(0, 0, 0, 0.25)}.content{cursor:pointer}.selected::after{content:\" \";position:absolute;width:0.1875rem;height:100%;left:0;top:0;background-color:var(--selected-color)}.hovered::after{content:\" \";position:absolute;width:0.1875rem;height:100%;left:0;top:0;background-color:var(--hovered-color)}.expand-target{font-family:var(--vertex-ui-font-family);font-size:var(--vertex-ui-text-base);color:var(--vertex-ui-neutral-700);cursor:pointer}.expand-target slot::slotted(*){padding:0.5rem 0.5rem 0.5rem 0.75rem}.hidden{display:none}";
5
+
6
+ const CardGroup = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ this.selected = false;
12
+ this.hovered = false;
13
+ this.expanded = false;
14
+ }
15
+ render() {
16
+ return (h(Host, null, h("div", { class: classnames('root', {
17
+ selected: this.selected,
18
+ hovered: this.hovered,
19
+ }) }, h("div", { class: "content" }, h("slot", { name: "primary" })), h("div", { class: classnames({
20
+ hidden: !this.selected,
21
+ }) }, h("slot", null), h("div", { "data-testid": "expanded-content-wrapper", class: classnames({
22
+ hidden: !this.expanded,
23
+ }) }, h("slot", { name: "expanded-content" })), h("div", { "data-testid": "expanded-target-wrapper", class: classnames({
24
+ hidden: this.expanded,
25
+ }) }, h("div", { class: "expand-target" }, h("slot", { name: "expand-target" })))), h("div", { class: "action" }, h("slot", { name: "action" }))), h("slot", { name: "overlay" })));
26
+ }
27
+ static get style() { return cardGroupCss; }
28
+ }, [1, "vertex-card-group", {
29
+ "selected": [516],
30
+ "hovered": [516],
31
+ "expanded": [516]
32
+ }]);
33
+ function defineCustomElement$1() {
34
+ if (typeof customElements === "undefined") {
35
+ return;
36
+ }
37
+ const components = ["vertex-card-group"];
38
+ components.forEach(tagName => { switch (tagName) {
39
+ case "vertex-card-group":
40
+ if (!customElements.get(tagName)) {
41
+ customElements.define(tagName, CardGroup);
42
+ }
43
+ break;
44
+ } });
45
+ }
46
+ defineCustomElement$1();
47
+
48
+ const VertexCardGroup = CardGroup;
49
+ const defineCustomElement = defineCustomElement$1;
50
+
51
+ export { CardGroup as C, VertexCardGroup, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface VertexCard extends Components.VertexCard, HTMLElement {}
4
+ export const VertexCard: {
5
+ prototype: VertexCard;
6
+ new (): VertexCard;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,49 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const cardCss = ":host{width:100%;height:100%;display:flex;position:relative;--border:1px solid var(--vertex-ui-neutral-200)}.content{display:flex;flex-direction:column;width:100%;height:100%;font-family:var(--vertex-ui-font-family);font-size:var(--vertex-ui-text-base);color:var(--vertex-ui-neutral-800);border:var(--border)}.header{display:flex;align-items:center;padding:0.5rem 0.5rem 0 0.5rem}.header-text{display:flex;flex-direction:column}.text{padding:0.75rem 0.5rem 0.75rem 1rem;color:var(--vertex-ui-neutral-700);white-space:pre-line}.avatar{padding-left:0.25rem;padding-right:0.75rem}.label slot::slotted(*){font-weight:var(--vertex-ui-font-weight-bold)}.timestamp slot::slotted(*){padding-top:0.125rem;font-size:var(--vertex-ui-text-sm);color:var(--vertex-ui-neutral-500)}.action{margin-left:auto;margin-bottom:auto}.actions *::slotted(*){display:flex;justify-content:flex-end;padding:0 0.5rem 0.5rem 0.5rem}";
4
+
5
+ const Card = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.__attachShadow();
10
+ this.contentClick = createEvent(this, "contentClick", 7);
11
+ this.handleContentClick = (event) => {
12
+ this.contentClick.emit(event);
13
+ };
14
+ this.handleTextClick = (event) => {
15
+ if (this.mode === 'edit') {
16
+ event.stopImmediatePropagation();
17
+ }
18
+ else {
19
+ this.contentClick.emit(event);
20
+ }
21
+ };
22
+ this.mode = 'display';
23
+ }
24
+ render() {
25
+ return (h(Host, null, h("div", { class: "content" }, h("div", { class: "header", onClick: this.handleContentClick }, h("div", { class: "avatar" }, h("slot", { name: "avatar" })), h("div", { class: "header-text" }, h("div", { class: "label" }, h("slot", { name: "label" })), h("div", { class: "timestamp" }, h("slot", { name: "timestamp" }))), h("div", { class: "action" }, h("slot", { name: "action" }))), h("div", { class: "text", onClick: this.handleTextClick }, h("slot", null)), h("div", { class: "actions" }, h("slot", { name: "actions" }))), h("slot", { name: "overlay" })));
26
+ }
27
+ static get style() { return cardCss; }
28
+ }, [1, "vertex-card", {
29
+ "mode": [1]
30
+ }]);
31
+ function defineCustomElement$1() {
32
+ if (typeof customElements === "undefined") {
33
+ return;
34
+ }
35
+ const components = ["vertex-card"];
36
+ components.forEach(tagName => { switch (tagName) {
37
+ case "vertex-card":
38
+ if (!customElements.get(tagName)) {
39
+ customElements.define(tagName, Card);
40
+ }
41
+ break;
42
+ } });
43
+ }
44
+ defineCustomElement$1();
45
+
46
+ const VertexCard = Card;
47
+ const defineCustomElement = defineCustomElement$1;
48
+
49
+ export { Card as C, VertexCard, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface VertexChip extends Components.VertexChip, HTMLElement {}
4
+ export const VertexChip: {
5
+ prototype: VertexChip;
6
+ new (): VertexChip;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,45 @@
1
+ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
+ import { c as classnames } from './index2.js';
3
+
4
+ const chipCss = ".root{display:flex;align-items:center;width:fit-content;border-radius:16px;font-size:var(--vertex-ui-text-base);padding:0.5rem;padding-left:0.25rem;max-height:1rem}.filled{color:white}.chip-primary{color:white}.chip-secondary{color:var(--vertex-ui-neutral-800)}.filled.chip-secondary{color:var(--vertex-ui-neutral-800);background-color:var(--vertex-ui-neutral-300)}.filled.chip-primary{background-color:var(--vertex-ui-blue-700)}.outlined.chip-primary{border:1px solid var(--vertex-ui-blue-700);color:var(--vertex-ui-blue-700)}.outlined.chip-secondary{border:1px solid var(--vertex-ui-neutral-300);color:var(--vertex-ui-neutral-700)}.avatar{margin-right:0.25rem}";
5
+
6
+ const Chip = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ this.variant = 'filled';
12
+ this.color = 'secondary';
13
+ }
14
+ render() {
15
+ return (h("div", { class: classnames('root', {
16
+ filled: this.variant === 'filled',
17
+ outlined: this.variant === 'outlined',
18
+ 'chip-primary': this.color === 'primary',
19
+ 'chip-secondary': this.color === 'secondary',
20
+ }) }, h("div", { class: "avatar" }, h("slot", { name: "avatar" })), h("slot", null), h("slot", { name: "icon" })));
21
+ }
22
+ static get style() { return chipCss; }
23
+ }, [1, "vertex-chip", {
24
+ "variant": [1],
25
+ "color": [1]
26
+ }]);
27
+ function defineCustomElement$1() {
28
+ if (typeof customElements === "undefined") {
29
+ return;
30
+ }
31
+ const components = ["vertex-chip"];
32
+ components.forEach(tagName => { switch (tagName) {
33
+ case "vertex-chip":
34
+ if (!customElements.get(tagName)) {
35
+ customElements.define(tagName, Chip);
36
+ }
37
+ break;
38
+ } });
39
+ }
40
+ defineCustomElement$1();
41
+
42
+ const VertexChip = Chip;
43
+ const defineCustomElement = defineCustomElement$1;
44
+
45
+ export { Chip as C, VertexChip, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface VertexClickToEditTextfield extends Components.VertexClickToEditTextfield, HTMLElement {}
4
+ export const VertexClickToEditTextfield: {
5
+ prototype: VertexClickToEditTextfield;
6
+ new (): VertexClickToEditTextfield;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;