@limetech/lime-elements 36.3.0-next.8 → 36.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-badge.cjs.entry.js +4 -6
- package/dist/cjs/limel-button-group.cjs.entry.js +21 -6
- package/dist/cjs/limel-button.cjs.entry.js +1 -1
- package/dist/cjs/limel-callout.cjs.entry.js +54 -0
- package/dist/cjs/limel-chip-set.cjs.entry.js +13 -3
- package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +3 -12
- package/dist/cjs/limel-color-picker-palette.cjs.entry.js +1 -1
- package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-date-picker.cjs.entry.js +47 -7
- package/dist/cjs/limel-dialog.cjs.entry.js +1 -1
- package/dist/cjs/limel-dock-button.cjs.entry.js +7 -2
- package/dist/cjs/limel-dock.cjs.entry.js +1 -1
- package/dist/cjs/limel-file.cjs.entry.js +1 -1
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +99 -118
- package/dist/cjs/limel-form.cjs.entry.js +79 -1
- package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/limel-info-tile.cjs.entry.js +4 -1
- package/dist/cjs/limel-input-field.cjs.entry.js +2 -2
- package/dist/cjs/limel-list_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-menu-list.cjs.entry.js +7 -1
- package/dist/cjs/limel-menu.cjs.entry.js +10 -2
- package/dist/cjs/limel-portal.cjs.entry.js +3 -4
- package/dist/cjs/limel-select.cjs.entry.js +1 -1
- package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
- package/dist/cjs/limel-slider.cjs.entry.js +5 -5
- package/dist/cjs/limel-snackbar.cjs.entry.js +2 -2
- package/dist/cjs/limel-spinner.cjs.entry.js +1 -1
- package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
- package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
- package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/limel-table.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{dateFormatter-d7a8d40d.js → sv-dffe48b5.js} +222 -173
- package/dist/cjs/{translations-ca7279bc.js → translations-f8080c48.js} +30 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/badge/badge.css +34 -19
- package/dist/collection/components/badge/badge.js +7 -7
- package/dist/collection/components/banner/banner.css +1 -2
- package/dist/collection/components/button/button.css +31 -41
- package/dist/collection/components/button-group/button-group.css +44 -42
- package/dist/collection/components/button-group/button-group.js +25 -6
- package/dist/collection/components/callout/callout.css +77 -0
- package/dist/collection/components/callout/callout.helpers.js +27 -0
- package/dist/collection/components/callout/callout.js +139 -0
- package/dist/collection/components/callout/callout.types.js +1 -0
- package/dist/collection/components/checkbox/checkbox.css +22 -45
- package/dist/collection/components/chip-set/chip-set.css +222 -405
- package/dist/collection/components/chip-set/chip-set.js +6 -2
- package/dist/collection/components/circular-progress/circular-progress.css +8 -0
- package/dist/collection/components/code-editor/code-editor.css +11 -8
- package/dist/collection/components/collapsible-section/collapsible-section.css +87 -55
- package/dist/collection/components/collapsible-section/collapsible-section.js +2 -11
- package/dist/collection/components/color-picker/color-picker-palette.css +16 -14
- package/dist/collection/components/color-picker/color-picker.css +7 -5
- package/dist/collection/components/date-picker/date-picker.js +30 -5
- package/dist/collection/components/date-picker/dateFormatter.js +7 -3
- package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.css +11 -1
- package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +23 -8
- package/dist/collection/components/date-picker/pickers/Picker.js +11 -8
- package/dist/collection/components/dialog/dialog.css +14 -27
- package/dist/collection/components/dock/dock-button/dock-button.css +17 -2
- package/dist/collection/components/dock/dock-button/dock-button.js +6 -1
- package/dist/collection/components/dock/dock.css +19 -1
- package/dist/collection/components/dock/dock.js +1 -0
- package/dist/collection/components/file/file.js +1 -1
- package/dist/collection/components/form/form.css +122 -18
- package/dist/collection/components/form/form.js +1 -0
- package/dist/collection/components/form/form.types.js +8 -0
- package/dist/collection/components/form/row/row.js +47 -0
- package/dist/collection/components/form/templates/object-field.js +5 -0
- package/dist/collection/components/form/templates/row-layout.js +20 -0
- package/dist/collection/components/header/header.css +8 -0
- package/dist/collection/components/icon-button/icon-button.css +15 -12
- package/dist/collection/components/info-tile/info-tile.css +13 -17
- package/dist/collection/components/info-tile/info-tile.js +3 -0
- package/dist/collection/components/input-field/input-field.css +199 -363
- package/dist/collection/components/input-field/input-field.js +1 -1
- package/dist/collection/components/linear-progress/linear-progress.css +7 -14
- package/dist/collection/components/list/list.css +388 -751
- package/dist/collection/components/menu/menu.css +19 -1
- package/dist/collection/components/menu/menu.js +10 -1
- package/dist/collection/components/menu-list/menu-list-renderer.js +6 -1
- package/dist/collection/components/menu-list/menu-list.css +400 -752
- package/dist/collection/components/menu-surface/menu-surface.css +13 -26
- package/dist/collection/components/popover-surface/popover-surface.css +8 -0
- package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.css +8 -0
- package/dist/collection/components/select/select.css +174 -323
- package/dist/collection/components/shortcut/shortcut.css +9 -7
- package/dist/collection/components/slider/slider.css +87 -98
- package/dist/collection/components/slider/slider.js +5 -5
- package/dist/collection/components/snackbar/snackbar.css +19 -34
- package/dist/collection/components/snackbar/snackbar.js +1 -1
- package/dist/collection/components/spinner/spinner.css +4 -0
- package/dist/collection/components/split-button/split-button.css +15 -4
- package/dist/collection/components/switch/switch.css +21 -49
- package/dist/collection/components/tab-bar/tab-bar.css +20 -19
- package/dist/collection/components/tab-panel/tab-panel.css +5 -0
- package/dist/collection/components/table/table.css +33 -0
- package/dist/collection/icons/idea.svg +593 -0
- package/dist/collection/icons/info.svg +593 -0
- package/dist/collection/style/internal/shared_input-select-picker.scss +4 -0
- package/dist/collection/style/internal/z-index.scss +0 -1
- package/dist/collection/style/mixins.scss +15 -4
- package/dist/collection/translations/da.js +5 -0
- package/dist/collection/translations/en.js +5 -0
- package/dist/collection/translations/fi.js +5 -0
- package/dist/collection/translations/nl.js +5 -0
- package/dist/collection/translations/no.js +5 -0
- package/dist/collection/translations/sv.js +5 -0
- package/dist/esm/{keycodes-9f971b46.js → keycodes-44c01beb.js} +1 -1
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-badge.entry.js +4 -6
- package/dist/esm/limel-button-group.entry.js +21 -6
- package/dist/esm/limel-button.entry.js +1 -1
- package/dist/esm/limel-callout.entry.js +50 -0
- package/dist/esm/limel-chip-set.entry.js +14 -4
- package/dist/esm/limel-code-editor.entry.js +1 -1
- package/dist/esm/limel-collapsible-section.entry.js +3 -12
- package/dist/esm/limel-color-picker-palette.entry.js +1 -1
- package/dist/esm/limel-color-picker.entry.js +1 -1
- package/dist/esm/limel-date-picker.entry.js +46 -6
- package/dist/esm/limel-dialog.entry.js +1 -1
- package/dist/esm/limel-dock-button.entry.js +7 -2
- package/dist/esm/limel-dock.entry.js +1 -1
- package/dist/esm/limel-file.entry.js +1 -1
- package/dist/esm/limel-flatpickr-adapter.entry.js +99 -118
- package/dist/esm/limel-form.entry.js +79 -1
- package/dist/esm/limel-icon-button.entry.js +1 -1
- package/dist/esm/limel-info-tile.entry.js +4 -1
- package/dist/esm/limel-input-field.entry.js +3 -3
- package/dist/esm/limel-list_2.entry.js +2 -2
- package/dist/esm/limel-menu-list.entry.js +7 -1
- package/dist/esm/limel-menu.entry.js +10 -2
- package/dist/esm/limel-picker.entry.js +1 -1
- package/dist/esm/limel-popover_4.entry.js +1 -1
- package/dist/esm/limel-portal.entry.js +3 -4
- package/dist/esm/limel-select.entry.js +2 -2
- package/dist/esm/limel-shortcut.entry.js +1 -1
- package/dist/esm/limel-slider.entry.js +6 -6
- package/dist/esm/limel-snackbar.entry.js +2 -2
- package/dist/esm/limel-spinner.entry.js +1 -1
- package/dist/esm/limel-split-button.entry.js +1 -1
- package/dist/esm/limel-tab-bar.entry.js +1 -1
- package/dist/esm/limel-tab-panel.entry.js +1 -1
- package/dist/esm/limel-table.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{dateFormatter-784c3334.js → sv-336c4576.js} +222 -173
- package/dist/esm/{translations-0d0ee941.js → translations-f88bb584.js} +30 -0
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/{p-a8d38277.entry.js → p-10e259de.entry.js} +1 -1
- package/dist/lime-elements/{p-934456bc.entry.js → p-123f5fbb.entry.js} +1 -1
- package/dist/lime-elements/{p-c234a991.entry.js → p-157e0417.entry.js} +2 -2
- package/dist/lime-elements/p-2f9918a3.entry.js +1 -0
- package/dist/lime-elements/p-2fd478df.entry.js +1 -0
- package/dist/lime-elements/p-3be2dfc7.entry.js +1 -0
- package/dist/lime-elements/{p-06f2f6b4.entry.js → p-3fda3473.entry.js} +1 -1
- package/dist/lime-elements/p-46a76d55.entry.js +1 -0
- package/dist/lime-elements/p-4a62273c.entry.js +1 -0
- package/dist/lime-elements/{p-73df4d83.js → p-4dd9a5a5.js} +5 -3
- package/dist/lime-elements/{p-d1187867.entry.js → p-4eeabc1f.entry.js} +1 -1
- package/dist/lime-elements/{p-2f2ea041.entry.js → p-4fcd3337.entry.js} +1 -1
- package/dist/lime-elements/{p-029360c8.entry.js → p-50dbd665.entry.js} +1 -1
- package/dist/lime-elements/{p-e5213a54.entry.js → p-55c8cb64.entry.js} +4 -4
- package/dist/lime-elements/{p-cad7cda1.entry.js → p-58e9df30.entry.js} +1 -1
- package/dist/lime-elements/p-73613abb.entry.js +82 -0
- package/dist/lime-elements/{p-6784c5c3.entry.js → p-7d7d19de.entry.js} +1 -1
- package/dist/lime-elements/{p-9ec08ebc.entry.js → p-8178b348.entry.js} +3 -3
- package/dist/lime-elements/{p-004aad18.entry.js → p-9336fd7f.entry.js} +1 -1
- package/dist/lime-elements/{p-a0c78744.entry.js → p-a88f2922.entry.js} +2 -2
- package/dist/lime-elements/p-b1ae3d1f.entry.js +126 -0
- package/dist/lime-elements/p-b40f37d7.entry.js +1 -0
- package/dist/lime-elements/p-b59e4287.js +1 -0
- package/dist/lime-elements/{p-405207fa.entry.js → p-b80de0ea.entry.js} +1 -1
- package/dist/lime-elements/p-c47cb4c3.entry.js +1 -0
- package/dist/lime-elements/{p-b079fc71.entry.js → p-cc3529bb.entry.js} +1 -1
- package/dist/lime-elements/{p-93ad8b90.entry.js → p-d0084a70.entry.js} +1 -1
- package/dist/lime-elements/p-d16b27b9.entry.js +1 -0
- package/dist/lime-elements/{p-216ffe20.js → p-d7801e00.js} +1 -1
- package/dist/lime-elements/p-d87e2f26.entry.js +1 -0
- package/dist/lime-elements/p-d955c169.entry.js +59 -0
- package/dist/lime-elements/p-da536426.entry.js +1 -0
- package/dist/lime-elements/p-e69231c2.entry.js +16 -0
- package/dist/lime-elements/p-eda87f8c.entry.js +1 -0
- package/dist/lime-elements/{p-0bf916a0.entry.js → p-edbd8d62.entry.js} +1 -1
- package/dist/lime-elements/p-f11e7ce1.entry.js +1 -0
- package/dist/lime-elements/{p-5409b92f.entry.js → p-f979c0f2.entry.js} +1 -1
- package/dist/lime-elements/style/internal/shared_input-select-picker.scss +4 -0
- package/dist/lime-elements/style/internal/z-index.scss +0 -1
- package/dist/lime-elements/style/mixins.scss +15 -4
- package/dist/scss/mixins.scss +186 -0
- package/dist/types/components/badge/badge.d.ts +4 -2
- package/dist/types/components/button/button.types.d.ts +4 -0
- package/dist/types/components/button-group/button-group.d.ts +4 -0
- package/dist/types/components/callout/callout.d.ts +52 -0
- package/dist/types/components/callout/callout.helpers.d.ts +2 -0
- package/dist/types/components/callout/callout.types.d.ts +11 -0
- package/dist/types/components/chip-set/chip-set.d.ts +1 -1
- package/dist/types/components/collapsible-section/collapsible-section.d.ts +0 -1
- package/dist/types/components/date-picker/date-picker.d.ts +10 -0
- package/dist/types/components/date-picker/date.types.d.ts +1 -1
- package/dist/types/components/date-picker/dateFormatter.d.ts +3 -2
- package/dist/types/components/date-picker/flatpickr-adapter/flatpickr-adapter.d.ts +1 -1
- package/dist/types/components/date-picker/pickers/Picker.d.ts +4 -2
- package/dist/types/components/dock/dock-button/dock-button.d.ts +1 -0
- package/dist/types/components/dock/dock.d.ts +1 -0
- package/dist/types/components/dock/dock.types.d.ts +4 -0
- package/dist/types/components/form/form.d.ts +1 -0
- package/dist/types/components/form/form.types.d.ts +16 -1
- package/dist/types/components/form/row/row.d.ts +16 -0
- package/dist/types/components/form/templates/row-layout.d.ts +11 -0
- package/dist/types/components/form/templates/types.d.ts +3 -0
- package/dist/types/components/menu/menu.d.ts +3 -0
- package/dist/types/components/menu/menu.types.d.ts +4 -0
- package/dist/types/components/menu-list/menu-list-renderer.d.ts +1 -0
- package/dist/types/components.d.ts +57 -1
- package/dist/types/interface.d.ts +1 -0
- package/dist/types/translations/da.d.ts +5 -0
- package/dist/types/translations/en.d.ts +5 -0
- package/dist/types/translations/fi.d.ts +5 -0
- package/dist/types/translations/nl.d.ts +5 -0
- package/dist/types/translations/no.d.ts +5 -0
- package/dist/types/translations/sv.d.ts +5 -0
- package/package.json +23 -20
- package/dist/lime-elements/p-246862ec.js +0 -1
- package/dist/lime-elements/p-52e18d94.entry.js +0 -1
- package/dist/lime-elements/p-5393213b.entry.js +0 -1
- package/dist/lime-elements/p-61b3352f.entry.js +0 -1
- package/dist/lime-elements/p-65a3be2c.entry.js +0 -1
- package/dist/lime-elements/p-864db270.entry.js +0 -126
- package/dist/lime-elements/p-8ca53aa2.entry.js +0 -1
- package/dist/lime-elements/p-90961075.entry.js +0 -1
- package/dist/lime-elements/p-91604294.entry.js +0 -1
- package/dist/lime-elements/p-95fd48d0.entry.js +0 -82
- package/dist/lime-elements/p-c4a89055.entry.js +0 -16
- package/dist/lime-elements/p-cc9f89a9.entry.js +0 -1
- package/dist/lime-elements/p-d379f4d6.entry.js +0 -59
- package/dist/lime-elements/p-d512656b.entry.js +0 -1
- package/dist/lime-elements/p-e6a11b73.entry.js +0 -1
- package/dist/lime-elements/p-f9958763.entry.js +0 -1
|
@@ -4,6 +4,7 @@ import { h, } from '@stencil/core';
|
|
|
4
4
|
import { handleKeyboardEvent } from './chip-set-input-helpers';
|
|
5
5
|
import translate from '../../global/translations';
|
|
6
6
|
import { getHref, getTarget } from '../../util/link-helper';
|
|
7
|
+
import { isEqual } from 'lodash-es';
|
|
7
8
|
const SELECTED_CHIP_CLASS = 'mdc-chip--selected';
|
|
8
9
|
const INPUT_FIELD_TABINDEX = 1;
|
|
9
10
|
/**
|
|
@@ -156,7 +157,10 @@ export class ChipSet {
|
|
|
156
157
|
}
|
|
157
158
|
return (h("div", { class: classes, role: "grid" }, chipSetLabel, this.value.map(this.renderChip), this.renderHelperLine()));
|
|
158
159
|
}
|
|
159
|
-
handleChangeChips() {
|
|
160
|
+
handleChangeChips(newValue, oldValue) {
|
|
161
|
+
if (isEqual(newValue, oldValue)) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
160
164
|
this.syncEmptyInput();
|
|
161
165
|
}
|
|
162
166
|
createMDCChipSet() {
|
|
@@ -662,7 +666,7 @@ export class ChipSet {
|
|
|
662
666
|
"mutable": false,
|
|
663
667
|
"complexType": {
|
|
664
668
|
"original": "Languages",
|
|
665
|
-
"resolved": "\"da\" | \"en\" | \"fi\" | \"nb\" | \"nl\" | \"no\" | \"sv\"",
|
|
669
|
+
"resolved": "\"da\" | \"de\" | \"en\" | \"fi\" | \"fr\" | \"nb\" | \"nl\" | \"no\" | \"sv\"",
|
|
666
670
|
"references": {
|
|
667
671
|
"Languages": {
|
|
668
672
|
"location": "import",
|
|
@@ -4,6 +4,14 @@
|
|
|
4
4
|
* Nothing in this file may output any CSS
|
|
5
5
|
* without being explicitly called by outside code.
|
|
6
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* Note! This file is exported to `dist/scss/` in the published
|
|
9
|
+
* node module, for consumer projects to import.
|
|
10
|
+
* That means this file cannot import from any file that isn't
|
|
11
|
+
* also exported, keeping the same relative path.
|
|
12
|
+
*
|
|
13
|
+
* Or, just don't import anything, that works too.
|
|
14
|
+
*/
|
|
7
15
|
/*
|
|
8
16
|
* This file is imported into every component that uses MDC!
|
|
9
17
|
*
|
|
@@ -444,11 +444,13 @@ span.CodeMirror-selectedtext { background: none; }
|
|
|
444
444
|
content: "\25B8";
|
|
445
445
|
}
|
|
446
446
|
|
|
447
|
-
|
|
448
|
-
* This file is
|
|
447
|
+
/**
|
|
448
|
+
* Note! This file is exported to `dist/scss/` in the published
|
|
449
|
+
* node module, for consumer projects to import.
|
|
450
|
+
* That means this file cannot import from any file that isn't
|
|
451
|
+
* also exported, keeping the same relative path.
|
|
449
452
|
*
|
|
450
|
-
*
|
|
451
|
-
* without being explicitly called by outside code.
|
|
453
|
+
* Or, just don't import anything, that works too.
|
|
452
454
|
*/
|
|
453
455
|
/**
|
|
454
456
|
* @prop --code-editor-max-height: Defines how tall the code editor can get before content becomes scrollable, defaults to `10rem`.
|
|
@@ -523,22 +525,22 @@ span.CodeMirror-selectedtext { background: none; }
|
|
|
523
525
|
--code-editor-selection-lowlight-color: var(--contrast-100);
|
|
524
526
|
}
|
|
525
527
|
:root:not([data-theme=force-light]) :host .cm-attribute,
|
|
526
|
-
:root:not([data-theme=force-light]) :host .cm-property,
|
|
527
|
-
:root:not([data-theme=force-light]) :host .cm-keyword {
|
|
528
|
+
:root:not([data-theme=force-light]) :host .cm-property,
|
|
529
|
+
:root:not([data-theme=force-light]) :host .cm-keyword {
|
|
528
530
|
color: rgb(var(--color-purple-lighter));
|
|
529
531
|
}
|
|
530
532
|
:root:not([data-theme=force-light]) :host .cm-operator {
|
|
531
533
|
color: rgb(var(--color-sky-lighter));
|
|
532
534
|
}
|
|
533
535
|
:root:not([data-theme=force-light]) :host .cm-variable-3,
|
|
534
|
-
:root:not([data-theme=force-light]) :host .cm-type {
|
|
536
|
+
:root:not([data-theme=force-light]) :host .cm-type {
|
|
535
537
|
color: rgb(var(--color-yellow-light));
|
|
536
538
|
}
|
|
537
539
|
:root:not([data-theme=force-light]) :host .cm-atom {
|
|
538
540
|
color: rgb(var(--color-coral-light));
|
|
539
541
|
}
|
|
540
542
|
:root:not([data-theme=force-light]) :host .cm-tag,
|
|
541
|
-
:root:not([data-theme=force-light]) :host .cm-number {
|
|
543
|
+
:root:not([data-theme=force-light]) :host .cm-number {
|
|
542
544
|
color: rgb(var(--color-magenta-light));
|
|
543
545
|
}
|
|
544
546
|
:root:not([data-theme=force-light]) :host .cm-def {
|
|
@@ -666,6 +668,7 @@ span.CodeMirror-selectedtext { background: none; }
|
|
|
666
668
|
.cm-s-lime .CodeMirror-foldmarker {
|
|
667
669
|
position: relative;
|
|
668
670
|
transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
|
|
671
|
+
cursor: pointer;
|
|
669
672
|
color: transparent;
|
|
670
673
|
background-color: var(--lime-elevated-surface-background-color);
|
|
671
674
|
box-shadow: var(--button-shadow-normal);
|
|
@@ -64,6 +64,14 @@
|
|
|
64
64
|
);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
/**
|
|
68
|
+
* Note! This file is exported to `dist/scss/` in the published
|
|
69
|
+
* node module, for consumer projects to import.
|
|
70
|
+
* That means this file cannot import from any file that isn't
|
|
71
|
+
* also exported, keeping the same relative path.
|
|
72
|
+
*
|
|
73
|
+
* Or, just don't import anything, that works too.
|
|
74
|
+
*/
|
|
67
75
|
/**
|
|
68
76
|
* @prop --closed-header-background-color: background color for header when closed
|
|
69
77
|
* @prop --open-header-background-color: background color for header when open
|
|
@@ -71,7 +79,7 @@
|
|
|
71
79
|
* @prop --body-background-color: background color for body
|
|
72
80
|
* @prop --body-padding: space around content of the body
|
|
73
81
|
*/
|
|
74
|
-
:host {
|
|
82
|
+
:host(limel-collapsible-section) {
|
|
75
83
|
--border-radius-of-header: 0.75rem;
|
|
76
84
|
display: block;
|
|
77
85
|
}
|
|
@@ -84,37 +92,53 @@
|
|
|
84
92
|
pointer-events: none;
|
|
85
93
|
}
|
|
86
94
|
|
|
87
|
-
.
|
|
95
|
+
.open-close-toggle {
|
|
96
|
+
all: unset;
|
|
97
|
+
position: absolute;
|
|
98
|
+
inset: 0;
|
|
99
|
+
width: 100%;
|
|
88
100
|
transition: background-color 0.4s ease, border-radius 0.1s ease;
|
|
89
101
|
cursor: pointer;
|
|
90
|
-
|
|
91
|
-
display: flex;
|
|
92
|
-
justify-content: space-between;
|
|
93
|
-
padding-left: 0.625rem;
|
|
94
|
-
padding-right: 0.625rem;
|
|
95
|
-
height: 3.75rem;
|
|
102
|
+
z-index: -1;
|
|
96
103
|
background-color: var(--closed-header-background-color, rgb(var(--contrast-200)));
|
|
97
104
|
border-radius: var(--border-radius-of-header);
|
|
98
105
|
}
|
|
99
|
-
.
|
|
106
|
+
.open-close-toggle:focus {
|
|
100
107
|
outline: none;
|
|
101
108
|
}
|
|
102
|
-
.
|
|
109
|
+
.open-close-toggle:focus-visible {
|
|
103
110
|
outline: none;
|
|
104
111
|
box-shadow: var(--shadow-depth-8-focused);
|
|
105
112
|
}
|
|
106
|
-
|
|
113
|
+
.open-close-toggle:hover {
|
|
114
|
+
background-color: var(--open-header-background-color, rgb(var(--contrast-300)));
|
|
115
|
+
}
|
|
116
|
+
section.open .open-close-toggle {
|
|
107
117
|
background-color: var(--open-header-background-color, rgb(var(--contrast-100)));
|
|
108
118
|
border-radius: var(--border-radius-of-header) var(--border-radius-of-header) 0 0;
|
|
109
119
|
}
|
|
110
|
-
section.open .
|
|
120
|
+
section.open .open-close-toggle:hover {
|
|
111
121
|
background-color: var(--open-header-background-color, rgb(var(--contrast-300)));
|
|
112
122
|
}
|
|
113
|
-
|
|
114
|
-
|
|
123
|
+
|
|
124
|
+
.title,
|
|
125
|
+
.divider-line,
|
|
126
|
+
.expand-icon {
|
|
127
|
+
pointer-events: none;
|
|
115
128
|
}
|
|
116
129
|
|
|
117
|
-
|
|
130
|
+
header {
|
|
131
|
+
isolation: isolate;
|
|
132
|
+
position: relative;
|
|
133
|
+
align-items: center;
|
|
134
|
+
display: flex;
|
|
135
|
+
justify-content: space-between;
|
|
136
|
+
padding-left: 0.625rem;
|
|
137
|
+
padding-right: 0.625rem;
|
|
138
|
+
height: 3rem;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.title {
|
|
118
142
|
-moz-osx-font-smoothing: grayscale;
|
|
119
143
|
-webkit-font-smoothing: antialiased;
|
|
120
144
|
font-family: Roboto, sans-serif;
|
|
@@ -153,7 +177,7 @@ section.open .section__header:hover {
|
|
|
153
177
|
overflow: hidden;
|
|
154
178
|
}
|
|
155
179
|
|
|
156
|
-
.
|
|
180
|
+
.divider-line {
|
|
157
181
|
transition: opacity 0.3s ease 0.3s;
|
|
158
182
|
flex-grow: 1;
|
|
159
183
|
height: 0.125rem;
|
|
@@ -162,16 +186,16 @@ section.open .section__header:hover {
|
|
|
162
186
|
margin-right: 0.5rem;
|
|
163
187
|
opacity: 0;
|
|
164
188
|
}
|
|
165
|
-
section.open .
|
|
189
|
+
section.open .divider-line {
|
|
166
190
|
opacity: 0.16;
|
|
167
191
|
}
|
|
168
192
|
|
|
169
|
-
.
|
|
193
|
+
.actions {
|
|
170
194
|
justify-self: flex-end;
|
|
171
195
|
flex-shrink: 0;
|
|
172
196
|
}
|
|
173
197
|
|
|
174
|
-
@keyframes fade-in-
|
|
198
|
+
@keyframes fade-in-body {
|
|
175
199
|
0% {
|
|
176
200
|
opacity: 0;
|
|
177
201
|
}
|
|
@@ -179,8 +203,8 @@ section.open .section__header__divider-line {
|
|
|
179
203
|
opacity: 1;
|
|
180
204
|
}
|
|
181
205
|
}
|
|
182
|
-
.
|
|
183
|
-
animation: fade-in-
|
|
206
|
+
.body {
|
|
207
|
+
animation: fade-in-body 0.3s ease-in forwards;
|
|
184
208
|
background-color: var(--body-background-color, var(--contrast-100));
|
|
185
209
|
padding-left: var(--body-padding, 1.25rem);
|
|
186
210
|
padding-right: var(--body-padding, 1.25rem);
|
|
@@ -189,14 +213,14 @@ section.open .section__header__divider-line {
|
|
|
189
213
|
display: none;
|
|
190
214
|
opacity: 0;
|
|
191
215
|
}
|
|
192
|
-
section.open .
|
|
216
|
+
section.open .body {
|
|
193
217
|
display: block;
|
|
194
218
|
}
|
|
195
|
-
.
|
|
219
|
+
.body:before, .body:after {
|
|
196
220
|
content: " ";
|
|
197
221
|
display: table;
|
|
198
222
|
}
|
|
199
|
-
.
|
|
223
|
+
.body:after {
|
|
200
224
|
clear: both;
|
|
201
225
|
}
|
|
202
226
|
|
|
@@ -206,7 +230,7 @@ section.open .section__body {
|
|
|
206
230
|
* Nothing in this file may output any CSS
|
|
207
231
|
* without being explicitly called by outside code.
|
|
208
232
|
*/
|
|
209
|
-
.
|
|
233
|
+
.expand-icon {
|
|
210
234
|
position: relative;
|
|
211
235
|
height: 1.875rem;
|
|
212
236
|
margin: 0 1rem 0 0.5rem;
|
|
@@ -214,7 +238,7 @@ section.open .section__body {
|
|
|
214
238
|
flex-shrink: 0;
|
|
215
239
|
}
|
|
216
240
|
|
|
217
|
-
.
|
|
241
|
+
.line {
|
|
218
242
|
position: absolute;
|
|
219
243
|
top: 0;
|
|
220
244
|
right: 0;
|
|
@@ -226,63 +250,71 @@ section.open .section__body {
|
|
|
226
250
|
height: 0.125rem;
|
|
227
251
|
background-color: var(--header-stroke-color, rgb(var(--contrast-900)));
|
|
228
252
|
}
|
|
229
|
-
.
|
|
253
|
+
.line:first-of-type, .line:last-of-type {
|
|
230
254
|
transition: opacity 0.2s ease 0.1s, transform 0.4s ease 0.3s;
|
|
231
255
|
}
|
|
232
|
-
.
|
|
256
|
+
.line:first-of-type {
|
|
233
257
|
transform: rotate3d(0, 0, 1, 90deg);
|
|
234
258
|
}
|
|
235
|
-
.
|
|
259
|
+
.line:last-of-type {
|
|
236
260
|
transform: rotate3d(0, 0, 1, -90deg);
|
|
237
261
|
}
|
|
238
|
-
.
|
|
262
|
+
.line:nth-of-type(2), .line:nth-of-type(3) {
|
|
239
263
|
transition: opacity 0.2s ease, transform 0.18s ease;
|
|
240
264
|
}
|
|
265
|
+
section.open .line:first-of-type, section.open .line:last-of-type {
|
|
266
|
+
transition: opacity 0.2s ease 0.1s, transform 0.4s ease 0.3s;
|
|
267
|
+
}
|
|
268
|
+
section.open .line:first-of-type {
|
|
269
|
+
transform: rotate3d(0, 0, 1, 0deg);
|
|
270
|
+
}
|
|
271
|
+
section.open .line:last-of-type {
|
|
272
|
+
transform: rotate3d(0, 0, 1, 0deg);
|
|
273
|
+
}
|
|
274
|
+
section.open .line:nth-of-type(2), section.open .line:nth-of-type(3) {
|
|
275
|
+
transition: opacity 1s ease, transform 0.4s ease;
|
|
276
|
+
}
|
|
277
|
+
section.open .line:nth-of-type(2) {
|
|
278
|
+
transform: translate3d(0, -1rem, 0);
|
|
279
|
+
opacity: 0;
|
|
280
|
+
}
|
|
281
|
+
section.open .line:nth-of-type(3) {
|
|
282
|
+
transform: translate3d(0, 1rem, 0);
|
|
283
|
+
opacity: 0;
|
|
284
|
+
}
|
|
241
285
|
|
|
242
|
-
.
|
|
286
|
+
.open-close-toggle:hover + .expand-icon .line:first-of-type {
|
|
243
287
|
transform: rotate3d(0, 0, 1, 0deg);
|
|
244
288
|
}
|
|
245
|
-
.
|
|
289
|
+
.open-close-toggle:hover + .expand-icon .line:last-of-type {
|
|
246
290
|
transform: rotate3d(0, 0, 1, 0deg);
|
|
247
291
|
}
|
|
248
|
-
.
|
|
292
|
+
.open-close-toggle:hover + .expand-icon .line:nth-of-type(2), .open-close-toggle:hover + .expand-icon .line:nth-of-type(3) {
|
|
249
293
|
transition: opacity 0.5s ease 0.4s, transform 0.7s cubic-bezier(0.85, 0.11, 0.14, 1.35) 0.2s;
|
|
250
294
|
}
|
|
251
|
-
.
|
|
295
|
+
.open-close-toggle:hover + .expand-icon .line:nth-of-type(2) {
|
|
252
296
|
transform: translate3d(0, -0.5rem, 0);
|
|
253
297
|
opacity: 0.4;
|
|
254
298
|
}
|
|
255
|
-
.
|
|
299
|
+
.open-close-toggle:hover + .expand-icon .line:nth-of-type(3) {
|
|
256
300
|
transform: translate3d(0, 0.5rem, 0);
|
|
257
301
|
opacity: 0.4;
|
|
258
302
|
}
|
|
259
303
|
|
|
260
|
-
section.open .
|
|
261
|
-
transition: opacity 0.2s ease 0.
|
|
262
|
-
}
|
|
263
|
-
section.open .section__header .expand-icon__line:first-of-type {
|
|
264
|
-
transform: rotate3d(0, 0, 1, 0deg);
|
|
304
|
+
section.open .open-close-toggle:hover + .expand-icon .line:first-of-type, section.open .open-close-toggle:hover + .expand-icon .line:last-of-type {
|
|
305
|
+
transition: opacity 0.2s ease 0.4s, transform 0.4s cubic-bezier(0.85, 0.11, 0.14, 1.35) 0.2s;
|
|
265
306
|
}
|
|
266
|
-
section.open .
|
|
267
|
-
transform: rotate3d(0, 0, 1,
|
|
307
|
+
section.open .open-close-toggle:hover + .expand-icon .line:first-of-type {
|
|
308
|
+
transform: rotate3d(0, 0, 1, 45deg);
|
|
268
309
|
}
|
|
269
|
-
section.open .
|
|
270
|
-
|
|
310
|
+
section.open .open-close-toggle:hover + .expand-icon .line:last-of-type {
|
|
311
|
+
transform: rotate3d(0, 0, 1, -45deg);
|
|
271
312
|
}
|
|
272
|
-
section.open .
|
|
313
|
+
section.open .open-close-toggle:hover + .expand-icon .line:nth-of-type(2) {
|
|
273
314
|
transform: translate3d(0, -1rem, 0);
|
|
274
315
|
opacity: 0;
|
|
275
316
|
}
|
|
276
|
-
section.open .
|
|
317
|
+
section.open .open-close-toggle:hover + .expand-icon .line:nth-of-type(3) {
|
|
277
318
|
transform: translate3d(0, 1rem, 0);
|
|
278
319
|
opacity: 0;
|
|
279
|
-
}
|
|
280
|
-
section.open .section__header:hover .expand-icon__line:first-of-type, section.open .section__header:hover .expand-icon__line:last-of-type {
|
|
281
|
-
transition: opacity 0.2s ease 0.4s, transform 0.4s cubic-bezier(0.85, 0.11, 0.14, 1.35) 0.2s;
|
|
282
|
-
}
|
|
283
|
-
section.open .section__header:hover .expand-icon__line:first-of-type {
|
|
284
|
-
transform: rotate3d(0, 0, 1, 45deg);
|
|
285
|
-
}
|
|
286
|
-
section.open .section__header:hover .expand-icon__line:last-of-type {
|
|
287
|
-
transform: rotate3d(0, 0, 1, -45deg);
|
|
288
320
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { h } from '@stencil/core';
|
|
2
2
|
import { dispatchResizeEvent } from '../../util/dispatch-resize-event';
|
|
3
|
-
import { ENTER, ENTER_KEY_CODE } from '../../util/keycodes';
|
|
4
3
|
/**
|
|
5
4
|
* @slot - Content to put inside the collapsible section
|
|
6
5
|
* @exampleComponent limel-example-collapsible-section
|
|
@@ -14,14 +13,6 @@ export class CollapsibleSection {
|
|
|
14
13
|
this.onClick = () => {
|
|
15
14
|
this.handleInteraction();
|
|
16
15
|
};
|
|
17
|
-
this.handleKeyDown = (event) => {
|
|
18
|
-
const isEnter = event.key === ENTER || event.keyCode === ENTER_KEY_CODE;
|
|
19
|
-
if (isEnter) {
|
|
20
|
-
event.stopPropagation();
|
|
21
|
-
event.preventDefault();
|
|
22
|
-
this.handleInteraction();
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
16
|
this.handleInteraction = () => {
|
|
26
17
|
this.isOpen = !this.isOpen;
|
|
27
18
|
if (this.isOpen) {
|
|
@@ -37,7 +28,7 @@ export class CollapsibleSection {
|
|
|
37
28
|
if (!this.actions) {
|
|
38
29
|
return;
|
|
39
30
|
}
|
|
40
|
-
return (h("div", { class: "
|
|
31
|
+
return (h("div", { class: "actions" }, this.actions.map(this.renderActionButton)));
|
|
41
32
|
};
|
|
42
33
|
this.renderActionButton = (action) => {
|
|
43
34
|
return (h("limel-icon-button", { icon: action.icon, label: action.label, disabled: action.disabled, onClick: this.handleActionClick(action) }));
|
|
@@ -51,7 +42,7 @@ export class CollapsibleSection {
|
|
|
51
42
|
this.actions = undefined;
|
|
52
43
|
}
|
|
53
44
|
render() {
|
|
54
|
-
return (h("section", { class: `${this.isOpen ? 'open' : ''}` }, h("header", { class: "
|
|
45
|
+
return (h("section", { class: `${this.isOpen ? 'open' : ''}` }, h("header", null, h("button", { class: "open-close-toggle", onClick: this.onClick }), h("div", { class: "expand-icon" }, h("div", { class: "line" }), h("div", { class: "line" }), h("div", { class: "line" }), h("div", { class: "line" })), h("h2", { class: "title mdc-typography mdc-typography--headline2" }, this.header), h("div", { class: "divider-line" }), this.renderActions()), h("div", { class: "body" }, h("slot", null))));
|
|
55
46
|
}
|
|
56
47
|
static get is() { return "limel-collapsible-section"; }
|
|
57
48
|
static get encapsulation() { return "shadow"; }
|
|
@@ -65,20 +65,20 @@
|
|
|
65
65
|
|
|
66
66
|
@media (prefers-color-scheme: light) {
|
|
67
67
|
.brand-colors .--color-glaucous-default,
|
|
68
|
-
.brand-colors .--color-gray-dark {
|
|
68
|
+
.brand-colors .--color-gray-dark {
|
|
69
69
|
border-radius: 50%;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
@media (prefers-color-scheme: dark) {
|
|
73
73
|
.brand-colors .--color-red-light,
|
|
74
|
-
.brand-colors .--color-magenta-default,
|
|
75
|
-
.brand-colors .--color-sky-light,
|
|
76
|
-
.brand-colors .--color-teal-light,
|
|
77
|
-
.brand-colors .--color-green-light,
|
|
78
|
-
.brand-colors .--color-amber-light,
|
|
79
|
-
.brand-colors .--color-amber-default,
|
|
80
|
-
.brand-colors .--color-coral-light,
|
|
81
|
-
.brand-colors .--color-gray-light {
|
|
74
|
+
.brand-colors .--color-magenta-default,
|
|
75
|
+
.brand-colors .--color-sky-light,
|
|
76
|
+
.brand-colors .--color-teal-light,
|
|
77
|
+
.brand-colors .--color-green-light,
|
|
78
|
+
.brand-colors .--color-amber-light,
|
|
79
|
+
.brand-colors .--color-amber-default,
|
|
80
|
+
.brand-colors .--color-coral-light,
|
|
81
|
+
.brand-colors .--color-gray-light {
|
|
82
82
|
border-radius: 50%;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -582,11 +582,13 @@
|
|
|
582
582
|
grid-template-columns: repeat(20, 1fr) auto;
|
|
583
583
|
}
|
|
584
584
|
|
|
585
|
-
|
|
586
|
-
* This file is
|
|
585
|
+
/**
|
|
586
|
+
* Note! This file is exported to `dist/scss/` in the published
|
|
587
|
+
* node module, for consumer projects to import.
|
|
588
|
+
* That means this file cannot import from any file that isn't
|
|
589
|
+
* also exported, keeping the same relative path.
|
|
587
590
|
*
|
|
588
|
-
*
|
|
589
|
-
* without being explicitly called by outside code.
|
|
591
|
+
* Or, just don't import anything, that works too.
|
|
590
592
|
*/
|
|
591
593
|
.picker-trigger[style="--background:lime-magenta;"]:after,
|
|
592
594
|
.chosen-color-preview[style="--background:lime-magenta;"]:after {
|
|
@@ -666,8 +668,8 @@
|
|
|
666
668
|
|
|
667
669
|
.picker-trigger {
|
|
668
670
|
border-radius: 0.5rem;
|
|
669
|
-
cursor: pointer;
|
|
670
671
|
transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
|
|
672
|
+
cursor: pointer;
|
|
671
673
|
color: var(--mdc-theme-on-surface);
|
|
672
674
|
background-color: var(--lime-elevated-surface-background-color);
|
|
673
675
|
box-shadow: var(--button-shadow-normal);
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
* This file is
|
|
1
|
+
/**
|
|
2
|
+
* Note! This file is exported to `dist/scss/` in the published
|
|
3
|
+
* node module, for consumer projects to import.
|
|
4
|
+
* That means this file cannot import from any file that isn't
|
|
5
|
+
* also exported, keeping the same relative path.
|
|
3
6
|
*
|
|
4
|
-
*
|
|
5
|
-
* without being explicitly called by outside code.
|
|
7
|
+
* Or, just don't import anything, that works too.
|
|
6
8
|
*/
|
|
7
9
|
.picker-trigger[style="--background:lime-magenta;"]:after,
|
|
8
10
|
.chosen-color-preview[style="--background:lime-magenta;"]:after {
|
|
@@ -82,8 +84,8 @@
|
|
|
82
84
|
|
|
83
85
|
.picker-trigger {
|
|
84
86
|
border-radius: 0.5rem;
|
|
85
|
-
cursor: pointer;
|
|
86
87
|
transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
|
|
88
|
+
cursor: pointer;
|
|
87
89
|
color: var(--mdc-theme-on-surface);
|
|
88
90
|
background-color: var(--lime-elevated-surface-background-color);
|
|
89
91
|
box-shadow: var(--button-shadow-normal);
|
|
@@ -36,6 +36,7 @@ const nativeFormatForType = {
|
|
|
36
36
|
* @exampleComponent limel-example-date-picker-formatted
|
|
37
37
|
* @exampleComponent limel-example-date-picker-programmatic-change
|
|
38
38
|
* @exampleComponent limel-example-date-picker-composite
|
|
39
|
+
* @exampleComponent limel-example-date-picker-custom-formatter
|
|
39
40
|
*/
|
|
40
41
|
export class DatePicker {
|
|
41
42
|
constructor() {
|
|
@@ -50,6 +51,7 @@ export class DatePicker {
|
|
|
50
51
|
this.hideCalendar();
|
|
51
52
|
}
|
|
52
53
|
};
|
|
54
|
+
this.formatValue = (value) => this.dateFormatter.formatDate(value, this.internalFormat);
|
|
53
55
|
this.disabled = false;
|
|
54
56
|
this.readonly = false;
|
|
55
57
|
this.invalid = false;
|
|
@@ -61,6 +63,7 @@ export class DatePicker {
|
|
|
61
63
|
this.type = 'datetime';
|
|
62
64
|
this.format = undefined;
|
|
63
65
|
this.language = 'en';
|
|
66
|
+
this.formatter = undefined;
|
|
64
67
|
this.formattedValue = undefined;
|
|
65
68
|
this.internalFormat = undefined;
|
|
66
69
|
this.showPortal = false;
|
|
@@ -79,7 +82,7 @@ export class DatePicker {
|
|
|
79
82
|
componentWillLoad() {
|
|
80
83
|
this.useNative = !this.readonly && (isIOSDevice() || isAndroidDevice());
|
|
81
84
|
this.updateInternalFormatAndType();
|
|
82
|
-
this.formattedValue = this.
|
|
85
|
+
this.formattedValue = this.formatValue(this.value);
|
|
83
86
|
}
|
|
84
87
|
componentWillUpdate() {
|
|
85
88
|
this.updateInternalFormatAndType();
|
|
@@ -97,12 +100,12 @@ export class DatePicker {
|
|
|
97
100
|
const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
|
|
98
101
|
return [
|
|
99
102
|
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)),
|
|
100
|
-
h("limel-portal", { containerId: this.portalId, visible: this.showPortal, containerStyle: { 'z-index': dropdownZIndex } }, 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 })),
|
|
103
|
+
h("limel-portal", { containerId: this.portalId, visible: this.showPortal, containerStyle: { 'z-index': dropdownZIndex } }, h("limel-flatpickr-adapter", { format: this.internalFormat, language: this.language, type: this.type, value: this.value, ref: (el) => (this.datePickerCalendar = el), isOpen: this.showPortal, formatter: this.formatValue, onChange: this.handleCalendarChange })),
|
|
101
104
|
];
|
|
102
105
|
}
|
|
103
106
|
onValueChange(newValue, oldValue) {
|
|
104
107
|
if (newValue !== oldValue && newValue !== this.formattedValue) {
|
|
105
|
-
this.formattedValue = this.
|
|
108
|
+
this.formattedValue = this.formatValue(this.value);
|
|
106
109
|
}
|
|
107
110
|
}
|
|
108
111
|
updateInternalFormatAndType() {
|
|
@@ -111,6 +114,9 @@ export class DatePicker {
|
|
|
111
114
|
if (this.useNative) {
|
|
112
115
|
this.internalFormat = this.nativeFormat;
|
|
113
116
|
}
|
|
117
|
+
else if (this.formatter) {
|
|
118
|
+
this.formatValue = this.formatter;
|
|
119
|
+
}
|
|
114
120
|
else if (this.format) {
|
|
115
121
|
this.internalFormat = this.format;
|
|
116
122
|
}
|
|
@@ -170,7 +176,7 @@ export class DatePicker {
|
|
|
170
176
|
}
|
|
171
177
|
handleCalendarChange(event) {
|
|
172
178
|
const date = event.detail;
|
|
173
|
-
this.formattedValue = this.
|
|
179
|
+
this.formattedValue = this.formatValue(date);
|
|
174
180
|
event.stopPropagation();
|
|
175
181
|
if (this.pickerIsAutoClosing()) {
|
|
176
182
|
this.hideCalendar();
|
|
@@ -400,7 +406,7 @@ export class DatePicker {
|
|
|
400
406
|
"mutable": false,
|
|
401
407
|
"complexType": {
|
|
402
408
|
"original": "Languages",
|
|
403
|
-
"resolved": "\"da\" | \"en\" | \"fi\" | \"nb\" | \"nl\" | \"no\" | \"sv\"",
|
|
409
|
+
"resolved": "\"da\" | \"de\" | \"en\" | \"fi\" | \"fr\" | \"nb\" | \"nl\" | \"no\" | \"sv\"",
|
|
404
410
|
"references": {
|
|
405
411
|
"Languages": {
|
|
406
412
|
"location": "import",
|
|
@@ -417,6 +423,25 @@ export class DatePicker {
|
|
|
417
423
|
"attribute": "language",
|
|
418
424
|
"reflect": true,
|
|
419
425
|
"defaultValue": "'en'"
|
|
426
|
+
},
|
|
427
|
+
"formatter": {
|
|
428
|
+
"type": "unknown",
|
|
429
|
+
"mutable": false,
|
|
430
|
+
"complexType": {
|
|
431
|
+
"original": "(date: Date) => string",
|
|
432
|
+
"resolved": "(date: Date) => string",
|
|
433
|
+
"references": {
|
|
434
|
+
"Date": {
|
|
435
|
+
"location": "global"
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
},
|
|
439
|
+
"required": false,
|
|
440
|
+
"optional": true,
|
|
441
|
+
"docs": {
|
|
442
|
+
"tags": [],
|
|
443
|
+
"text": "Custom formatting function. Will be used for date formatting.\n\n:::note\noverrides `format` and `language`\n:::"
|
|
444
|
+
}
|
|
420
445
|
}
|
|
421
446
|
};
|
|
422
447
|
}
|
|
@@ -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 moment from 'moment/moment';
|
|
8
9
|
export class DateFormatter {
|
|
9
10
|
constructor(language = 'en') {
|
|
@@ -22,7 +23,10 @@ export class DateFormatter {
|
|
|
22
23
|
return null;
|
|
23
24
|
}
|
|
24
25
|
getLanguage() {
|
|
25
|
-
|
|
26
|
+
if (this.language === 'no') {
|
|
27
|
+
return 'nb';
|
|
28
|
+
}
|
|
29
|
+
return this.language;
|
|
26
30
|
}
|
|
27
31
|
getDateFormat(type) {
|
|
28
32
|
return ({
|
|
@@ -64,6 +64,14 @@
|
|
|
64
64
|
);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
/**
|
|
68
|
+
* Note! This file is exported to `dist/scss/` in the published
|
|
69
|
+
* node module, for consumer projects to import.
|
|
70
|
+
* That means this file cannot import from any file that isn't
|
|
71
|
+
* also exported, keeping the same relative path.
|
|
72
|
+
*
|
|
73
|
+
* Or, just don't import anything, that works too.
|
|
74
|
+
*/
|
|
67
75
|
:root {
|
|
68
76
|
--mdc-theme-primary: #26a69a;
|
|
69
77
|
--mdc-theme-secondary: #575756;
|
|
@@ -634,6 +642,7 @@ svg {
|
|
|
634
642
|
}
|
|
635
643
|
.dayContainer .flatpickr-day {
|
|
636
644
|
transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
|
|
645
|
+
cursor: pointer;
|
|
637
646
|
color: var(--mdc-theme-on-surface);
|
|
638
647
|
background-color: transparent;
|
|
639
648
|
}
|
|
@@ -759,6 +768,7 @@ svg {
|
|
|
759
768
|
.arrowUp,
|
|
760
769
|
.arrowDown {
|
|
761
770
|
transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
|
|
771
|
+
cursor: pointer;
|
|
762
772
|
color: var(--mdc-theme-on-surface);
|
|
763
773
|
background-color: transparent;
|
|
764
774
|
border-radius: 0.25rem;
|
|
@@ -829,9 +839,9 @@ svg {
|
|
|
829
839
|
.datepicker-quarter,
|
|
830
840
|
.datepicker-year {
|
|
831
841
|
transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
|
|
842
|
+
cursor: pointer;
|
|
832
843
|
color: var(--mdc-theme-on-surface);
|
|
833
844
|
background-color: transparent;
|
|
834
|
-
cursor: pointer;
|
|
835
845
|
min-width: 0;
|
|
836
846
|
text-align: center;
|
|
837
847
|
}
|