@limetech/lime-elements 36.0.0-next.3 → 36.0.0-next.30
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.
- package/dist/cjs/{dateFormatter-05d80b12.js → dateFormatter-d7a8d40d.js} +1 -1
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-button.cjs.entry.js +32 -16
- package/dist/cjs/limel-chip-set.cjs.entry.js +19 -11
- package/dist/cjs/limel-code-editor.cjs.entry.js +1596 -2
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
- package/dist/cjs/{limel-color-picker-palette_2.cjs.entry.js → limel-color-picker-palette.cjs.entry.js} +0 -112
- package/dist/cjs/limel-date-picker.cjs.entry.js +3 -3
- package/dist/cjs/limel-dock-button.cjs.entry.js +105 -0
- package/dist/cjs/limel-dock.cjs.entry.js +104 -0
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +2 -2
- package/dist/cjs/limel-form.cjs.entry.js +1 -1
- package/dist/cjs/limel-input-field.cjs.entry.js +13 -6
- package/dist/cjs/{limel-list_3.cjs.entry.js → limel-list_2.cjs.entry.js} +0 -2018
- package/dist/cjs/limel-popover_4.cjs.entry.js +239 -0
- package/dist/cjs/limel-portal.cjs.entry.js +2024 -0
- package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
- package/dist/cjs/limel-select.cjs.entry.js +4 -5
- package/dist/cjs/limel-table.cjs.entry.js +16 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{moment-5cfac5cd.js → moment-d1e35cdc.js} +2 -2
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/button/button.css +44 -4
- package/dist/collection/components/button/button.js +56 -20
- package/dist/collection/components/chip-set/chip-set.css +6 -2
- package/dist/collection/components/chip-set/chip-set.js +21 -13
- package/dist/collection/components/code-editor/code-editor.css +153 -1
- package/dist/collection/components/code-editor/code-editor.js +90 -2
- package/dist/collection/components/collapsible-section/collapsible-section.css +8 -7
- package/dist/collection/components/date-picker/date-picker.js +18 -1
- package/dist/collection/components/dock/dock-button/dock-button.css +77 -0
- package/dist/collection/components/dock/dock-button/dock-button.js +224 -0
- package/dist/collection/components/dock/dock.css +111 -0
- package/dist/collection/components/dock/dock.js +300 -0
- package/dist/collection/components/dock/dock.types.js +1 -0
- package/dist/collection/components/input-field/input-field.js +32 -7
- package/dist/collection/components/popover-surface/popover-surface.css +5 -4
- package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.css +14 -5
- package/dist/collection/components/select/select.css +10 -11
- package/dist/collection/components/select/select.template.js +3 -4
- package/dist/collection/components/table/columns.js +1 -0
- package/dist/collection/components/table/layout.js +8 -0
- package/dist/collection/components/table/table.css +89 -61
- package/dist/collection/components/table/table.js +45 -14
- package/dist/collection/style/internal/codemirror-tooltip.scss +19 -0
- package/dist/collection/style/mixins.scss +11 -0
- package/dist/esm/{dateFormatter-2cad0292.js → dateFormatter-784c3334.js} +1 -1
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-button.entry.js +33 -17
- package/dist/esm/limel-chip-set.entry.js +19 -11
- package/dist/esm/limel-code-editor.entry.js +1596 -2
- package/dist/esm/limel-collapsible-section.entry.js +1 -1
- package/dist/esm/{limel-color-picker-palette_2.entry.js → limel-color-picker-palette.entry.js} +2 -113
- package/dist/esm/limel-date-picker.entry.js +3 -3
- package/dist/esm/limel-dock-button.entry.js +101 -0
- package/dist/esm/limel-dock.entry.js +100 -0
- package/dist/esm/limel-flatpickr-adapter.entry.js +2 -2
- package/dist/esm/limel-form.entry.js +1 -1
- package/dist/esm/limel-input-field.entry.js +13 -6
- package/dist/esm/{limel-list_3.entry.js → limel-list_2.entry.js} +1 -2018
- package/dist/esm/limel-popover_4.entry.js +232 -0
- package/dist/esm/limel-portal.entry.js +2020 -0
- package/dist/esm/limel-progress-flow-item.entry.js +1 -1
- package/dist/esm/limel-select.entry.js +4 -5
- package/dist/esm/limel-table.entry.js +17 -5
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{moment-367e51c5.js → moment-faa8a4a8.js} +2 -2
- package/dist/lime-elements/lime-elements.css +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/p-009de50e.entry.js +1 -0
- package/dist/lime-elements/{p-7e571ec6.entry.js → p-0ba0c38a.entry.js} +1 -1
- package/dist/lime-elements/p-0e87d44d.entry.js +1 -0
- package/dist/lime-elements/p-1390fdcb.entry.js +126 -0
- package/dist/lime-elements/{p-08251941.entry.js → p-19f72dab.entry.js} +1 -1
- package/dist/lime-elements/p-3cf4aae0.entry.js +1 -0
- package/dist/lime-elements/p-5ef52589.entry.js +1 -0
- package/dist/lime-elements/p-63a57d32.entry.js +1 -0
- package/dist/lime-elements/p-653faf47.entry.js +1 -0
- package/dist/lime-elements/{p-d76f896d.js → p-73df4d83.js} +1 -1
- package/dist/lime-elements/p-93cd2268.entry.js +1 -0
- package/dist/lime-elements/p-93f42a32.entry.js +1 -0
- package/dist/lime-elements/p-945afca2.js +3 -0
- package/dist/lime-elements/p-b0e54dc2.entry.js +1 -0
- package/dist/lime-elements/{p-af0ec482.entry.js → p-c544c05b.entry.js} +1 -1
- package/dist/lime-elements/p-c89f2b52.entry.js +1 -0
- package/dist/lime-elements/p-cb8db8c2.entry.js +37 -0
- package/dist/lime-elements/p-f41567a1.entry.js +1 -0
- package/dist/lime-elements/p-f5df4d4f.entry.js +1 -0
- package/dist/lime-elements/style/internal/codemirror-tooltip.scss +19 -0
- package/dist/lime-elements/style/mixins.scss +11 -0
- package/dist/types/components/button/button.d.ts +10 -3
- package/dist/types/components/chip-set/chip-set.d.ts +3 -2
- package/dist/types/components/code-editor/code-editor.d.ts +14 -0
- package/dist/types/components/date-picker/date-picker.d.ts +4 -0
- package/dist/types/components/dock/dock-button/dock-button.d.ts +52 -0
- package/dist/types/components/dock/dock.d.ts +83 -0
- package/dist/types/components/dock/dock.types.d.ts +53 -0
- package/dist/types/components/input-field/input-field.d.ts +6 -0
- package/dist/types/components/table/layout.d.ts +2 -0
- package/dist/types/components/table/table.d.ts +16 -1
- package/dist/types/components/table/table.types.d.ts +4 -0
- package/dist/types/components.d.ts +176 -0
- package/dist/types/interface.d.ts +1 -0
- package/package.json +5 -4
- package/dist/cjs/limel-popover-surface.cjs.entry.js +0 -32
- package/dist/cjs/limel-tooltip_2.cjs.entry.js +0 -102
- package/dist/esm/limel-popover-surface.entry.js +0 -28
- package/dist/esm/limel-tooltip_2.entry.js +0 -97
- package/dist/lime-elements/p-1e59114e.entry.js +0 -1
- package/dist/lime-elements/p-22569fb6.entry.js +0 -1
- package/dist/lime-elements/p-3af5f9ad.js +0 -3
- package/dist/lime-elements/p-404e1465.entry.js +0 -1
- package/dist/lime-elements/p-5ad60e14.entry.js +0 -126
- package/dist/lime-elements/p-6966b5df.entry.js +0 -1
- package/dist/lime-elements/p-705334c1.entry.js +0 -1
- package/dist/lime-elements/p-75152d89.entry.js +0 -1
- package/dist/lime-elements/p-7ee4b825.entry.js +0 -1
- package/dist/lime-elements/p-87453b45.entry.js +0 -1
- package/dist/lime-elements/p-97d6c4a6.entry.js +0 -1
- package/dist/lime-elements/p-b95e80c9.entry.js +0 -1
- package/dist/lime-elements/p-d1ee4501.entry.js +0 -37
|
@@ -114,7 +114,7 @@ export class DatePicker {
|
|
|
114
114
|
}
|
|
115
115
|
const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
|
|
116
116
|
return [
|
|
117
|
-
h("limel-input-field", Object.assign({ disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, label: this.label, helperText: this.helperText, required: this.required, value: this.formattedValue, onFocus: this.showCalendar, onBlur: this.hideCalendar, onClick: this.onInputClick, onChange: this.handleInputElementChange, ref: (el) => (this.textField = el) }, inputProps)),
|
|
117
|
+
h("limel-input-field", Object.assign({ disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, label: this.label, placeholder: this.placeholder, helperText: this.helperText, required: this.required, value: this.formattedValue, onFocus: this.showCalendar, onBlur: this.hideCalendar, onClick: this.onInputClick, onChange: this.handleInputElementChange, ref: (el) => (this.textField = el) }, inputProps)),
|
|
118
118
|
h("limel-portal", { containerId: this.portalId, visible: this.showPortal, containerStyle: { 'z-index': dropdownZIndex } },
|
|
119
119
|
h("limel-flatpickr-adapter", { format: this.internalFormat, language: this.language, type: this.type, value: this.value, ref: (el) => (this.datePickerCalendar = el), isOpen: this.showPortal, onChange: this.handleCalendarChange })),
|
|
120
120
|
];
|
|
@@ -298,6 +298,23 @@ export class DatePicker {
|
|
|
298
298
|
"attribute": "label",
|
|
299
299
|
"reflect": true
|
|
300
300
|
},
|
|
301
|
+
"placeholder": {
|
|
302
|
+
"type": "string",
|
|
303
|
+
"mutable": false,
|
|
304
|
+
"complexType": {
|
|
305
|
+
"original": "string",
|
|
306
|
+
"resolved": "string",
|
|
307
|
+
"references": {}
|
|
308
|
+
},
|
|
309
|
+
"required": false,
|
|
310
|
+
"optional": false,
|
|
311
|
+
"docs": {
|
|
312
|
+
"tags": [],
|
|
313
|
+
"text": "The placeholder text shown inside the input field, when the field is focused and empty"
|
|
314
|
+
},
|
|
315
|
+
"attribute": "placeholder",
|
|
316
|
+
"reflect": true
|
|
317
|
+
},
|
|
301
318
|
"helperText": {
|
|
302
319
|
"type": "string",
|
|
303
320
|
"mutable": false,
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is imported into every component!
|
|
3
|
+
*
|
|
4
|
+
* Nothing in this file may output any CSS
|
|
5
|
+
* without being explicitly called by outside code.
|
|
6
|
+
*/
|
|
7
|
+
/*
|
|
8
|
+
* This file is imported into every component!
|
|
9
|
+
*
|
|
10
|
+
* Nothing in this file may output any CSS
|
|
11
|
+
* without being explicitly used by outside code.
|
|
12
|
+
*/
|
|
13
|
+
.button {
|
|
14
|
+
all: unset;
|
|
15
|
+
cursor: pointer;
|
|
16
|
+
transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
|
|
17
|
+
box-sizing: border-box;
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
position: relative;
|
|
21
|
+
width: 100%;
|
|
22
|
+
height: var(--dock-item-height);
|
|
23
|
+
border-radius: 0.375rem;
|
|
24
|
+
font-size: 0.875rem;
|
|
25
|
+
padding: 0 0.5rem;
|
|
26
|
+
min-width: var(--dock-item-height);
|
|
27
|
+
color: var(--limel-dock-item-text-color);
|
|
28
|
+
background-color: var(--dock-background-color);
|
|
29
|
+
}
|
|
30
|
+
.button:hover {
|
|
31
|
+
box-shadow: var(--button-shadow-hovered);
|
|
32
|
+
}
|
|
33
|
+
.button:active {
|
|
34
|
+
box-shadow: var(--button-shadow-pressed);
|
|
35
|
+
transform: translate3d(0, 0.08rem, 0);
|
|
36
|
+
}
|
|
37
|
+
.button:focus {
|
|
38
|
+
outline: none;
|
|
39
|
+
}
|
|
40
|
+
.button:focus-visible {
|
|
41
|
+
outline: none;
|
|
42
|
+
box-shadow: var(--shadow-depth-8-focused);
|
|
43
|
+
}
|
|
44
|
+
.button:hover {
|
|
45
|
+
z-index: 1;
|
|
46
|
+
}
|
|
47
|
+
.button.selected {
|
|
48
|
+
color: var(--limel-dock-item-text-color--selected);
|
|
49
|
+
background-color: var(--dock-item-background-color--selected, rgb(var(--contrast-200)));
|
|
50
|
+
box-shadow: var(--button-shadow-inset);
|
|
51
|
+
}
|
|
52
|
+
.button.selected:focus-visible {
|
|
53
|
+
box-shadow: var(--button-shadow-inset), var(--shadow-depth-8-focused);
|
|
54
|
+
}
|
|
55
|
+
.button.selected .icon {
|
|
56
|
+
color: var(--limel-dock-item-text--selected);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
limel-popover {
|
|
60
|
+
display: grid;
|
|
61
|
+
grid-template-columns: 100%;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.text {
|
|
65
|
+
overflow: hidden;
|
|
66
|
+
white-space: nowrap;
|
|
67
|
+
text-overflow: ellipsis;
|
|
68
|
+
padding-left: 0.5rem;
|
|
69
|
+
padding-right: 0.75rem;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.icon {
|
|
73
|
+
flex-shrink: 0;
|
|
74
|
+
width: calc(var(--dock-item-height) - 1rem);
|
|
75
|
+
height: calc(var(--dock-item-height) - 1rem);
|
|
76
|
+
color: var(--dock-item-icon-color, var(--limel-dock-item-text-color));
|
|
77
|
+
}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import { Component, Event, h, Prop, State, Watch, } from '@stencil/core';
|
|
2
|
+
import { createRandomString } from '../../../util/random-string';
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
export class DockButton {
|
|
7
|
+
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* When the dock is expanded or collapsed, dock items
|
|
10
|
+
* show labels and tooltips as suitable for the layout.
|
|
11
|
+
*/
|
|
12
|
+
this.expanded = false;
|
|
13
|
+
/**
|
|
14
|
+
* When dock is using mobile layout, dock items
|
|
15
|
+
* show labels and tooltips as suitable for the layout.
|
|
16
|
+
*/
|
|
17
|
+
this.useMobileLayout = false;
|
|
18
|
+
/**
|
|
19
|
+
* Indicated whether the popover that renders a component is open.
|
|
20
|
+
*/
|
|
21
|
+
this.isOpen = false;
|
|
22
|
+
this.openPopover = (event) => {
|
|
23
|
+
event.stopPropagation();
|
|
24
|
+
this.isOpen = true;
|
|
25
|
+
this.menuOpen.emit(this.item);
|
|
26
|
+
};
|
|
27
|
+
this.setCustomComponentElement = (element) => {
|
|
28
|
+
this.customComponentElement = element;
|
|
29
|
+
};
|
|
30
|
+
this.onPopoverClose = () => {
|
|
31
|
+
this.isOpen = false;
|
|
32
|
+
this.close.emit();
|
|
33
|
+
};
|
|
34
|
+
this.handleClick = (event) => {
|
|
35
|
+
event.stopPropagation();
|
|
36
|
+
this.itemSelected.emit(this.item);
|
|
37
|
+
};
|
|
38
|
+
this.focusCustomComponentElement = () => {
|
|
39
|
+
var _a, _b, _c;
|
|
40
|
+
if ((_b = (_a = this.customComponentElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.delegatesFocus) {
|
|
41
|
+
(_c = this.customComponentElement) === null || _c === void 0 ? void 0 : _c.focus();
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
this.tooltipId = createRandomString();
|
|
45
|
+
}
|
|
46
|
+
render() {
|
|
47
|
+
var _a, _b;
|
|
48
|
+
if ((_b = (_a = this.item) === null || _a === void 0 ? void 0 : _a.dockMenu) === null || _b === void 0 ? void 0 : _b.componentName) {
|
|
49
|
+
return this.renderPopover();
|
|
50
|
+
}
|
|
51
|
+
return this.renderButton(this.handleClick);
|
|
52
|
+
}
|
|
53
|
+
openWatcher() {
|
|
54
|
+
if (!this.isOpen) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const observer = new IntersectionObserver(this.focusCustomComponentElement);
|
|
58
|
+
observer.observe(this.customComponentElement);
|
|
59
|
+
}
|
|
60
|
+
renderPopover() {
|
|
61
|
+
var _a;
|
|
62
|
+
const CustomComponent = (_a = this.item) === null || _a === void 0 ? void 0 : _a.dockMenu.componentName;
|
|
63
|
+
return (h("limel-popover", { openDirection: this.useMobileLayout ? 'top' : 'right', open: this.isOpen || this.item.dockMenu.menuOpen, onClose: this.onPopoverClose },
|
|
64
|
+
this.renderButton(this.openPopover, 'trigger'),
|
|
65
|
+
h(CustomComponent, Object.assign({ ref: this.setCustomComponentElement }, (this.item.dockMenu.props || {}), { onClose: this.onPopoverClose }))));
|
|
66
|
+
}
|
|
67
|
+
renderButton(handleClick, slot) {
|
|
68
|
+
var _a;
|
|
69
|
+
return (h("button", { slot: slot, tabindex: "0", id: this.tooltipId, type: "button", class: {
|
|
70
|
+
button: true,
|
|
71
|
+
selected: (_a = this.item) === null || _a === void 0 ? void 0 : _a.selected,
|
|
72
|
+
}, onClick: handleClick },
|
|
73
|
+
this.renderIcon(),
|
|
74
|
+
this.renderLabel(),
|
|
75
|
+
this.renderTooltip()));
|
|
76
|
+
}
|
|
77
|
+
renderIcon() {
|
|
78
|
+
if (!this.item.icon) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
return h("limel-icon", { name: this.item.icon, class: "icon" });
|
|
82
|
+
}
|
|
83
|
+
renderLabel() {
|
|
84
|
+
if (this.expanded) {
|
|
85
|
+
return h("span", { class: "text" }, this.item.label);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
renderTooltip() {
|
|
89
|
+
if (!this.expanded && this.item.label) {
|
|
90
|
+
return (h("limel-tooltip", { elementId: this.tooltipId, label: this.item.label, helperLabel: this.item.helperLabel }));
|
|
91
|
+
}
|
|
92
|
+
if (this.expanded && this.item.helperLabel) {
|
|
93
|
+
return (h("limel-tooltip", { elementId: this.tooltipId, label: this.item.helperLabel }));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
static get is() { return "limel-dock-button"; }
|
|
97
|
+
static get originalStyleUrls() { return {
|
|
98
|
+
"$": ["dock-button.scss"]
|
|
99
|
+
}; }
|
|
100
|
+
static get styleUrls() { return {
|
|
101
|
+
"$": ["dock-button.css"]
|
|
102
|
+
}; }
|
|
103
|
+
static get properties() { return {
|
|
104
|
+
"item": {
|
|
105
|
+
"type": "unknown",
|
|
106
|
+
"mutable": false,
|
|
107
|
+
"complexType": {
|
|
108
|
+
"original": "DockItem",
|
|
109
|
+
"resolved": "DockItem",
|
|
110
|
+
"references": {
|
|
111
|
+
"DockItem": {
|
|
112
|
+
"location": "import",
|
|
113
|
+
"path": "../dock.types"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"required": true,
|
|
118
|
+
"optional": false,
|
|
119
|
+
"docs": {
|
|
120
|
+
"tags": [],
|
|
121
|
+
"text": "Item that is placed in the dock."
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"expanded": {
|
|
125
|
+
"type": "boolean",
|
|
126
|
+
"mutable": false,
|
|
127
|
+
"complexType": {
|
|
128
|
+
"original": "boolean",
|
|
129
|
+
"resolved": "boolean",
|
|
130
|
+
"references": {}
|
|
131
|
+
},
|
|
132
|
+
"required": false,
|
|
133
|
+
"optional": true,
|
|
134
|
+
"docs": {
|
|
135
|
+
"tags": [],
|
|
136
|
+
"text": "When the dock is expanded or collapsed, dock items\nshow labels and tooltips as suitable for the layout."
|
|
137
|
+
},
|
|
138
|
+
"attribute": "expanded",
|
|
139
|
+
"reflect": true,
|
|
140
|
+
"defaultValue": "false"
|
|
141
|
+
},
|
|
142
|
+
"useMobileLayout": {
|
|
143
|
+
"type": "boolean",
|
|
144
|
+
"mutable": false,
|
|
145
|
+
"complexType": {
|
|
146
|
+
"original": "boolean",
|
|
147
|
+
"resolved": "boolean",
|
|
148
|
+
"references": {}
|
|
149
|
+
},
|
|
150
|
+
"required": false,
|
|
151
|
+
"optional": true,
|
|
152
|
+
"docs": {
|
|
153
|
+
"tags": [],
|
|
154
|
+
"text": "When dock is using mobile layout, dock items\nshow labels and tooltips as suitable for the layout."
|
|
155
|
+
},
|
|
156
|
+
"attribute": "use-mobile-layout",
|
|
157
|
+
"reflect": true,
|
|
158
|
+
"defaultValue": "false"
|
|
159
|
+
}
|
|
160
|
+
}; }
|
|
161
|
+
static get states() { return {
|
|
162
|
+
"isOpen": {}
|
|
163
|
+
}; }
|
|
164
|
+
static get events() { return [{
|
|
165
|
+
"method": "itemSelected",
|
|
166
|
+
"name": "itemSelected",
|
|
167
|
+
"bubbles": true,
|
|
168
|
+
"cancelable": true,
|
|
169
|
+
"composed": true,
|
|
170
|
+
"docs": {
|
|
171
|
+
"tags": [],
|
|
172
|
+
"text": "Fired when a dock item has been selected from the dock."
|
|
173
|
+
},
|
|
174
|
+
"complexType": {
|
|
175
|
+
"original": "DockItem",
|
|
176
|
+
"resolved": "DockItem",
|
|
177
|
+
"references": {
|
|
178
|
+
"DockItem": {
|
|
179
|
+
"location": "import",
|
|
180
|
+
"path": "../dock.types"
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}, {
|
|
185
|
+
"method": "menuOpen",
|
|
186
|
+
"name": "menuOpen",
|
|
187
|
+
"bubbles": true,
|
|
188
|
+
"cancelable": true,
|
|
189
|
+
"composed": true,
|
|
190
|
+
"docs": {
|
|
191
|
+
"tags": [],
|
|
192
|
+
"text": "Fired when a dock menu is opened."
|
|
193
|
+
},
|
|
194
|
+
"complexType": {
|
|
195
|
+
"original": "DockItem",
|
|
196
|
+
"resolved": "DockItem",
|
|
197
|
+
"references": {
|
|
198
|
+
"DockItem": {
|
|
199
|
+
"location": "import",
|
|
200
|
+
"path": "../dock.types"
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}, {
|
|
205
|
+
"method": "close",
|
|
206
|
+
"name": "close",
|
|
207
|
+
"bubbles": true,
|
|
208
|
+
"cancelable": true,
|
|
209
|
+
"composed": true,
|
|
210
|
+
"docs": {
|
|
211
|
+
"tags": [],
|
|
212
|
+
"text": "Fired when the popover is closed."
|
|
213
|
+
},
|
|
214
|
+
"complexType": {
|
|
215
|
+
"original": "void",
|
|
216
|
+
"resolved": "void",
|
|
217
|
+
"references": {}
|
|
218
|
+
}
|
|
219
|
+
}]; }
|
|
220
|
+
static get watchers() { return [{
|
|
221
|
+
"propName": "isOpen",
|
|
222
|
+
"methodName": "openWatcher"
|
|
223
|
+
}]; }
|
|
224
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is imported into every component!
|
|
3
|
+
*
|
|
4
|
+
* Nothing in this file may output any CSS
|
|
5
|
+
* without being explicitly called by outside code.
|
|
6
|
+
*/
|
|
7
|
+
/*
|
|
8
|
+
* This file is imported into every component!
|
|
9
|
+
*
|
|
10
|
+
* Nothing in this file may output any CSS
|
|
11
|
+
* without being explicitly used by outside code.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* @prop --dock-expanded-max-width: The maximum width of the Dock when it is expanded. Defaults to `max-content` which means the Dock will adjust its width to the widest dock item.
|
|
15
|
+
* @prop --dock-background-color: Background color of the whole component, defaults to `--contrast-100`.
|
|
16
|
+
* @prop --dock-item-background-color--selected: Background color of selected dock item, defaults to `--contrast-200`.
|
|
17
|
+
* @prop --dock-item-text-color: Text of dock items, defaults to `--contrast-1100`.
|
|
18
|
+
* @prop --dock-item-text-color--selected: Text color of selected dock item, defaults to `--contrast-1300`.
|
|
19
|
+
* @prop --dock-item-icon-color: Color of the optional icons used in each dock item. Only affects inactive dock items, defaults to text colors for default or selected states.
|
|
20
|
+
* @prop --popover-surface-width: Defines the width of the popover that is opened for dock items with custom components. Defaults to `auto`.
|
|
21
|
+
*/
|
|
22
|
+
:host(limel-dock) {
|
|
23
|
+
--dock-item-height: 2.75rem;
|
|
24
|
+
--dock-padding: 0.25rem;
|
|
25
|
+
--dock-expand-shrink-button-height: 1rem;
|
|
26
|
+
--limel-dock-item-text-color: var(
|
|
27
|
+
--dock-item-text-color,
|
|
28
|
+
rgb(var(--contrast-1100))
|
|
29
|
+
);
|
|
30
|
+
--limel-dock-item-text-color--selected: var(
|
|
31
|
+
--dock-item-text-color--selected,
|
|
32
|
+
rgb(var(--contrast-1300))
|
|
33
|
+
);
|
|
34
|
+
isolation: isolate;
|
|
35
|
+
position: relative;
|
|
36
|
+
display: inline-flex;
|
|
37
|
+
flex-direction: column;
|
|
38
|
+
background-color: var(--dock-background-color, rgb(var(--contrast-100)));
|
|
39
|
+
box-shadow: 0.1875rem 0 0.375rem -0.125rem rgba(var(--color-black), 0.15), 0.1875rem 0 0.625rem -0.125rem rgba(var(--color-black), 0.05);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
:host(limel-dock:not(.has-mobile-layout)) {
|
|
43
|
+
height: 100%;
|
|
44
|
+
width: calc(var(--dock-padding) * 2 + var(--dock-item-height));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
:host(limel-dock.expanded) {
|
|
48
|
+
width: var(--dock-expanded-max-width, max-content);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.footer-separator {
|
|
52
|
+
margin-top: auto;
|
|
53
|
+
justify-self: flex-end;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
nav {
|
|
57
|
+
box-sizing: border-box;
|
|
58
|
+
display: inline-flex;
|
|
59
|
+
flex-direction: column;
|
|
60
|
+
gap: 0.375rem;
|
|
61
|
+
flex-grow: 1;
|
|
62
|
+
padding: var(--dock-padding);
|
|
63
|
+
overflow-y: auto;
|
|
64
|
+
scrollbar-width: none;
|
|
65
|
+
-ms-overflow-style: none;
|
|
66
|
+
}
|
|
67
|
+
nav::-webkit-scrollbar {
|
|
68
|
+
display: none;
|
|
69
|
+
}
|
|
70
|
+
:host(limel-dock.has-mobile-layout) nav {
|
|
71
|
+
justify-content: space-between;
|
|
72
|
+
flex-direction: row;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.expand-shrink {
|
|
76
|
+
all: unset;
|
|
77
|
+
box-sizing: border-box;
|
|
78
|
+
transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
|
|
79
|
+
cursor: pointer;
|
|
80
|
+
display: flex;
|
|
81
|
+
justify-content: center;
|
|
82
|
+
align-items: center;
|
|
83
|
+
height: var(--dock-expand-shrink-button-height);
|
|
84
|
+
padding: 0 0.5rem;
|
|
85
|
+
margin: var(--dock-padding);
|
|
86
|
+
border-radius: 0.375rem;
|
|
87
|
+
}
|
|
88
|
+
.expand-shrink:hover {
|
|
89
|
+
box-shadow: var(--button-shadow-hovered);
|
|
90
|
+
}
|
|
91
|
+
.expand-shrink:active {
|
|
92
|
+
box-shadow: var(--button-shadow-pressed);
|
|
93
|
+
transform: translate3d(0, 0.08rem, 0);
|
|
94
|
+
}
|
|
95
|
+
.expand-shrink:focus {
|
|
96
|
+
outline: none;
|
|
97
|
+
}
|
|
98
|
+
.expand-shrink:focus-visible {
|
|
99
|
+
outline: none;
|
|
100
|
+
box-shadow: var(--shadow-depth-8-focused);
|
|
101
|
+
}
|
|
102
|
+
.expand-shrink.expanded {
|
|
103
|
+
justify-content: flex-end;
|
|
104
|
+
}
|
|
105
|
+
.expand-shrink.expanded limel-icon {
|
|
106
|
+
transform: rotateY(180deg);
|
|
107
|
+
}
|
|
108
|
+
.expand-shrink limel-icon {
|
|
109
|
+
width: calc(var(--dock-expand-shrink-button-height) - 0.25rem);
|
|
110
|
+
color: var(--dock-item-icon-color, var(--limel-dock-item-text-color));
|
|
111
|
+
}
|