@limetech/lime-elements 36.3.0-next.2 → 36.3.0-next.21

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 (121) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-badge.cjs.entry.js +1 -1
  4. package/dist/cjs/limel-button.cjs.entry.js +1 -2
  5. package/dist/cjs/limel-chip-set.cjs.entry.js +1 -1
  6. package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
  7. package/dist/cjs/limel-date-picker.cjs.entry.js +47 -7
  8. package/dist/cjs/limel-dock-button.cjs.entry.js +7 -2
  9. package/dist/cjs/limel-dock.cjs.entry.js +1 -1
  10. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +11 -8
  11. package/dist/cjs/limel-form.cjs.entry.js +79 -1
  12. package/dist/cjs/limel-header.cjs.entry.js +2 -2
  13. package/dist/cjs/limel-info-tile.cjs.entry.js +4 -1
  14. package/dist/cjs/limel-input-field.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-slider.cjs.entry.js +1 -1
  16. package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-switch.cjs.entry.js +1 -1
  18. package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
  19. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  20. package/dist/cjs/loader.cjs.js +1 -1
  21. package/dist/cjs/{dateFormatter-d7a8d40d.js → sv-dffe48b5.js} +222 -173
  22. package/dist/collection/components/badge/badge.css +1 -1
  23. package/dist/collection/components/badge/badge.js +4 -2
  24. package/dist/collection/components/button/button.css +16 -13
  25. package/dist/collection/components/button/button.js +4 -5
  26. package/dist/collection/components/chip-set/chip-set.css +3 -0
  27. package/dist/collection/components/chip-set/chip-set.js +1 -1
  28. package/dist/collection/components/collapsible-section/collapsible-section.css +1 -0
  29. package/dist/collection/components/date-picker/date-picker.js +30 -5
  30. package/dist/collection/components/date-picker/dateFormatter.js +7 -3
  31. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +22 -1
  32. package/dist/collection/components/date-picker/pickers/Picker.js +11 -8
  33. package/dist/collection/components/dock/dock-button/dock-button.css +8 -1
  34. package/dist/collection/components/dock/dock-button/dock-button.js +6 -1
  35. package/dist/collection/components/dock/dock.css +2 -0
  36. package/dist/collection/components/dock/dock.js +1 -0
  37. package/dist/collection/components/file/file.js +1 -1
  38. package/dist/collection/components/form/form.css +91 -4
  39. package/dist/collection/components/form/form.js +1 -0
  40. package/dist/collection/components/form/form.types.js +8 -0
  41. package/dist/collection/components/form/row/row.js +47 -0
  42. package/dist/collection/components/form/templates/object-field.js +5 -0
  43. package/dist/collection/components/form/templates/row-layout.js +20 -0
  44. package/dist/collection/components/header/header.css +2 -2
  45. package/dist/collection/components/header/header.js +8 -2
  46. package/dist/collection/components/info-tile/info-tile.css +1 -1
  47. package/dist/collection/components/info-tile/info-tile.js +3 -0
  48. package/dist/collection/components/input-field/input-field.css +2 -0
  49. package/dist/collection/components/slider/slider.css +1 -0
  50. package/dist/collection/components/snackbar/snackbar.js +1 -1
  51. package/dist/collection/components/split-button/split-button.css +8 -0
  52. package/dist/collection/components/switch/switch.css +1 -0
  53. package/dist/collection/components/tab-bar/tab-bar.css +13 -5
  54. package/dist/collection/components/tab-panel/tab-panel.css +5 -0
  55. package/dist/collection/style/internal/shared_input-select-picker.scss +4 -0
  56. package/dist/collection/style/internal/z-index.scss +0 -1
  57. package/dist/esm/lime-elements.js +1 -1
  58. package/dist/esm/limel-badge.entry.js +1 -1
  59. package/dist/esm/limel-button.entry.js +1 -2
  60. package/dist/esm/limel-chip-set.entry.js +1 -1
  61. package/dist/esm/limel-collapsible-section.entry.js +1 -1
  62. package/dist/esm/limel-date-picker.entry.js +46 -6
  63. package/dist/esm/limel-dock-button.entry.js +7 -2
  64. package/dist/esm/limel-dock.entry.js +1 -1
  65. package/dist/esm/limel-flatpickr-adapter.entry.js +11 -8
  66. package/dist/esm/limel-form.entry.js +79 -1
  67. package/dist/esm/limel-header.entry.js +2 -2
  68. package/dist/esm/limel-info-tile.entry.js +4 -1
  69. package/dist/esm/limel-input-field.entry.js +1 -1
  70. package/dist/esm/limel-slider.entry.js +1 -1
  71. package/dist/esm/limel-split-button.entry.js +1 -1
  72. package/dist/esm/limel-switch.entry.js +1 -1
  73. package/dist/esm/limel-tab-bar.entry.js +1 -1
  74. package/dist/esm/limel-tab-panel.entry.js +1 -1
  75. package/dist/esm/loader.js +1 -1
  76. package/dist/esm/{dateFormatter-784c3334.js → sv-336c4576.js} +222 -173
  77. package/dist/lime-elements/lime-elements.esm.js +1 -1
  78. package/dist/lime-elements/p-004aad18.entry.js +1 -0
  79. package/dist/lime-elements/p-079921e9.entry.js +16 -0
  80. package/dist/lime-elements/{p-8ca53aa2.entry.js → p-15c3ec8e.entry.js} +1 -1
  81. package/dist/lime-elements/p-3a7b55ce.entry.js +1 -0
  82. package/dist/lime-elements/{p-06f2f6b4.entry.js → p-3fda3473.entry.js} +1 -1
  83. package/dist/lime-elements/{p-73df4d83.js → p-4dd9a5a5.js} +5 -3
  84. package/dist/lime-elements/{p-524bd0cc.entry.js → p-5393213b.entry.js} +1 -1
  85. package/dist/lime-elements/{p-e5213a54.entry.js → p-55c8cb64.entry.js} +4 -4
  86. package/dist/lime-elements/p-6980ef7f.entry.js +1 -0
  87. package/dist/lime-elements/{p-d379f4d6.entry.js → p-8c4e3b46.entry.js} +1 -1
  88. package/dist/lime-elements/{p-5f13035a.entry.js → p-95cefb5f.entry.js} +1 -1
  89. package/dist/lime-elements/p-b40f37d7.entry.js +1 -0
  90. package/dist/lime-elements/{p-a94e949f.entry.js → p-c6e913a4.entry.js} +1 -1
  91. package/dist/lime-elements/{p-91604294.entry.js → p-d51892ae.entry.js} +1 -1
  92. package/dist/lime-elements/{p-d9c96100.entry.js → p-dcf88b3e.entry.js} +1 -1
  93. package/dist/lime-elements/{p-65a3be2c.entry.js → p-e479f165.entry.js} +1 -1
  94. package/dist/lime-elements/p-e768eab3.entry.js +1 -0
  95. package/dist/lime-elements/{p-864db270.entry.js → p-ff340a70.entry.js} +1 -1
  96. package/dist/lime-elements/style/internal/shared_input-select-picker.scss +4 -0
  97. package/dist/lime-elements/style/internal/z-index.scss +0 -1
  98. package/dist/types/components/badge/badge.d.ts +4 -2
  99. package/dist/types/components/button/button.d.ts +4 -6
  100. package/dist/types/components/date-picker/date-picker.d.ts +10 -0
  101. package/dist/types/components/date-picker/date.types.d.ts +1 -1
  102. package/dist/types/components/date-picker/dateFormatter.d.ts +3 -2
  103. package/dist/types/components/date-picker/flatpickr-adapter/flatpickr-adapter.d.ts +1 -0
  104. package/dist/types/components/date-picker/pickers/Picker.d.ts +4 -2
  105. package/dist/types/components/dock/dock-button/dock-button.d.ts +1 -0
  106. package/dist/types/components/dock/dock.d.ts +1 -0
  107. package/dist/types/components/dock/dock.types.d.ts +4 -0
  108. package/dist/types/components/form/form.d.ts +1 -0
  109. package/dist/types/components/form/form.types.d.ts +16 -1
  110. package/dist/types/components/form/row/row.d.ts +16 -0
  111. package/dist/types/components/form/templates/row-layout.d.ts +11 -0
  112. package/dist/types/components/form/templates/types.d.ts +3 -0
  113. package/dist/types/components/header/header.d.ts +7 -1
  114. package/dist/types/components.d.ts +13 -3
  115. package/package.json +16 -17
  116. package/dist/lime-elements/p-61b3352f.entry.js +0 -1
  117. package/dist/lime-elements/p-c4a89055.entry.js +0 -16
  118. package/dist/lime-elements/p-c6c37de3.entry.js +0 -1
  119. package/dist/lime-elements/p-cc9f89a9.entry.js +0 -1
  120. package/dist/lime-elements/p-d512656b.entry.js +0 -1
  121. package/dist/lime-elements/p-e6a11b73.entry.js +0 -1
@@ -1,9 +1,10 @@
1
1
  import 'moment/locale/da';
2
+ import 'moment/locale/de';
2
3
  import 'moment/locale/fi';
3
- import 'moment/locale/nb';
4
- import 'moment/locale/sv';
5
4
  import 'moment/locale/fr';
5
+ import 'moment/locale/nb';
6
6
  import 'moment/locale/nl';
7
+ import 'moment/locale/sv';
7
8
  import { DateType } from './date.types';
8
9
  export declare class DateFormatter {
9
10
  private language;
@@ -33,6 +33,7 @@ export declare class DatePickerCalendar {
33
33
  * Property `format` customizes the localized date format.
34
34
  */
35
35
  language: Languages;
36
+ formatter: (date: Date) => string;
36
37
  /**
37
38
  * Emitted when the date picker value is changed.
38
39
  */
@@ -1,12 +1,15 @@
1
1
  import flatpickr from 'flatpickr';
2
2
  import { EventEmitter } from '../../../stencil-public-runtime';
3
3
  import 'moment/locale/da';
4
+ import 'moment/locale/de';
4
5
  import 'moment/locale/fi';
6
+ import 'moment/locale/fr';
5
7
  import 'moment/locale/nb';
8
+ import 'moment/locale/nl';
6
9
  import 'moment/locale/sv';
7
10
  export declare abstract class Picker {
8
11
  protected change: EventEmitter<Date>;
9
- private dateFormatter;
12
+ formatDate: (date: Date) => string;
10
13
  protected dateFormat: string;
11
14
  protected language: string;
12
15
  protected flatpickr: flatpickr.Instance;
@@ -16,7 +19,6 @@ export declare abstract class Picker {
16
19
  redraw(): void;
17
20
  destroy(): void;
18
21
  abstract getConfig(useNativePicker: boolean): flatpickr.Options.Options;
19
- formatDate(date: Date): string;
20
22
  protected handleClose(selectedDates: any): Promise<any>;
21
23
  protected getFlatpickrLang(): string;
22
24
  protected getMomentLang(): string;
@@ -41,6 +41,7 @@ export declare class DockButton {
41
41
  protected openWatcher(): void;
42
42
  private renderPopover;
43
43
  private renderButton;
44
+ private renderNotification;
44
45
  private openPopover;
45
46
  private setCustomComponentElement;
46
47
  private onPopoverClose;
@@ -3,6 +3,7 @@ import { DockItem } from './dock.types';
3
3
  /**
4
4
  * @exampleComponent limel-example-dock-basic
5
5
  * @exampleComponent limel-example-dock-custom-component
6
+ * @exampleComponent limel-example-dock-notification
6
7
  * @exampleComponent limel-example-dock-mobile
7
8
  * @exampleComponent limel-example-dock-expanded
8
9
  * @exampleComponent limel-example-dock-colors-css
@@ -33,6 +33,10 @@ export interface DockItem {
33
33
  * Used to specify a custom component to render as a menu for the dock item.
34
34
  */
35
35
  dockMenu?: DockMenu;
36
+ /**
37
+ * If specified, will display a notification badge on the buttons in the dock.
38
+ */
39
+ badge?: number | string;
36
40
  }
37
41
  export interface DockMenu {
38
42
  /**
@@ -11,6 +11,7 @@ import { FormError, ValidationError, ValidationStatus } from './form.types';
11
11
  * @exampleComponent limel-example-form-span-fields
12
12
  * @exampleComponent limel-example-custom-error-message
13
13
  * @exampleComponent limel-example-server-errors
14
+ * @exampleComponent limel-example-form-row-layout
14
15
  */
15
16
  export declare class Form {
16
17
  /**
@@ -181,6 +181,13 @@ export interface GridLayoutOptions extends FormLayoutOptions<FormLayoutType.Grid
181
181
  */
182
182
  dense?: boolean;
183
183
  }
184
+ export interface RowLayoutOptions extends FormLayoutOptions<FormLayoutType.Row> {
185
+ /**
186
+ * When specified on a field, the chosen icon will be displayed
187
+ * on the left side of the row, beside the title.
188
+ */
189
+ icon?: string;
190
+ }
184
191
  export declare enum FormLayoutType {
185
192
  /**
186
193
  * The default layout
@@ -189,5 +196,13 @@ export declare enum FormLayoutType {
189
196
  /**
190
197
  * Render the form fields using a responsive grid layout
191
198
  */
192
- Grid = "grid"
199
+ Grid = "grid",
200
+ /**
201
+ * Render the form fields in full-width rows.
202
+ * Each row can have a leading `icon`, and a field.
203
+ * `title` and `description` provided by the schema will be placed
204
+ * on the row itself, and not on the field.
205
+ * This layout is good for creating UIs for user settings pages.
206
+ */
207
+ Row = "row"
193
208
  }
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { RowProps } from '../templates/types';
3
+ export declare class Row extends React.Component<RowProps> {
4
+ props: RowProps;
5
+ constructor(props: RowProps);
6
+ render(): React.DetailedReactHTMLElement<{
7
+ className: string;
8
+ }, HTMLElement>;
9
+ private renderIcon;
10
+ private renderMainInformation;
11
+ private renderTitle;
12
+ private renderDescription;
13
+ private renderChildren;
14
+ private get schema();
15
+ private get icon();
16
+ }
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { RowProps } from './types';
3
+ export declare class RowLayout extends React.Component<RowProps> {
4
+ props: RowProps;
5
+ private elementRef;
6
+ constructor(props: RowProps);
7
+ render(): React.DetailedReactHTMLElement<{
8
+ className: string;
9
+ ref: React.RefObject<HTMLElement>;
10
+ }, HTMLElement>;
11
+ }
@@ -10,3 +10,6 @@ export interface LimeObjectFieldTemplateProps extends ObjectFieldTemplateProps {
10
10
  export interface Runnable {
11
11
  run: (event: any) => void;
12
12
  }
13
+ export interface RowProps {
14
+ children?: any;
15
+ }
@@ -39,9 +39,15 @@
39
39
  * :::
40
40
  *
41
41
  * @exampleComponent limel-example-header
42
+ * @exampleComponent limel-example-header-colors
42
43
  * @exampleComponent limel-example-header-responsive
43
44
  * @exampleComponent limel-example-header-narrow
44
- * @slot - Content (actions) to be put inside the far right surface of the header
45
+ * @slot actions - Content (actions) to be put inside the far right surface of
46
+ * the header
47
+ * @slot [no name] - DEPRECATED. The `actions` slot used to be unnamed. This
48
+ * behavior has been deprecated, and support will be dropped in a future
49
+ * version. Please add `slot="actions"` to your elements to ensure your code
50
+ * will continue to work with future versions of Lime Elements.
45
51
  */
46
52
  export declare class Header {
47
53
  /**
@@ -26,7 +26,7 @@ export namespace Components {
26
26
  /**
27
27
  * Label to display in the badge. Numeric labels larger than 999 will be rounded and abbreviated. String labels get truncated if their length is longer than six characters.
28
28
  */
29
- "label": number | string;
29
+ "label"?: number | string;
30
30
  }
31
31
  interface LimelBanner {
32
32
  /**
@@ -60,7 +60,7 @@ export namespace Components {
60
60
  */
61
61
  "label": string;
62
62
  /**
63
- * Set to `true` to put the button in the `loading` state. Please note that this does _not_ disable the button. If the button should be disabled while loading, the `disabled` property should be set to `true` as well.
63
+ * Set to `true` to put the button in the `loading` state. This also disables the button.
64
64
  */
65
65
  "loading": boolean;
66
66
  /**
@@ -323,6 +323,10 @@ export namespace Components {
323
323
  * Format to display the selected date in.
324
324
  */
325
325
  "format": string;
326
+ /**
327
+ * Custom formatting function. Will be used for date formatting. :::note overrides `format` and `language` :::
328
+ */
329
+ "formatter"?: (date: Date) => string;
326
330
  /**
327
331
  * Optional helper text to display below the input field when it has focus
328
332
  */
@@ -453,6 +457,7 @@ export namespace Components {
453
457
  * Format to display the selected date in.
454
458
  */
455
459
  "format": string;
460
+ "formatter": (date: Date) => string;
456
461
  /**
457
462
  * The native input element to use with flatpickr.
458
463
  */
@@ -1726,7 +1731,7 @@ declare namespace LocalJSX {
1726
1731
  */
1727
1732
  "label"?: string;
1728
1733
  /**
1729
- * Set to `true` to put the button in the `loading` state. Please note that this does _not_ disable the button. If the button should be disabled while loading, the `disabled` property should be set to `true` as well.
1734
+ * Set to `true` to put the button in the `loading` state. This also disables the button.
1730
1735
  */
1731
1736
  "loading"?: boolean;
1732
1737
  /**
@@ -2025,6 +2030,10 @@ declare namespace LocalJSX {
2025
2030
  * Format to display the selected date in.
2026
2031
  */
2027
2032
  "format"?: string;
2033
+ /**
2034
+ * Custom formatting function. Will be used for date formatting. :::note overrides `format` and `language` :::
2035
+ */
2036
+ "formatter"?: (date: Date) => string;
2028
2037
  /**
2029
2038
  * Optional helper text to display below the input field when it has focus
2030
2039
  */
@@ -2203,6 +2212,7 @@ declare namespace LocalJSX {
2203
2212
  * Format to display the selected date in.
2204
2213
  */
2205
2214
  "format"?: string;
2215
+ "formatter": (date: Date) => string;
2206
2216
  /**
2207
2217
  * The native input element to use with flatpickr.
2208
2218
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/lime-elements",
3
- "version": "36.3.0-next.2",
3
+ "version": "36.3.0-next.21",
4
4
  "description": "Lime Elements",
5
5
  "author": "Lime Technologies",
6
6
  "license": "Apache-2.0",
@@ -40,47 +40,46 @@
40
40
  "generate": "stencil generate"
41
41
  },
42
42
  "devDependencies": {
43
- "@commitlint/config-conventional": "^17.4.0",
43
+ "@commitlint/config-conventional": "^17.4.4",
44
44
  "@popperjs/core": "^2.11.6",
45
45
  "@rjsf/core": "^2.4.2",
46
46
  "@stencil/core": "^2.19.2",
47
- "@stencil/sass": "^2.0.2",
47
+ "@stencil/sass": "^2.0.3",
48
48
  "@types/codemirror": "^5.60.2",
49
49
  "@types/html-escaper": "^3.0.0",
50
50
  "@types/jest": "^27.4.0",
51
51
  "@types/lodash-es": "^4.17.4",
52
52
  "@types/puppeteer": "^7.0.4",
53
- "@types/react": "^18.0.26",
53
+ "@types/react": "^18.0.28",
54
54
  "@types/tabulator-tables": "^4.9.4",
55
- "@typescript-eslint/eslint-plugin": "^5.48.2",
56
- "@typescript-eslint/parser": "^5.48.1",
55
+ "@typescript-eslint/eslint-plugin": "^5.53.0",
56
+ "@typescript-eslint/parser": "^5.53.0",
57
57
  "ajv": "^6.12.6",
58
58
  "awesome-debounce-promise": "^2.1.0",
59
59
  "codemirror": "^5.65.9",
60
60
  "cross-env": "^7.0.3",
61
- "cz-conventional-changelog": "^3.3.0",
62
- "dayjs": "^1.11.6",
63
- "eslint": "^8.28.0",
64
- "eslint-config-prettier": "^8.5.0",
61
+ "dayjs": "^1.11.7",
62
+ "eslint": "^8.34.0",
63
+ "eslint-config-prettier": "^8.6.0",
65
64
  "eslint-plugin-ban": "^1.6.0",
66
- "eslint-plugin-jsdoc": "^39.6.4",
65
+ "eslint-plugin-jsdoc": "^40.0.0",
67
66
  "eslint-plugin-prefer-arrow": "^1.2.3",
68
67
  "eslint-plugin-prettier": "^4.2.1",
69
- "eslint-plugin-react": "^7.31.11",
70
- "eslint-plugin-sonarjs": "^0.16.0",
68
+ "eslint-plugin-react": "^7.32.2",
69
+ "eslint-plugin-sonarjs": "^0.18.0",
71
70
  "flatpickr": "^4.6.13",
72
71
  "html-escaper": "^3.0.3",
73
72
  "jest": "^26.6.3",
74
73
  "jest-cli": "^27.4.5",
75
74
  "jsonlint-mod": "^1.7.6",
76
75
  "jsx-dom": "^8.0.4",
77
- "kompendium": "^0.12.1",
76
+ "kompendium": "^0.12.2",
78
77
  "lodash-es": "^4.17.21",
79
78
  "material-components-web": "^13.0.0",
80
79
  "moment": "^2.29.4",
81
80
  "number-abbreviate": "^2.0.0",
82
- "prettier": "^2.8.1",
83
- "puppeteer": "^19.3.0",
81
+ "prettier": "^2.8.4",
82
+ "puppeteer": "^19.7.2",
84
83
  "react": "^18.2.0",
85
84
  "react-dom": "^18.2.0",
86
85
  "react-shadow-dom-retarget-events": "^1.1.0",
@@ -89,7 +88,7 @@
89
88
  "showdown": "2.1.0",
90
89
  "shx": "^0.3.3",
91
90
  "tabulator-tables": "^4.9.3",
92
- "typescript": "^4.9.4"
91
+ "typescript": "^4.9.5"
93
92
  },
94
93
  "keywords": [
95
94
  "lime elements",
@@ -1 +0,0 @@
1
- import{r as t,c as e,h as o}from"./p-d4e788e1.js";import{c as i}from"./p-6c094f3f.js";const s=class{constructor(o){t(this,o),this.itemSelected=e(this,"itemSelected",7),this.menuOpen=e(this,"menuOpen",7),this.close=e(this,"close",7),this.openPopover=t=>{t.stopPropagation(),this.isOpen=!0,this.menuOpen.emit(this.item)},this.setCustomComponentElement=t=>{this.customComponentElement=t},this.onPopoverClose=()=>{this.isOpen=!1,this.close.emit()},this.handleClick=t=>{t.stopPropagation(),this.itemSelected.emit(this.item)},this.focusCustomComponentElement=()=>{var t,e,o;(null===(e=null===(t=this.customComponentElement)||void 0===t?void 0:t.shadowRoot)||void 0===e?void 0:e.delegatesFocus)&&(null===(o=this.customComponentElement)||void 0===o||o.focus())},this.item=void 0,this.expanded=!1,this.useMobileLayout=!1,this.isOpen=!1,this.tooltipId=i()}render(){var t,e;return(null===(e=null===(t=this.item)||void 0===t?void 0:t.dockMenu)||void 0===e?void 0:e.componentName)?this.renderPopover():this.renderButton(this.handleClick)}openWatcher(){this.isOpen&&new IntersectionObserver(this.focusCustomComponentElement).observe(this.customComponentElement)}renderPopover(){var t;const e=null===(t=this.item)||void 0===t?void 0:t.dockMenu.componentName;return o("limel-popover",{openDirection:this.useMobileLayout?"top":"right",open:this.isOpen||this.item.dockMenu.menuOpen,onClose:this.onPopoverClose},this.renderButton(this.openPopover,"trigger"),o(e,Object.assign({ref:this.setCustomComponentElement},this.item.dockMenu.props||{},{onClose:this.onPopoverClose})))}renderButton(t,e){var i;return o("button",{slot:e,tabindex:"0",id:this.tooltipId,type:"button",class:{button:!0,selected:null===(i=this.item)||void 0===i?void 0:i.selected},onClick:t},this.renderIcon(),this.renderLabel(),this.renderTooltip())}renderIcon(){if(this.item.icon)return o("limel-icon",{name:this.item.icon,class:"icon"})}renderLabel(){if(this.expanded)return o("span",{class:"text"},this.item.label)}renderTooltip(){return!this.expanded&&this.item.label?o("limel-tooltip",{elementId:this.tooltipId,label:this.item.label,helperLabel:this.item.helperLabel}):this.expanded&&this.item.helperLabel?o("limel-tooltip",{elementId:this.tooltipId,label:this.item.helperLabel}):void 0}static get watchers(){return{isOpen:["openWatcher"]}}};s.style=".button{all:unset;cursor:pointer;transition:color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;color:var(--limel-dock-item-text-color);background-color:var(--dock-background-color);box-sizing:border-box;display:flex;align-items:center;position:relative;width:100%;height:var(--dock-item-height);border-radius:0.375rem;font-size:0.875rem;padding:0 0.5rem;min-width:var(--dock-item-height)}.button:hover{color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}.button:active{background-color:var(--mdc-theme-surface);box-shadow:var(--button-shadow-inset-pressed);transform:translate3d(0, 0.05rem, 0)}.button:focus{outline:none}.button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.button:hover{z-index:1}.button.selected{color:var(--limel-dock-item-text-color--selected);background-color:var(--dock-item-background-color--selected, rgb(var(--contrast-200)));box-shadow:var(--button-shadow-inset)}.button.selected:focus-visible{box-shadow:var(--button-shadow-inset), var(--shadow-depth-8-focused)}.button.selected .icon{color:var(--limel-dock-item-text--selected)}limel-popover{display:grid;grid-template-columns:100%}.text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-left:0.5rem;padding-right:0.75rem}.icon{flex-shrink:0;width:calc(var(--dock-item-height) - 1rem);height:calc(var(--dock-item-height) - 1rem);color:var(--dock-item-icon-color, var(--limel-dock-item-text-color))}";export{s as limel_dock_button}