@nuralyui/datepicker 0.0.4 → 0.0.6

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 (82) hide show
  1. package/bundle.js +788 -0
  2. package/datepicker.component.d.ts +189 -0
  3. package/datepicker.component.js +668 -0
  4. package/datepicker.component.js.map +1 -0
  5. package/datepicker.constant.d.ts +60 -0
  6. package/datepicker.constant.js +60 -0
  7. package/datepicker.constant.js.map +1 -0
  8. package/datepicker.style.d.ts +17 -0
  9. package/datepicker.style.js +455 -0
  10. package/datepicker.style.js.map +1 -0
  11. package/datepicker.style.variables.d.ts +2 -0
  12. package/datepicker.style.variables.js +119 -0
  13. package/datepicker.style.variables.js.map +1 -0
  14. package/datepicker.types.d.ts +113 -10
  15. package/datepicker.types.js +67 -0
  16. package/datepicker.types.js.map +1 -1
  17. package/index.d.ts +3 -1
  18. package/index.js +3 -1
  19. package/index.js.map +1 -1
  20. package/package.json +16 -2
  21. package/react.d.ts +15 -2
  22. package/react.js +17 -4
  23. package/react.js.map +1 -1
  24. package/constants.d.ts +0 -2
  25. package/constants.d.ts.map +0 -1
  26. package/constants.js +0 -2
  27. package/constants.js.map +0 -1
  28. package/core/day.helper.d.ts +0 -5
  29. package/core/day.helper.d.ts.map +0 -1
  30. package/core/day.helper.js +0 -53
  31. package/core/day.helper.js.map +0 -1
  32. package/core/formatter.d.ts +0 -2
  33. package/core/formatter.d.ts.map +0 -1
  34. package/core/formatter.js +0 -9
  35. package/core/formatter.js.map +0 -1
  36. package/core/locale.helper.d.ts +0 -144
  37. package/core/locale.helper.d.ts.map +0 -1
  38. package/core/locale.helper.js +0 -151
  39. package/core/locale.helper.js.map +0 -1
  40. package/core/month.helper.d.ts +0 -3
  41. package/core/month.helper.d.ts.map +0 -1
  42. package/core/month.helper.js +0 -24
  43. package/core/month.helper.js.map +0 -1
  44. package/core/string.helper.d.ts +0 -2
  45. package/core/string.helper.d.ts.map +0 -1
  46. package/core/string.helper.js +0 -4
  47. package/core/string.helper.js.map +0 -1
  48. package/date-picker.component.d.ts +0 -80
  49. package/date-picker.component.d.ts.map +0 -1
  50. package/date-picker.component.js +0 -475
  51. package/date-picker.component.js.map +0 -1
  52. package/date-picker.style.d.ts +0 -2
  53. package/date-picker.style.d.ts.map +0 -1
  54. package/date-picker.style.js +0 -223
  55. package/date-picker.style.js.map +0 -1
  56. package/datepicker.types.d.ts.map +0 -1
  57. package/demo/date-picker-demo.d.ts +0 -18
  58. package/demo/date-picker-demo.d.ts.map +0 -1
  59. package/demo/date-picker-demo.js +0 -95
  60. package/demo/date-picker-demo.js.map +0 -1
  61. package/index.d.ts.map +0 -1
  62. package/react.d.ts.map +0 -1
  63. package/templates/days.template.d.ts +0 -4
  64. package/templates/days.template.d.ts.map +0 -1
  65. package/templates/days.template.js +0 -28
  66. package/templates/days.template.js.map +0 -1
  67. package/templates/headers.template.d.ts +0 -2
  68. package/templates/headers.template.d.ts.map +0 -1
  69. package/templates/headers.template.js +0 -5
  70. package/templates/headers.template.js.map +0 -1
  71. package/templates/months.template.d.ts +0 -6
  72. package/templates/months.template.d.ts.map +0 -1
  73. package/templates/months.template.js +0 -10
  74. package/templates/months.template.js.map +0 -1
  75. package/templates/years.template.d.ts +0 -6
  76. package/templates/years.template.d.ts.map +0 -1
  77. package/templates/years.template.js +0 -11
  78. package/templates/years.template.js.map +0 -1
  79. package/test/datepicker_test.d.ts +0 -2
  80. package/test/datepicker_test.d.ts.map +0 -1
  81. package/test/datepicker_test.js +0 -132
  82. package/test/datepicker_test.js.map +0 -1
@@ -1,132 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { expect, fixture, html } from '@open-wc/testing';
11
- import '../date-picker.component';
12
- import { HyDatePickerElement } from '../date-picker.component';
13
- import { Mode } from '../datepicker.types';
14
- suite('HyDatePickerElement', () => {
15
- test('should be defined', () => __awaiter(void 0, void 0, void 0, function* () {
16
- const el = yield fixture(html `<hy-datepicker></hy-datepicker>`);
17
- expect(el).to.be.instanceOf(HyDatePickerElement);
18
- }));
19
- test('should open the calendar when input is focused', () => __awaiter(void 0, void 0, void 0, function* () {
20
- const el = yield fixture(html `<hy-datepicker></hy-datepicker>`);
21
- const input = el.shadowRoot.querySelector('hy-input');
22
- input.dispatchEvent(new Event('focus'));
23
- expect(el.openedCalendar).to.be.true;
24
- }));
25
- test('should close the calendar when clicking outside', () => __awaiter(void 0, void 0, void 0, function* () {
26
- const el = yield fixture(html `<hy-datepicker></hy-datepicker>`);
27
- el.openedCalendar = true;
28
- document.body.click();
29
- expect(el.openedCalendar).to.be.false;
30
- }));
31
- test('should move to next month', () => __awaiter(void 0, void 0, void 0, function* () {
32
- var _a;
33
- const el = yield fixture(html `<hy-datepicker></hy-datepicker>`);
34
- const currentMonth = 1;
35
- el.navigationDates = { start: { month: currentMonth, day: 1, year: 2023 } };
36
- el.openedCalendar = true;
37
- yield el.updateComplete;
38
- const nextMonthButton = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.next-month');
39
- nextMonthButton.click();
40
- expect(el.navigationDates.start.month).to.equal(currentMonth + 1);
41
- }));
42
- test('should move to previous month', () => __awaiter(void 0, void 0, void 0, function* () {
43
- var _b;
44
- const el = yield fixture(html `<hy-datepicker></hy-datepicker>`);
45
- const currentMonth = 2;
46
- el.navigationDates = { start: { month: currentMonth, day: 1, year: 2023 } };
47
- el.openedCalendar = true;
48
- yield el.updateComplete;
49
- const previousMonthButton = (_b = el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.prev-month');
50
- previousMonthButton.click();
51
- expect(el.navigationDates.start.month).to.equal(currentMonth - 1);
52
- }));
53
- test('should move to next year when displaying last month and click next month', () => __awaiter(void 0, void 0, void 0, function* () {
54
- var _c;
55
- const el = yield fixture(html `<hy-datepicker></hy-datepicker>`);
56
- const currentYear = 2023;
57
- el.navigationDates = { start: { month: 12, day: 1, year: currentYear } };
58
- el.openedCalendar = true;
59
- yield el.updateComplete;
60
- const nextMonthButton = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.next-month');
61
- nextMonthButton.click();
62
- expect(el.navigationDates.start.month).to.equal(1);
63
- expect(el.navigationDates.start.year).to.equal(currentYear + 1);
64
- }));
65
- test('should move to previous year when displaying first month and click next month', () => __awaiter(void 0, void 0, void 0, function* () {
66
- var _d;
67
- const el = yield fixture(html `<hy-datepicker></hy-datepicker>`);
68
- const currentYear = 2023;
69
- el.navigationDates = { start: { month: 1, day: 1, year: currentYear } };
70
- el.openedCalendar = true;
71
- yield el.updateComplete;
72
- const previousMonthButton = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.prev-month');
73
- previousMonthButton.click();
74
- expect(el.navigationDates.start.month).to.equal(12);
75
- expect(el.navigationDates.start.year).to.equal(currentYear - 1);
76
- }));
77
- test('should move to previous year', () => __awaiter(void 0, void 0, void 0, function* () {
78
- var _e;
79
- const el = yield fixture(html `<hy-datepicker></hy-datepicker>`);
80
- const currentYear = 2023;
81
- el.navigationDates = { start: { month: 2, day: 1, year: currentYear } };
82
- el.openedCalendar = true;
83
- yield el.updateComplete;
84
- const previousYearButton = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.previous-year');
85
- previousYearButton.click();
86
- expect(el.navigationDates.start.year).to.equal(currentYear - 1);
87
- }));
88
- test('should move to next year', () => __awaiter(void 0, void 0, void 0, function* () {
89
- var _f;
90
- const el = yield fixture(html `<hy-datepicker></hy-datepicker>`);
91
- const currentyear = 2023;
92
- el.navigationDates = { start: { month: 2, day: 1, year: currentyear } };
93
- el.openedCalendar = true;
94
- yield el.updateComplete;
95
- const nextYearButton = (_f = el.shadowRoot) === null || _f === void 0 ? void 0 : _f.querySelector('.next-year');
96
- nextYearButton.click();
97
- expect(el.navigationDates.start.year).to.equal(currentyear + 1);
98
- }));
99
- test('should select a date correctly', () => __awaiter(void 0, void 0, void 0, function* () {
100
- const el = yield fixture(html `<hy-datepicker></hy-datepicker>`);
101
- el.navigationDates = { start: { month: 2, day: 20, year: 2023 } };
102
- el.openedCalendar = true;
103
- yield el.updateComplete;
104
- const days = el.shadowRoot.querySelectorAll('.day-container:not(.day-invalid)');
105
- const dayInTheMonth = 2;
106
- days[dayInTheMonth].click();
107
- yield el.updateComplete;
108
- expect(el.inputFieldValue).to.equal(`03/02/2023`);
109
- }));
110
- test('should select a month correctly', () => __awaiter(void 0, void 0, void 0, function* () {
111
- const el = yield fixture(html `<hy-datepicker></hy-datepicker>`);
112
- el.openedCalendar = true;
113
- el.prevMode = Mode.Month;
114
- yield el.updateComplete;
115
- const months = el.shadowRoot.querySelectorAll('.month-container');
116
- const monthIndex = 1;
117
- months[monthIndex].click();
118
- expect(el.navigationDates.start.month).to.equal(monthIndex + 1);
119
- }));
120
- test('should select a year correctly', () => __awaiter(void 0, void 0, void 0, function* () {
121
- const el = yield fixture(html `<hy-datepicker></hy-datepicker>`);
122
- el.openedCalendar = true;
123
- el.prevMode = Mode.Year;
124
- yield el.updateComplete;
125
- const years = el.shadowRoot.querySelectorAll('.year-container');
126
- const yearIndex = 1;
127
- years[yearIndex].click();
128
- const yearValue = years[yearIndex].textContent;
129
- expect(el.navigationDates.start.year).to.equal(+yearValue);
130
- }));
131
- });
132
- //# sourceMappingURL=datepicker_test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datepicker_test.js","sourceRoot":"","sources":["../../../../src/components/datepicker/test/datepicker_test.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, fixture, html} from '@open-wc/testing';\nimport '../date-picker.component';\nimport {HyDatePickerElement} from '../date-picker.component';\nimport {Mode} from '../datepicker.types';\n\nsuite('HyDatePickerElement', () => {\n test('should be defined', async () => {\n const el = await fixture<HyDatePickerElement>(html`<hy-datepicker></hy-datepicker>`);\n expect(el).to.be.instanceOf(HyDatePickerElement);\n });\n\n test('should open the calendar when input is focused', async () => {\n const el = await fixture<HyDatePickerElement>(html`<hy-datepicker></hy-datepicker>`);\n const input = el.shadowRoot!.querySelector('hy-input');\n input!.dispatchEvent(new Event('focus'));\n expect(el.openedCalendar).to.be.true;\n });\n\n test('should close the calendar when clicking outside', async () => {\n const el = await fixture<HyDatePickerElement>(html`<hy-datepicker></hy-datepicker>`);\n el.openedCalendar = true;\n document.body.click();\n expect(el.openedCalendar).to.be.false;\n });\n\n test('should move to next month', async () => {\n const el = await fixture<HyDatePickerElement>(html`<hy-datepicker></hy-datepicker>`);\n const currentMonth = 1;\n el.navigationDates = {start: {month: currentMonth, day: 1, year: 2023}};\n el.openedCalendar = true;\n await el.updateComplete;\n const nextMonthButton = el.shadowRoot?.querySelector('.next-month') as HTMLButtonElement;\n nextMonthButton!.click();\n expect(el.navigationDates.start.month).to.equal(currentMonth + 1);\n });\n test('should move to previous month', async () => {\n const el = await fixture<HyDatePickerElement>(html`<hy-datepicker></hy-datepicker>`);\n const currentMonth = 2;\n el.navigationDates = {start: {month: currentMonth, day: 1, year: 2023}};\n el.openedCalendar = true;\n await el.updateComplete;\n const previousMonthButton = el.shadowRoot?.querySelector('.prev-month') as HTMLButtonElement;\n previousMonthButton!.click();\n expect(el.navigationDates.start.month).to.equal(currentMonth - 1);\n });\n test('should move to next year when displaying last month and click next month', async () => {\n const el = await fixture<HyDatePickerElement>(html`<hy-datepicker></hy-datepicker>`);\n const currentYear = 2023;\n el.navigationDates = {start: {month: 12, day: 1, year: currentYear}};\n el.openedCalendar = true;\n await el.updateComplete;\n const nextMonthButton = el.shadowRoot?.querySelector('.next-month') as HTMLButtonElement;\n nextMonthButton!.click();\n expect(el.navigationDates.start.month).to.equal(1);\n expect(el.navigationDates.start.year).to.equal(currentYear + 1);\n });\n\n test('should move to previous year when displaying first month and click next month', async () => {\n const el = await fixture<HyDatePickerElement>(html`<hy-datepicker></hy-datepicker>`);\n const currentYear = 2023;\n el.navigationDates = {start: {month: 1, day: 1, year: currentYear}};\n el.openedCalendar = true;\n await el.updateComplete;\n const previousMonthButton = el.shadowRoot?.querySelector('.prev-month') as HTMLButtonElement;\n previousMonthButton!.click();\n expect(el.navigationDates.start.month).to.equal(12);\n expect(el.navigationDates.start.year).to.equal(currentYear - 1);\n });\n\n test('should move to previous year', async () => {\n const el = await fixture<HyDatePickerElement>(html`<hy-datepicker></hy-datepicker>`);\n const currentYear = 2023;\n el.navigationDates = {start: {month: 2, day: 1, year: currentYear}};\n el.openedCalendar = true;\n await el.updateComplete;\n const previousYearButton = el.shadowRoot?.querySelector('.previous-year') as HTMLButtonElement;\n previousYearButton!.click();\n expect(el.navigationDates.start.year).to.equal(currentYear - 1);\n });\n test('should move to next year', async () => {\n const el = await fixture<HyDatePickerElement>(html`<hy-datepicker></hy-datepicker>`);\n const currentyear = 2023;\n el.navigationDates = {start: {month: 2, day: 1, year: currentyear}};\n el.openedCalendar = true;\n await el.updateComplete;\n const nextYearButton = el.shadowRoot?.querySelector('.next-year') as HTMLButtonElement;\n nextYearButton!.click();\n expect(el.navigationDates.start.year).to.equal(currentyear + 1);\n });\n test('should select a date correctly', async () => {\n const el = await fixture<HyDatePickerElement>(html`<hy-datepicker></hy-datepicker>`);\n el.navigationDates = {start: {month: 2, day: 20, year: 2023}};\n el.openedCalendar = true;\n await el.updateComplete;\n const days = el.shadowRoot!.querySelectorAll('.day-container:not(.day-invalid)')!;\n const dayInTheMonth = 2;\n (days[dayInTheMonth] as HTMLElement).click();\n await el.updateComplete;\n expect(el.inputFieldValue).to.equal(`03/02/2023`);\n });\n test('should select a month correctly', async () => {\n const el = await fixture<HyDatePickerElement>(html`<hy-datepicker></hy-datepicker>`);\n el.openedCalendar = true;\n el.prevMode = Mode.Month;\n await el.updateComplete;\n const months = el.shadowRoot!.querySelectorAll('.month-container')!;\n const monthIndex = 1;\n (months[monthIndex] as HTMLElement).click();\n expect(el.navigationDates.start.month).to.equal(monthIndex + 1);\n });\n test('should select a year correctly', async () => {\n const el = await fixture<HyDatePickerElement>(html`<hy-datepicker></hy-datepicker>`);\n el.openedCalendar = true;\n el.prevMode = Mode.Year;\n await el.updateComplete;\n const years = el.shadowRoot!.querySelectorAll('.year-container')!;\n const yearIndex = 1;\n (years[yearIndex] as HTMLElement).click();\n const yearValue = years[yearIndex].textContent!;\n expect(el.navigationDates.start.year).to.equal(+yearValue);\n });\n});\n"]}