@exmg/exm-date-picker 1.2.12

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 (38) hide show
  1. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/exm-date-picker-base.d.ts +31 -0
  2. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/exm-date-picker-base.js +152 -0
  3. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/exm-date-picker-input-base.d.ts +57 -0
  4. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/exm-date-picker-input-base.js +245 -0
  5. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/exm-date-picker-input.d.ts +18 -0
  6. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/exm-date-picker-input.js +21 -0
  7. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/exm-date-picker-year-grid.d.ts +14 -0
  8. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/exm-date-picker-year-grid.js +74 -0
  9. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/exm-date-picker.d.ts +18 -0
  10. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/exm-date-picker.js +21 -0
  11. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/index.d.ts +8 -0
  12. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/index.js +9 -0
  13. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/styles/exm-date-picker-input-styles-css.d.ts +1 -0
  14. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/styles/exm-date-picker-input-styles-css.js +23 -0
  15. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/styles/exm-date-picker-styles-css.d.ts +1 -0
  16. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/styles/exm-date-picker-styles-css.js +122 -0
  17. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/styles/exm-date-picker-year-grid-styles-css.d.ts +1 -0
  18. package/.rollup.cache/Users/tylerpepper/Development/@exmg/exm-web-components/packages/exm-date-picker/dist/styles/exm-date-picker-year-grid-styles-css.js +31 -0
  19. package/README.md +0 -0
  20. package/dist/exm-date-picker-base.d.ts +31 -0
  21. package/dist/exm-date-picker-base.js +155 -0
  22. package/dist/exm-date-picker-input-base.d.ts +57 -0
  23. package/dist/exm-date-picker-input-base.js +248 -0
  24. package/dist/exm-date-picker-input.d.ts +18 -0
  25. package/dist/exm-date-picker-input.js +23 -0
  26. package/dist/exm-date-picker-year-grid.d.ts +14 -0
  27. package/dist/exm-date-picker-year-grid.js +76 -0
  28. package/dist/exm-date-picker.d.ts +18 -0
  29. package/dist/exm-date-picker.js +23 -0
  30. package/dist/index.d.ts +8 -0
  31. package/dist/index.js +9 -0
  32. package/dist/styles/exm-date-picker-input-styles-css.d.ts +1 -0
  33. package/dist/styles/exm-date-picker-input-styles-css.js +26 -0
  34. package/dist/styles/exm-date-picker-styles-css.d.ts +1 -0
  35. package/dist/styles/exm-date-picker-styles-css.js +125 -0
  36. package/dist/styles/exm-date-picker-year-grid-styles-css.d.ts +1 -0
  37. package/dist/styles/exm-date-picker-year-grid-styles-css.js +34 -0
  38. package/package.json +47 -0
@@ -0,0 +1,23 @@
1
+ import { __decorate } from 'tslib';
2
+ import { customElement } from 'lit/decorators/custom-element.js';
3
+ import '@material/web/progress/circular-progress.js';
4
+ import { ExmDatePickerInputBase } from './exm-date-picker-input-base.js';
5
+ import { style } from './styles/exm-date-picker-input-styles-css.js';
6
+
7
+ /**
8
+ * exm-date-picker-input
9
+ *
10
+ * Material 3 styled date picker with input, form associated.
11
+ *
12
+ * @customElement exm-date-picker-input
13
+ * @extends ExmDatePickerInputBase
14
+ */
15
+ let ExmDatePickerInput = class ExmDatePickerInput extends ExmDatePickerInputBase {
16
+ };
17
+ ExmDatePickerInput.styles = [style];
18
+ ExmDatePickerInput = __decorate([
19
+ customElement('exm-date-picker-input')
20
+ ], ExmDatePickerInput);
21
+
22
+ export { ExmDatePickerInput };
23
+ //# sourceMappingURL=exm-date-picker-input.js.map
@@ -0,0 +1,14 @@
1
+ import '@material/web/button/text-button.js';
2
+ import { ExmgElement } from '@exmg/lit-base';
3
+ export declare class ExmDatePickerYearGrid extends ExmgElement {
4
+ year: any;
5
+ displayYear: any;
6
+ min?: number;
7
+ max?: number;
8
+ currentYear: any;
9
+ static styles: import("lit").CSSResult[];
10
+ private get years();
11
+ private isYearDisabled;
12
+ private selectYear;
13
+ render(): import("lit-html").TemplateResult<1>;
14
+ }
@@ -0,0 +1,76 @@
1
+ import { __decorate } from 'tslib';
2
+ import { html } from 'lit';
3
+ import { style } from './styles/exm-date-picker-year-grid-styles-css.js';
4
+ import { property, state, customElement } from 'lit/decorators.js';
5
+ import { classMap } from 'lit/directives/class-map.js';
6
+ import '@material/web/button/text-button.js';
7
+ import { ExmgElement } from '@exmg/lit-base';
8
+ import { DateTime } from 'luxon';
9
+
10
+ let ExmDatePickerYearGrid = class ExmDatePickerYearGrid extends ExmgElement {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.year = DateTime.now().year;
14
+ this.displayYear = this.year;
15
+ this.currentYear = DateTime.now().year;
16
+ }
17
+ get years() {
18
+ const start = Math.floor(this.displayYear / 24) * 24;
19
+ return Array.from({ length: 24 }, (_, i) => start + i);
20
+ }
21
+ isYearDisabled(year) {
22
+ if (this.min && year < DateTime.fromMillis(this.min).year) {
23
+ return true;
24
+ }
25
+ if (this.max && year > DateTime.fromMillis(this.max).year) {
26
+ return true;
27
+ }
28
+ return false;
29
+ }
30
+ selectYear(year) {
31
+ if (this.isYearDisabled(year)) {
32
+ return;
33
+ }
34
+ this.fire('year-change', year);
35
+ }
36
+ render() {
37
+ return html `
38
+ <div class="grid">
39
+ ${this.years.map((year) => html `
40
+ <md-text-button
41
+ class=${classMap({
42
+ selected: year === this.year,
43
+ current: year === this.currentYear,
44
+ })}
45
+ ?disabled=${this.isYearDisabled(year)}
46
+ @click=${() => this.selectYear(year)}
47
+ >
48
+ <span class="year">${year}</span>
49
+ </md-text-button>
50
+ `)}
51
+ </div>
52
+ `;
53
+ }
54
+ };
55
+ ExmDatePickerYearGrid.styles = [style];
56
+ __decorate([
57
+ property({ type: Number })
58
+ ], ExmDatePickerYearGrid.prototype, "year", void 0);
59
+ __decorate([
60
+ property({ type: Number })
61
+ ], ExmDatePickerYearGrid.prototype, "displayYear", void 0);
62
+ __decorate([
63
+ property({ type: Number })
64
+ ], ExmDatePickerYearGrid.prototype, "min", void 0);
65
+ __decorate([
66
+ property({ type: Number })
67
+ ], ExmDatePickerYearGrid.prototype, "max", void 0);
68
+ __decorate([
69
+ state()
70
+ ], ExmDatePickerYearGrid.prototype, "currentYear", void 0);
71
+ ExmDatePickerYearGrid = __decorate([
72
+ customElement('exm-date-picker-year-grid')
73
+ ], ExmDatePickerYearGrid);
74
+
75
+ export { ExmDatePickerYearGrid };
76
+ //# sourceMappingURL=exm-date-picker-year-grid.js.map
@@ -0,0 +1,18 @@
1
+ import '@material/web/progress/circular-progress.js';
2
+ import { ExmDatePickerBase } from './exm-date-picker-base.js';
3
+ /**
4
+ * exm-date-picker
5
+ *
6
+ * Material 3 styled date picker component.
7
+ *
8
+ * @customElement exm-date-picker
9
+ * @extends ExmDatePickerBase
10
+ */
11
+ export declare class ExmDatePicker extends ExmDatePickerBase {
12
+ static styles: import("lit").CSSResult[];
13
+ }
14
+ declare global {
15
+ interface HTMLElementTagNameMap {
16
+ 'exm-date-picker': ExmDatePicker;
17
+ }
18
+ }
@@ -0,0 +1,23 @@
1
+ import { __decorate } from 'tslib';
2
+ import { customElement } from 'lit/decorators/custom-element.js';
3
+ import '@material/web/progress/circular-progress.js';
4
+ import { style } from './styles/exm-date-picker-styles-css.js';
5
+ import { ExmDatePickerBase } from './exm-date-picker-base.js';
6
+
7
+ /**
8
+ * exm-date-picker
9
+ *
10
+ * Material 3 styled date picker component.
11
+ *
12
+ * @customElement exm-date-picker
13
+ * @extends ExmDatePickerBase
14
+ */
15
+ let ExmDatePicker = class ExmDatePicker extends ExmDatePickerBase {
16
+ };
17
+ ExmDatePicker.styles = [style];
18
+ ExmDatePicker = __decorate([
19
+ customElement('exm-date-picker')
20
+ ], ExmDatePicker);
21
+
22
+ export { ExmDatePicker };
23
+ //# sourceMappingURL=exm-date-picker.js.map
@@ -0,0 +1,8 @@
1
+ export { ExmDatePicker } from './exm-date-picker.js';
2
+ export { ExmDatePickerBase } from './exm-date-picker-base.js';
3
+ export { ExmDatePickerInput } from './exm-date-picker-input.js';
4
+ export { ExmDatePickerInputBase } from './exm-date-picker-input-base.js';
5
+ export { ExmDatePickerYearGrid } from './exm-date-picker-year-grid.js';
6
+ export { style as datePickerInputStyles } from './styles/exm-date-picker-input-styles-css.js';
7
+ export { style as datePickerYearGridStyles } from './styles/exm-date-picker-year-grid-styles-css.js';
8
+ export { style as datePickerStyles } from './styles/exm-date-picker-styles-css.js';
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ export { ExmDatePicker } from './exm-date-picker.js';
2
+ export { ExmDatePickerBase } from './exm-date-picker-base.js';
3
+ export { ExmDatePickerInput } from './exm-date-picker-input.js';
4
+ export { ExmDatePickerInputBase } from './exm-date-picker-input-base.js';
5
+ export { ExmDatePickerYearGrid } from './exm-date-picker-year-grid.js';
6
+ export { style as datePickerInputStyles } from './styles/exm-date-picker-input-styles-css.js';
7
+ export { style as datePickerYearGridStyles } from './styles/exm-date-picker-year-grid-styles-css.js';
8
+ export { style as datePickerStyles } from './styles/exm-date-picker-styles-css.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
@@ -0,0 +1,26 @@
1
+ import { css } from 'lit';
2
+
3
+ const style = css `
4
+ :host {
5
+ --md-menu-container-shape: 1rem;
6
+ --md-menu-container-elevation: 0;
7
+ --md-menu-top-space: 1.25rem;
8
+ --md-menu-bottom-space: 0.75rem;
9
+ --exm-date-picker-inline-padding: 0.75rem;
10
+
11
+ display: block;
12
+ width: 100%;
13
+ padding-inline: 0.75rem;
14
+ }
15
+
16
+ md-outlined-text-field {
17
+ width: 100%;
18
+ }
19
+
20
+ .icon {
21
+ cursor: pointer;
22
+ }
23
+ `;
24
+
25
+ export { style };
26
+ //# sourceMappingURL=exm-date-picker-input-styles-css.js.map
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
@@ -0,0 +1,125 @@
1
+ import { css } from 'lit';
2
+
3
+ const style = css `
4
+ :host {
5
+ display: block;
6
+ padding-inline: var(--exm-date-picker-inline-padding, 0);
7
+ }
8
+
9
+ calendar-month {
10
+ width: calc(40px * 7);
11
+ margin: 0 auto;
12
+ }
13
+
14
+ .year,
15
+ .arrow {
16
+ color: var(--md-sys-color-on-surface);
17
+ }
18
+
19
+ .heading {
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ width: 100%;
24
+ color: var(--md-sys-color-on-surface);
25
+ font-size: 14px;
26
+ font-weight: 500;
27
+ line-height: 20px;
28
+ text-transform: uppercase;
29
+ }
30
+
31
+ .month-year {
32
+ flex: 1;
33
+ margin-inline-start: 48px;
34
+ text-align: center;
35
+ }
36
+
37
+ calendar-month::part(heading) {
38
+ display: none;
39
+ }
40
+
41
+ calendar-month::part(day) {
42
+ color: var(--md-sys-color-on-surface-variant);
43
+ font-weight: bold;
44
+ }
45
+
46
+ calendar-month::part(button) {
47
+ box-sizing: border-box;
48
+ width: 40px;
49
+ height: 40px;
50
+ margin: 0;
51
+ border: 1px solid transparent;
52
+ border-radius: 50%;
53
+ background: transparent;
54
+ color: var(--md-sys-color-on-surface);
55
+ font-weight: 400;
56
+ }
57
+
58
+ calendar-month::part(button):hover,
59
+ calendar-month::part(button):focus-visible {
60
+ background: var(--md-sys-color-surface-container-highest);
61
+ }
62
+
63
+ calendar-month::part(button):focus-visible {
64
+ outline: none;
65
+ }
66
+
67
+ calendar-month::part(today) {
68
+ color: var(--md-sys-color-on-surface);
69
+ border-color: var(--md-sys-color-primary);
70
+ }
71
+
72
+ calendar-month::part(selected) {
73
+ background: var(--md-sys-color-primary);
74
+ color: var(--md-sys-color-on-primary);
75
+ border-color: transparent;
76
+ }
77
+
78
+ calendar-month::part(selected):hover {
79
+ background: var(--md-sys-color-primary);
80
+ color: var(--md-sys-color-on-primary);
81
+ }
82
+
83
+ calendar-month::part(today selected) {
84
+ box-shadow: inset 0 0 0 1px var(--md-sys-color-primary);
85
+ }
86
+
87
+ calendar-month::part(outside) {
88
+ color: var(--md-sys-color-on-surface-variant);
89
+ }
90
+
91
+ calendar-date::part(button) {
92
+ padding: 0.5rem;
93
+ border: none;
94
+ border-radius: 50%;
95
+ background: transparent;
96
+ }
97
+
98
+ calendar-date::part(button):hover {
99
+ background: var(--md-sys-color-surface-container-highest);
100
+ }
101
+
102
+ calendar-date::part(header) {
103
+ justify-content: flex-start;
104
+ }
105
+
106
+ calendar-date::part(heading) {
107
+ order: 1;
108
+ }
109
+
110
+ calendar-date::part(previous) {
111
+ order: 2;
112
+ margin-inline-start: auto;
113
+ }
114
+
115
+ calendar-date::part(next) {
116
+ order: 3;
117
+ }
118
+
119
+ .actions {
120
+ text-align: end;
121
+ }
122
+ `;
123
+
124
+ export { style };
125
+ //# sourceMappingURL=exm-date-picker-styles-css.js.map
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
@@ -0,0 +1,34 @@
1
+ import { css } from 'lit';
2
+
3
+ const style = css `
4
+ :host {
5
+ display: block;
6
+ width: 100%;
7
+ }
8
+
9
+ .grid {
10
+ display: grid;
11
+ grid-template-columns: repeat(4, 1fr);
12
+ gap: 8px 0;
13
+ }
14
+
15
+ md-text-button.selected {
16
+ background: var(--md-sys-color-primary);
17
+ --md-text-button-label-text-color: var(--md-sys-color-on-primary);
18
+
19
+ .year {
20
+ color: var(--md-sys-color-on-primary);
21
+ }
22
+ }
23
+
24
+ md-text-button.current {
25
+ border: 1px solid var(--md-sys-color-primary);
26
+ }
27
+
28
+ .year {
29
+ color: var(--md-sys-color-on-surface);
30
+ }
31
+ `;
32
+
33
+ export { style };
34
+ //# sourceMappingURL=exm-date-picker-year-grid-styles-css.js.map
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@exmg/exm-date-picker",
3
+ "version": "1.2.12",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "module": "dist/index.js",
8
+ "exports": {
9
+ ".": "./dist/index.js",
10
+ "./exm-date-picker.js": "./dist/exm-date-picker.js",
11
+ "./exm-date-picker-input.js": "./dist/exm-date-picker-input.js",
12
+ "./exm-date-picker-base.js": "./dist/exm-date-picker-base.js",
13
+ "./exm-date-picker-input-base.js": "./dist/exm-date-picker-input-base.js"
14
+ },
15
+ "dependencies": {
16
+ "@material/web": "^2.2.0",
17
+ "cally": "^0.9.2",
18
+ "luxon": "^3.7.2"
19
+ },
20
+ "peerDependencies": {
21
+ "@exmg/lit-base": "^3.0.3",
22
+ "lit": "^3.2.1",
23
+ "tslib": "^2.6.2"
24
+ },
25
+ "keywords": [
26
+ "web-components",
27
+ "lit",
28
+ "button"
29
+ ],
30
+ "files": [
31
+ "**/*.scss",
32
+ "**/*.js",
33
+ "**/*.d.ts"
34
+ ],
35
+ "homepage": "https://bitbucket.org/exmachina/exm-web-components",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git@bitbucket.org:exmachina/exm-web-components.git",
39
+ "directory": "packages/exm-date-picker"
40
+ },
41
+ "license": "MIT",
42
+ "scripts": {},
43
+ "publishConfig": {
44
+ "access": "public"
45
+ },
46
+ "gitHead": "33afcd441a5bccd35e17e1d6a87bc2dd56a39d38"
47
+ }