smoothly 0.1.67 → 0.1.71

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 (83) hide show
  1. package/dist/cjs/{Trigger-ea33b682.js → Trigger-74bd1ee8.js} +16 -0
  2. package/dist/cjs/{generate-5e7cd3f7.js → generate-7f7f7d99.js} +3 -2
  3. package/dist/cjs/{index-896ac706.js → index-7c9d0102.js} +806 -638
  4. package/dist/cjs/{index-2a5f8661.js → index-c973259c.js} +16 -0
  5. package/dist/cjs/{index-b8688617.js → index-e37f73fe.js} +89 -19
  6. package/dist/cjs/index.cjs.js +1 -1
  7. package/dist/cjs/smoothly-accordion_43.cjs.entry.js +917 -694
  8. package/dist/cjs/smoothly-calendar.cjs.entry.js +7 -7
  9. package/dist/cjs/smoothly-dialog.cjs.entry.js +1 -1
  10. package/dist/cjs/smoothly-display-amount.cjs.entry.js +2 -4
  11. package/dist/cjs/smoothly-display-demo.cjs.entry.js +1 -1
  12. package/dist/cjs/smoothly-display.cjs.entry.js +1 -1
  13. package/dist/cjs/smoothly-frame.cjs.entry.js +1 -1
  14. package/dist/cjs/smoothly-input-date-range.cjs.entry.js +1 -1
  15. package/dist/cjs/smoothly-input-date.cjs.entry.js +1 -1
  16. package/dist/cjs/smoothly-input-month.cjs.entry.js +11 -11
  17. package/dist/cjs/smoothly-input.cjs.entry.js +2 -2
  18. package/dist/cjs/smoothly-picker.cjs.entry.js +12 -17
  19. package/dist/cjs/smoothly-select.cjs.entry.js +1 -1
  20. package/dist/cjs/smoothly-table-header.cjs.entry.js +1 -1
  21. package/dist/cjs/smoothly-trigger-sink.cjs.entry.js +1 -1
  22. package/dist/cjs/smoothly-trigger-source.cjs.entry.js +1 -1
  23. package/dist/collection/components/calendar/generate.js +2 -1
  24. package/dist/collection/components/calendar/index.js +4 -4
  25. package/dist/collection/components/calendar/style.css +29 -11
  26. package/dist/collection/components/display-amount/index.js +1 -3
  27. package/dist/collection/components/input/index.js +1 -1
  28. package/dist/collection/components/input-month/index.js +8 -8
  29. package/dist/collection/components/input-month/style.css +0 -6
  30. package/dist/collection/components/picker/index.js +12 -17
  31. package/dist/collection/components/select/index.js +1 -1
  32. package/dist/collection/components/table/header/index.js +1 -1
  33. package/dist/custom-elements/index.js +943 -695
  34. package/dist/esm/{Trigger-c637fedf.js → Trigger-d7b181ec.js} +16 -0
  35. package/dist/esm/{generate-fc812e0f.js → generate-7090dc14.js} +3 -2
  36. package/dist/{smoothly/index-a7e44b28.js → esm/index-01fedb5b.js} +806 -638
  37. package/dist/esm/{index-046ba252.js → index-13251390.js} +89 -19
  38. package/dist/{smoothly/index-71e3ce99.js → esm/index-531e2f06.js} +16 -0
  39. package/dist/esm/index.js +1 -1
  40. package/dist/esm/smoothly-accordion_43.entry.js +917 -694
  41. package/dist/esm/smoothly-calendar.entry.js +7 -7
  42. package/dist/esm/smoothly-dialog.entry.js +1 -1
  43. package/dist/esm/smoothly-display-amount.entry.js +2 -4
  44. package/dist/esm/smoothly-display-demo.entry.js +1 -1
  45. package/dist/esm/smoothly-display.entry.js +1 -1
  46. package/dist/esm/smoothly-frame.entry.js +1 -1
  47. package/dist/esm/smoothly-input-date-range.entry.js +1 -1
  48. package/dist/esm/smoothly-input-date.entry.js +1 -1
  49. package/dist/esm/smoothly-input-month.entry.js +11 -11
  50. package/dist/esm/smoothly-input.entry.js +2 -2
  51. package/dist/esm/smoothly-picker.entry.js +12 -17
  52. package/dist/esm/smoothly-select.entry.js +1 -1
  53. package/dist/esm/smoothly-table-header.entry.js +1 -1
  54. package/dist/esm/smoothly-trigger-sink.entry.js +1 -1
  55. package/dist/esm/smoothly-trigger-source.entry.js +1 -1
  56. package/dist/smoothly/{generate-fc812e0f.js → generate-7090dc14.js} +3 -2
  57. package/dist/{esm/index-a7e44b28.js → smoothly/index-01fedb5b.js} +806 -638
  58. package/dist/smoothly/{index-046ba252.js → index-13251390.js} +89 -19
  59. package/dist/{esm/index-71e3ce99.js → smoothly/index-531e2f06.js} +16 -0
  60. package/dist/smoothly/index.esm.js +1 -1
  61. package/dist/smoothly/p-2cda1784.js +1 -0
  62. package/dist/smoothly/{p-24d838b1.entry.js → p-89fe12b0.entry.js} +1 -1
  63. package/dist/smoothly/p-c107b623.entry.js +1 -0
  64. package/dist/smoothly/{p-77f6d4bf.entry.js → p-e79800d9.entry.js} +1 -1
  65. package/dist/smoothly/smoothly-calendar.entry.js +7 -7
  66. package/dist/smoothly/smoothly-dialog.entry.js +1 -1
  67. package/dist/smoothly/smoothly-display-amount.entry.js +2 -4
  68. package/dist/smoothly/smoothly-display-demo.entry.js +1 -1
  69. package/dist/smoothly/smoothly-display.entry.js +1 -1
  70. package/dist/smoothly/smoothly-frame.entry.js +1 -1
  71. package/dist/smoothly/smoothly-input-date-range.entry.js +1 -1
  72. package/dist/smoothly/smoothly-input-date.entry.js +1 -1
  73. package/dist/smoothly/smoothly-input-month.entry.js +11 -11
  74. package/dist/smoothly/smoothly-input.entry.js +2 -2
  75. package/dist/smoothly/smoothly-picker.entry.js +12 -17
  76. package/dist/smoothly/smoothly-select.entry.js +1 -1
  77. package/dist/smoothly/smoothly-table-header.entry.js +1 -1
  78. package/dist/smoothly/smoothly-trigger-sink.entry.js +1 -1
  79. package/dist/smoothly/smoothly-trigger-source.entry.js +1 -1
  80. package/dist/types/components/input-month/index.d.ts +1 -1
  81. package/package.json +5 -5
  82. package/dist/smoothly/p-08ef34d4.js +0 -1
  83. package/dist/smoothly/p-bee6330e.entry.js +0 -1
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b7e6a72c.js');
6
- const index$1 = require('./index-b8688617.js');
7
- const generate = require('./generate-5e7cd3f7.js');
6
+ const index$1 = require('./index-e37f73fe.js');
7
+ const generate = require('./generate-7f7f7d99.js');
8
8
  require('./_commonjsHelpers-10109b76.js');
9
9
 
10
- const styleCss = ".sc-smoothly-calendar-h{display:block}.sc-smoothly-calendar-h>smoothly-input-month.sc-smoothly-calendar{width:calc(100% - 1em);padding:.5em .5em 0 .5em}th.sc-smoothly-calendar,td.sc-smoothly-calendar{text-align:center;padding:.5em;min-width:2em;background-color:rgb(var(--smoothly-default-shade))}td.sc-smoothly-calendar:nth-child(6),td.sc-smoothly-calendar:nth-child(7){color:rgb(var(--smoothly-light-shade))}td.sc-smoothly-calendar:not(.selected):hover{color:rgb(var(--smoothly-primary-contrast));background:rgb(var(--smoothly-primary-tint))}td.selected.sc-smoothly-calendar{color:rgb(var(--smoothly-primary-contrast));background:rgb(var(--smoothly-primary-color))}td.sc-smoothly-calendar:not(.selected,.dateRange).sc-smoothly-calendar:not(:hover).today{background:rgb(var(--smoothly-dark-tint));color:rgb(var(--smoothly-dark-contrast))}td.dateRange.sc-smoothly-calendar{color:rgb(var(--smoothly-primary-contrast));background:rgb(var(--smoothly-primary-tint))}";
10
+ const styleCss = ".sc-smoothly-calendar-h{display:block;--other-month-opacity:0.5}.sc-smoothly-calendar-h>smoothly-input-month.sc-smoothly-calendar{width:calc(100% - 1em);padding:0.5em 0.5em 0 0.5em}th.sc-smoothly-calendar,td.sc-smoothly-calendar{text-align:center;padding:0.5em;min-width:2em;background-color:rgb(var(--smoothly-default-shade));cursor:pointer;user-select:none}td.currentMonth.sc-smoothly-calendar{color:rgb(var(--smoothly-default-contrast))}td.sc-smoothly-calendar:not(.currentMonth){color:rgba(var(--smoothly-default-contrast), var(--other-month-opacity))}td.sc-smoothly-calendar:nth-child(6):not(.currentMonth).selected,td.sc-smoothly-calendar:nth-child(6):not(.currentMonth).dateRange,td.sc-smoothly-calendar:nth-child(7):not(.currentMonth).selected,td.sc-smoothly-calendar:nth-child(7):not(.currentMonth).dateRange{color:rgba(var(--smoothly-default-contrast))}td.sc-smoothly-calendar:nth-child(6),td.sc-smoothly-calendar:nth-child(7){color:rgb(var(--smoothly-danger-tint))}td.sc-smoothly-calendar:nth-child(6):not(.currentMonth),td.sc-smoothly-calendar:nth-child(7):not(.currentMonth){color:rgba(var(--smoothly-danger-tint), var(--other-month-opacity))}td.sc-smoothly-calendar:not(.selected):hover{color:rgb(var(--smoothly-primary-contrast));background:rgb(var(--smoothly-primary-tint))}td.selected.sc-smoothly-calendar{color:rgb(var(--smoothly-primary-contrast));background:rgb(var(--smoothly-primary-color))}td.sc-smoothly-calendar:not(.selected,.dateRange).sc-smoothly-calendar:not(:hover).today{background:rgb(var(--smoothly-dark-tint));color:rgb(var(--smoothly-dark-contrast))}td.dateRange.sc-smoothly-calendar{color:rgb(var(--smoothly-primary-contrast));background:rgb(var(--smoothly-primary-tint))}";
11
11
 
12
12
  const Calendar = class {
13
13
  constructor(hostRef) {
@@ -32,7 +32,7 @@ const Calendar = class {
32
32
  event.stopPropagation();
33
33
  } }),
34
34
  index.h("table", null, index.h("thead", null, index.h("tr", null, generate.weekdays().map(day => (index.h("th", null, day))))), generate.month((_b = this.month) !== null && _b !== void 0 ? _b : this.value).map(week => (index.h("tr", null, week.map(date => {
35
- var _a, _b;
35
+ var _a, _b, _c;
36
36
  return (index.h("td", { tabindex: 1, onClick: () => {
37
37
  this.valueChanged.emit((this.value = date));
38
38
  this.clickCounter += 1;
@@ -45,9 +45,9 @@ const Calendar = class {
45
45
  this.start = date;
46
46
  }
47
47
  }, class: (date == this.value ? ["selected"] : [])
48
- .concat(...(date == index$1.dist.Date.now() ? ["today"] : []), date == this.value ? ["selected"] : [], this.doubleInput
49
- ? index$1.dist.Date.parse(date) >= index$1.dist.Date.parse((_a = this.start) !== null && _a !== void 0 ? _a : "") &&
50
- index$1.dist.Date.parse(date) <= index$1.dist.Date.parse((_b = this.end) !== null && _b !== void 0 ? _b : "")
48
+ .concat(...(date == index$1.dist.Date.now() ? ["today"] : []), index$1.dist.Date.firstOfMonth((_a = this.month) !== null && _a !== void 0 ? _a : this.value) == index$1.dist.Date.firstOfMonth(date) ? ["currentMonth"] : [], this.doubleInput
49
+ ? index$1.dist.Date.parse(date) >= index$1.dist.Date.parse((_b = this.start) !== null && _b !== void 0 ? _b : "") &&
50
+ index$1.dist.Date.parse(date) <= index$1.dist.Date.parse((_c = this.end) !== null && _c !== void 0 ? _c : "")
51
51
  ? ["dateRange"]
52
52
  : []
53
53
  : "")
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b7e6a72c.js');
6
- const index$1 = require('./index-2a5f8661.js');
6
+ const index$1 = require('./index-c973259c.js');
7
7
 
8
8
  const styleCss = ".sc-smoothly-dialog-h{display:block;position:fixed;left:0;top:0;width:100%;height:100%;z-index:1;background:rgba(var(--smoothly-default-color), var(--smoothly-semitransparent)) !important}[hidden].sc-smoothly-dialog-h{display:none}.sc-smoothly-dialog-h>header.sc-smoothly-dialog{border-top-left-radius:8px;border-top-right-radius:8px;margin-top:2em;color:rgb(var(--smoothly-primary-contrast));background:rgb(var(--smoothly-primary-color));border-color:rgb(var(--smoothly-primary-color))}.sc-smoothly-dialog-h:not([header]) header.sc-smoothly-dialog{border:none}.sc-smoothly-dialog-h>*.sc-smoothly-dialog{position:relative;color:rgb(var(--smoothly-default-contrast));background-color:rgb(var(--smoothly-default-color));border-color:rgb(var(--smoothly-color));border-width:1px;border-style:solid;max-width:40em;width:calc(100vw - 4em - 2px);max-height:calc(100vh - 6em - 2px);height:auto;margin-left:auto;margin-right:auto;border-collapse:collapse}.sc-smoothly-dialog-h>main.sc-smoothly-dialog{border-bottom-left-radius:8px;border-bottom-right-radius:8px;margin-bottom:2em;border:1px solid rgb(var(--smoothly-default-contrast));box-sizing:border-box;overflow:hidden}.sc-smoothly-dialog-h:not([header]) main.sc-smoothly-dialog{border-radius:8px}.sc-smoothly-dialog-h>*.sc-smoothly-dialog>smoothly-trigger.sc-smoothly-dialog{position:absolute;right:-2em;top:-2em;z-index:1;border-color:transparent}.sc-smoothly-dialog-h>*.sc-smoothly-dialog>smoothly-trigger.sc-smoothly-dialog:hover{border-color:transparent}.sc-smoothly-dialog-h smoothly-icon.sc-smoothly-dialog{background-color:rgb(var(--smoothly-color));border-radius:50%}.sc-smoothly-dialog-h>*.sc-smoothly-dialog>*.sc-smoothly-dialog{margin:10px}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b7e6a72c.js');
6
- const index$1 = require('./index-b8688617.js');
6
+ const index$1 = require('./index-e37f73fe.js');
7
7
  require('./_commonjsHelpers-10109b76.js');
8
8
 
9
9
  const styleCss = ".sc-smoothly-display-amount-h{display:block}[hidden].sc-smoothly-display-amount-h{display:none}";
@@ -15,9 +15,7 @@ const SmoothlyDisplayAmount = class {
15
15
  format(amount) {
16
16
  const digitsPerGroup = 3;
17
17
  const defaultDecimals = 2;
18
- const maxDecimals = (index$1.dist.Currency.decimalDigits(this.currency)
19
- ? index$1.dist.Currency.decimalDigits(this.currency)
20
- : defaultDecimals);
18
+ const maxDecimals = (index$1.dist.Currency.decimalDigits(this.currency) ? index$1.dist.Currency.decimalDigits(this.currency) : defaultDecimals);
21
19
  let beforeSeparator = amount.length;
22
20
  let separator;
23
21
  let result = amount;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b7e6a72c.js');
6
- const index$1 = require('./index-2a5f8661.js');
6
+ const index$1 = require('./index-c973259c.js');
7
7
 
8
8
  const SmoothlyDisplayDemo = class {
9
9
  constructor(hostRef) {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b7e6a72c.js');
6
- const index$1 = require('./index-896ac706.js');
6
+ const index$1 = require('./index-7c9d0102.js');
7
7
  require('./_commonjsHelpers-10109b76.js');
8
8
 
9
9
  const styleCss = ".sc-smoothly-display-h{display:block}[hidden].sc-smoothly-display-h{display:none}";
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b7e6a72c.js');
6
- const index$1 = require('./index-2a5f8661.js');
6
+ const index$1 = require('./index-c973259c.js');
7
7
 
8
8
  const styleCss = ".sc-smoothly-frame-h{display:block;width:100%;height:100%}[hidden].sc-smoothly-frame-h{display:none}.sc-smoothly-frame-h>iframe.sc-smoothly-frame{border:none;padding:none;margin:none}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b7e6a72c.js');
6
- const index$1 = require('./index-b8688617.js');
6
+ const index$1 = require('./index-e37f73fe.js');
7
7
  require('./_commonjsHelpers-10109b76.js');
8
8
 
9
9
  const styleCss = ".sc-smoothly-input-date-range-h{position:relative;display:block}.sc-smoothly-input-date-range-h>nav.sc-smoothly-input-date-range{position:absolute;z-index:10;top:3.5em;background-color:rgb(var(--smoothly-default-shade));max-width:22em}.sc-smoothly-input-date-range-h>div.sc-smoothly-input-date-range{position:fixed;width:100vw;height:100vh;z-index:2}.sc-smoothly-input-date-range-h>nav.sc-smoothly-input-date-range>.arrow.sc-smoothly-input-date-range{position:absolute;z-index:9;transform:translate(10em, -.55em) rotate(45deg);width:1em;height:1em;background-color:rgb(var(--smoothly-default-shade))}.sc-smoothly-input-date-range-h>section.sc-smoothly-input-date-range{display:flex;flex-direction:row;align-items:center}.sc-smoothly-input-date-range-h>smoothly-input.sc-smoothly-input-date-range{padding:0}";
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b7e6a72c.js');
6
- const index$1 = require('./index-b8688617.js');
6
+ const index$1 = require('./index-e37f73fe.js');
7
7
  require('./_commonjsHelpers-10109b76.js');
8
8
 
9
9
  const styleCss = ".sc-smoothly-input-date-h{position:relative}nav.sc-smoothly-input-date{position:absolute;z-index:10;top:3.5em;background-color:rgb(var(--smoothly-default-shade));max-width:22em}.sc-smoothly-input-date-h>div.sc-smoothly-input-date{position:fixed;width:100vw;height:100vh;z-index:2}.sc-smoothly-input-date-h>nav.sc-smoothly-input-date>.arrow.sc-smoothly-input-date{position:absolute;z-index:9;transform:translate(2em, -.55em) rotate(45deg);width:1em;height:1em;background-color:rgb(var(--smoothly-default-shade))}";
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b7e6a72c.js');
6
- const index$1 = require('./index-b8688617.js');
7
- const generate = require('./generate-5e7cd3f7.js');
6
+ const index$1 = require('./index-e37f73fe.js');
7
+ const generate = require('./generate-7f7f7d99.js');
8
8
  require('./_commonjsHelpers-10109b76.js');
9
9
 
10
- const styleCss = ".sc-smoothly-input-month-h{display:flex;justify-content:space-between;font-size:large}button.sc-smoothly-input-month{border:none;background:none;cursor:pointer;font-size:large}smoothly-icon.sc-smoothly-input-month{font-size:smaller}";
10
+ const styleCss = ".sc-smoothly-input-month-h{display:flex;justify-content:space-between;font-size:large}smoothly-icon.sc-smoothly-input-month{font-size:smaller}";
11
11
 
12
12
  const MonthSelector = class {
13
13
  constructor(hostRef) {
@@ -17,21 +17,21 @@ const MonthSelector = class {
17
17
  onValueChanged(next) {
18
18
  this.valueChanged.emit(next);
19
19
  }
20
+ adjustMonth(delta) {
21
+ var _a;
22
+ const date = index$1.dist.Date.parse((_a = this.value) !== null && _a !== void 0 ? _a : index$1.dist.Date.now());
23
+ date.setMonth(date.getMonth() + delta);
24
+ this.value = index$1.dist.Date.create(date);
25
+ }
20
26
  render() {
21
27
  var _a, _b;
22
28
  return [
23
- index.h("button", { onClick: () => this.adjustMonth(-1) }, index.h("smoothly-icon", { name: "chevron-back-outline", size: "small" })),
29
+ index.h("div", { onClick: () => this.adjustMonth(-1) }, index.h("smoothly-icon", { name: "chevron-back-outline", size: "small" })),
24
30
  index.h("smoothly-selector", { onSelected: (e) => (this.value = e.detail) }, generate.years((_a = this.value) !== null && _a !== void 0 ? _a : index$1.dist.Date.now()).map(year => (index.h("smoothly-item", { value: year.date, selected: year.selected }, year.name)))),
25
31
  index.h("smoothly-selector", { onSelected: (e) => (this.value = e.detail) }, generate.months((_b = this.value) !== null && _b !== void 0 ? _b : index$1.dist.Date.now()).map(month => (index.h("smoothly-item", { value: month.date, selected: month.selected }, month.name)))),
26
- index.h("button", { onClick: () => this.adjustMonth(1) }, index.h("smoothly-icon", { name: "chevron-forward-outline", size: "small" })),
32
+ index.h("div", { onClick: () => this.adjustMonth(1) }, index.h("smoothly-icon", { name: "chevron-forward-outline", size: "small" })),
27
33
  ];
28
34
  }
29
- adjustMonth(delta) {
30
- var _a;
31
- const date = index$1.dist.Date.parse((_a = this.value) !== null && _a !== void 0 ? _a : index$1.dist.Date.now());
32
- date.setMonth(date.getMonth() + delta);
33
- this.value = index$1.dist.Date.create(date);
34
- }
35
35
  static get watchers() { return {
36
36
  "value": ["onValueChanged"]
37
37
  }; }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b7e6a72c.js');
6
- const index$1 = require('./index-896ac706.js');
6
+ const index$1 = require('./index-7c9d0102.js');
7
7
  require('./_commonjsHelpers-10109b76.js');
8
8
 
9
9
  const styleCss = ".sc-smoothly-input-h{display:block;position:relative}[hidden].sc-smoothly-input-h{display:none}label.sc-smoothly-input{position:absolute;left:0.4em;top:0.6em;color:rgb(var(--smoothly-text-tint));opacity:0.8;user-select:none;cursor:inherit;transition:font-size 0.1s;transition-timing-function:ease}input.sc-smoothly-input{padding:1em 0.2em 0.2em 0.2em;width:calc(100% - 0.4em);background:none;border:0;z-index:1;position:relative;font-size:1rem;font-family:var(--smoothly-font-family)}smoothly-icon.sc-smoothly-input{display:none;position:absolute;right:0.2em;top:0.6em}input.sc-smoothly-input:invalid+smoothly-icon.sc-smoothly-input{display:block}.has-value.sc-smoothly-input-h>label.sc-smoothly-input{top:0.3em;top:0.4em;font-size:60%;z-index:0}.sc-smoothly-input-h:focus-within>label.sc-smoothly-input{top:0.3em;top:0.4em;font-size:60%;z-index:0}input.sc-smoothly-input:focus{outline:none}input.sc-smoothly-input:-webkit-autofill,input.sc-smoothly-input:-webkit-autofill:hover,input.sc-smoothly-input:-webkit-autofill:focus,input.sc-smoothly-input:-webkit-autofill:active{box-shadow:0 0 0 30px unset inset !important;-webkit-box-shadow:0 0 0 30px unset inset !important}input.sc-smoothly-input:-webkit-autofill{-webkit-text-fill-color:unset !important}input.sc-smoothly-input:-internal-autofill-previewed,input.sc-smoothly-input:-internal-autofill-selected,textarea.sc-smoothly-input:-internal-autofill-previewed,textarea.sc-smoothly-input:-internal-autofill-selected,select.sc-smoothly-input:-internal-autofill-previewed,select.sc-smoothly-input:-internal-autofill-selected{background-color:none !important;background-image:none !important;color:unset !important}";
@@ -88,7 +88,7 @@ const SmoothlyInput = class {
88
88
  end: backend.selectionEnd != undefined ? backend.selectionEnd : backend.value.length,
89
89
  direction: backend.selectionDirection ? backend.selectionDirection : "none",
90
90
  } });
91
- if ((!(event.ctrlKey && event.key == "v") && event.key.length == 1) ||
91
+ if ((!((event.ctrlKey || event.metaKey) && event.key == "v") && event.key.length == 1) ||
92
92
  event.key == "ArrowLeft" ||
93
93
  event.key == "ArrowRight" ||
94
94
  event.key == "Delete" ||
@@ -40,14 +40,11 @@ const SmoothlyPicker = class {
40
40
  : this.select(option);
41
41
  }
42
42
  clearSelection() {
43
- var _a;
44
43
  this.selections = [];
45
44
  this.inputElement.focus();
46
45
  this.keepFocusOnReRender = true;
47
- (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach(option => (option.description = ""));
48
46
  }
49
47
  unselect(selection) {
50
- var _a;
51
48
  const index = this.selections.map(selection => selection.value).indexOf(selection.value);
52
49
  if (index != -1) {
53
50
  this.selections = [
@@ -56,12 +53,8 @@ const SmoothlyPicker = class {
56
53
  ];
57
54
  this.keepFocusOnReRender = true;
58
55
  }
59
- const optionIndex = (_a = this.options) === null || _a === void 0 ? void 0 : _a.map(s => s.value).indexOf(selection.value);
60
- if (optionIndex != -1)
61
- this.options[optionIndex].description = "";
62
56
  }
63
57
  select(selection) {
64
- var _a;
65
58
  const isNewSelection = this.selections.reduce((acc, current) => acc && current.value != selection.value, true);
66
59
  if (isNewSelection)
67
60
  this.selections = this.multiple ? [...this.selections, selection] : [selection];
@@ -69,8 +62,6 @@ const SmoothlyPicker = class {
69
62
  this.filterOptions();
70
63
  this.keepFocusOnReRender = true;
71
64
  this.isOpen = this.multiple;
72
- (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach(option => (option.description =
73
- option.value == selection.value ? this.getCheckHtml() : this.multiple ? option.description : ""));
74
65
  }
75
66
  toggleHighlighted() {
76
67
  var _a;
@@ -130,14 +121,18 @@ const SmoothlyPicker = class {
130
121
  "--max-height": (_a = this.maxHeight) !== null && _a !== void 0 ? _a : "inherit",
131
122
  "--label-display": this.labelSetting == "hide" ? "none" : "absolute",
132
123
  };
133
- return (index.h(index.Host, { style: cssVariables, "has-selection": this.selections.length > 0, "is-open": this.isOpen ? "" : undefined, onMouseDown: (e) => e.preventDefault(), onClick: () => this.onClick() }, index.h("div", null, index.h("label", null, this.label), index.h("input", { type: "text", ref: (el) => (this.inputElement = el ? el : this.inputElement), onFocus: () => this.highlightDefault(), onBlur: () => this.onBlur(), placeholder: this.selections.map(selection => selection.name).join(", "), onKeyDown: e => this.onKeyDown(e), onInput: (e) => this.onInput(e) })), index.h("smoothly-menu-options", { style: { width: "100%" }, optionStyle: Object.assign({ padding: "0 1em", height: "2.5em" }, this.optionStyle), order: false, emptyMenuLabel: this.emptyMenuLabel, "max-menu-height": this.maxMenuHeight, ref: (el) => (this.menuElement = el !== null && el !== void 0 ? el : this.menuElement), onClick: e => e.stopPropagation(), resetHighlightOnOptionsChange: false, options: [
134
- {
135
- value: "select-none",
136
- name: this.selectNoneName,
137
- description: this.selections.length == 0 ? this.getCheckHtml() : "",
138
- },
139
- ...((_b = this.options) !== null && _b !== void 0 ? _b : []),
140
- ] })));
124
+ this.options.forEach(o => {
125
+ o.description = this.selections.map(s => s.value).includes(o.value) ? this.getCheckHtml() : "";
126
+ });
127
+ const options = [
128
+ {
129
+ value: "select-none",
130
+ name: this.selectNoneName,
131
+ description: this.selections.length == 0 ? this.getCheckHtml() : "",
132
+ },
133
+ ...((_b = this.options) !== null && _b !== void 0 ? _b : []),
134
+ ];
135
+ return (index.h(index.Host, { style: cssVariables, "has-selection": this.selections.length > 0, "is-open": this.isOpen ? "" : undefined, onMouseDown: (e) => e.preventDefault(), onClick: () => this.onClick() }, index.h("div", null, index.h("label", null, this.label), index.h("input", { type: "text", ref: (el) => (this.inputElement = el ? el : this.inputElement), onFocus: () => this.highlightDefault(), onBlur: () => this.onBlur(), placeholder: this.selections.map(selection => selection.name).join(", "), onKeyDown: e => this.onKeyDown(e), onInput: (e) => this.onInput(e) })), index.h("smoothly-menu-options", { style: { width: "100%" }, optionStyle: Object.assign({ padding: "0 1em", height: "2.5em" }, this.optionStyle), order: false, emptyMenuLabel: this.emptyMenuLabel, "max-menu-height": this.maxMenuHeight, ref: (el) => (this.menuElement = el !== null && el !== void 0 ? el : this.menuElement), onClick: e => e.stopPropagation(), resetHighlightOnOptionsChange: false, options: options })));
141
136
  }
142
137
  get element() { return index.getElement(this); }
143
138
  static get watchers() { return {
@@ -13,7 +13,7 @@ const SmoothlySelect = class {
13
13
  }
14
14
  optionSelected() {
15
15
  if (this.selectElement)
16
- this.selectionChanged.emit({ identifier: this.identifier, value: this.value = this.selectElement.value });
16
+ this.selectionChanged.emit({ identifier: this.identifier, value: (this.value = this.selectElement.value) });
17
17
  }
18
18
  componentDidLoad() {
19
19
  var _a;
@@ -14,7 +14,7 @@ const TableHeader = class {
14
14
  onClick(event) {
15
15
  this.sort.emit({
16
16
  property: this.name,
17
- direction: this.sortDirection = this.sortDirection == "ascending" ? "descending" : "ascending",
17
+ direction: (this.sortDirection = this.sortDirection == "ascending" ? "descending" : "ascending"),
18
18
  });
19
19
  console.log("sort", this.name, this.sortDirection);
20
20
  event.preventDefault();
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b7e6a72c.js');
6
- const index$1 = require('./index-2a5f8661.js');
6
+ const index$1 = require('./index-c973259c.js');
7
7
 
8
8
  const styleCss = ".sc-smoothly-trigger-sink-h{display:block}[hidden].sc-smoothly-trigger-sink-h{display:none}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b7e6a72c.js');
6
- const index$1 = require('./index-2a5f8661.js');
6
+ const index$1 = require('./index-c973259c.js');
7
7
 
8
8
  const styleCss = ".sc-smoothly-trigger-source-h{display:block}[hidden].sc-smoothly-trigger-source-h{display:none}";
9
9
 
@@ -11,7 +11,8 @@ export function month(date) {
11
11
  d.setDate(day++);
12
12
  r.push(isoly.Date.create(d));
13
13
  }
14
- result.push(r);
14
+ if (row < 5 || isoly.Date.firstOfMonth(r[0]) == isoly.Date.firstOfMonth(date))
15
+ result.push(r);
15
16
  }
16
17
  return result;
17
18
  }
@@ -23,7 +23,7 @@ export class Calendar {
23
23
  h("thead", null,
24
24
  h("tr", null, generate.weekdays().map(day => (h("th", null, day))))),
25
25
  generate.month((_b = this.month) !== null && _b !== void 0 ? _b : this.value).map(week => (h("tr", null, week.map(date => {
26
- var _a, _b;
26
+ var _a, _b, _c;
27
27
  return (h("td", { tabindex: 1, onClick: () => {
28
28
  this.valueChanged.emit((this.value = date));
29
29
  this.clickCounter += 1;
@@ -36,9 +36,9 @@ export class Calendar {
36
36
  this.start = date;
37
37
  }
38
38
  }, class: (date == this.value ? ["selected"] : [])
39
- .concat(...(date == Date.now() ? ["today"] : []), date == this.value ? ["selected"] : [], this.doubleInput
40
- ? Date.parse(date) >= Date.parse((_a = this.start) !== null && _a !== void 0 ? _a : "") &&
41
- Date.parse(date) <= Date.parse((_b = this.end) !== null && _b !== void 0 ? _b : "")
39
+ .concat(...(date == Date.now() ? ["today"] : []), Date.firstOfMonth((_a = this.month) !== null && _a !== void 0 ? _a : this.value) == Date.firstOfMonth(date) ? ["currentMonth"] : [], this.doubleInput
40
+ ? Date.parse(date) >= Date.parse((_b = this.start) !== null && _b !== void 0 ? _b : "") &&
41
+ Date.parse(date) <= Date.parse((_c = this.end) !== null && _c !== void 0 ? _c : "")
42
42
  ? ["dateRange"]
43
43
  : []
44
44
  : "")
@@ -1,35 +1,53 @@
1
1
  :host {
2
- display: block;
2
+ display: block;
3
+ --other-month-opacity: 0.5;
3
4
  }
4
5
  :host > smoothly-input-month {
5
6
  width: calc(100% - 1em);
6
- padding: .5em .5em 0 .5em;
7
+ padding: 0.5em 0.5em 0 0.5em;
7
8
  }
8
9
  th,
9
10
  td {
10
11
  text-align: center;
11
- padding: .5em;
12
+ padding: 0.5em;
12
13
  min-width: 2em;
13
14
  background-color: rgb(var(--smoothly-default-shade));
15
+ cursor: pointer;
16
+ user-select: none;
17
+ }
18
+ td.currentMonth {
19
+ color: rgb(var(--smoothly-default-contrast));
20
+ }
21
+ td:not(.currentMonth) {
22
+ color: rgba(var(--smoothly-default-contrast), var(--other-month-opacity));
23
+ }
24
+ td:nth-child(6):not(.currentMonth).selected,
25
+ td:nth-child(6):not(.currentMonth).dateRange,
26
+ td:nth-child(7):not(.currentMonth).selected,
27
+ td:nth-child(7):not(.currentMonth).dateRange {
28
+ color: rgba(var(--smoothly-default-contrast));
14
29
  }
15
-
16
30
  td:nth-child(6),
17
31
  td:nth-child(7) {
18
- color: rgb(var(--smoothly-light-shade));
32
+ color: rgb(var(--smoothly-danger-tint));
33
+ }
34
+ td:nth-child(6):not(.currentMonth),
35
+ td:nth-child(7):not(.currentMonth) {
36
+ color: rgba(var(--smoothly-danger-tint), var(--other-month-opacity));
19
37
  }
20
38
  td:not(.selected):hover {
21
- color: rgb(var(--smoothly-primary-contrast));
22
- background: rgb(var(--smoothly-primary-tint));
39
+ color: rgb(var(--smoothly-primary-contrast));
40
+ background: rgb(var(--smoothly-primary-tint));
23
41
  }
24
42
  td.selected {
25
- color: rgb(var(--smoothly-primary-contrast));
26
- background: rgb(var(--smoothly-primary-color));
43
+ color: rgb(var(--smoothly-primary-contrast));
44
+ background: rgb(var(--smoothly-primary-color));
27
45
  }
28
46
  td:not(.selected,.dateRange):not(:hover).today {
29
- background: rgb(var(--smoothly-dark-tint));
47
+ background: rgb(var(--smoothly-dark-tint));
30
48
  color: rgb(var(--smoothly-dark-contrast));
31
49
  }
32
50
  td.dateRange {
33
51
  color: rgb(var(--smoothly-primary-contrast));
34
- background: rgb(var(--smoothly-primary-tint));
52
+ background: rgb(var(--smoothly-primary-tint));
35
53
  }
@@ -4,9 +4,7 @@ export class SmoothlyDisplayAmount {
4
4
  format(amount) {
5
5
  const digitsPerGroup = 3;
6
6
  const defaultDecimals = 2;
7
- const maxDecimals = (Currency.decimalDigits(this.currency)
8
- ? Currency.decimalDigits(this.currency)
9
- : defaultDecimals);
7
+ const maxDecimals = (Currency.decimalDigits(this.currency) ? Currency.decimalDigits(this.currency) : defaultDecimals);
10
8
  let beforeSeparator = amount.length;
11
9
  let separator;
12
10
  let result = amount;
@@ -78,7 +78,7 @@ export class SmoothlyInput {
78
78
  end: backend.selectionEnd != undefined ? backend.selectionEnd : backend.value.length,
79
79
  direction: backend.selectionDirection ? backend.selectionDirection : "none",
80
80
  } });
81
- if ((!(event.ctrlKey && event.key == "v") && event.key.length == 1) ||
81
+ if ((!((event.ctrlKey || event.metaKey) && event.key == "v") && event.key.length == 1) ||
82
82
  event.key == "ArrowLeft" ||
83
83
  event.key == "ArrowRight" ||
84
84
  event.key == "Delete" ||
@@ -5,23 +5,23 @@ export class MonthSelector {
5
5
  onValueChanged(next) {
6
6
  this.valueChanged.emit(next);
7
7
  }
8
+ adjustMonth(delta) {
9
+ var _a;
10
+ const date = Date.parse((_a = this.value) !== null && _a !== void 0 ? _a : Date.now());
11
+ date.setMonth(date.getMonth() + delta);
12
+ this.value = Date.create(date);
13
+ }
8
14
  render() {
9
15
  var _a, _b;
10
16
  return [
11
- h("button", { onClick: () => this.adjustMonth(-1) },
17
+ h("div", { onClick: () => this.adjustMonth(-1) },
12
18
  h("smoothly-icon", { name: "chevron-back-outline", size: "small" })),
13
19
  h("smoothly-selector", { onSelected: (e) => (this.value = e.detail) }, generate.years((_a = this.value) !== null && _a !== void 0 ? _a : Date.now()).map(year => (h("smoothly-item", { value: year.date, selected: year.selected }, year.name)))),
14
20
  h("smoothly-selector", { onSelected: (e) => (this.value = e.detail) }, generate.months((_b = this.value) !== null && _b !== void 0 ? _b : Date.now()).map(month => (h("smoothly-item", { value: month.date, selected: month.selected }, month.name)))),
15
- h("button", { onClick: () => this.adjustMonth(1) },
21
+ h("div", { onClick: () => this.adjustMonth(1) },
16
22
  h("smoothly-icon", { name: "chevron-forward-outline", size: "small" })),
17
23
  ];
18
24
  }
19
- adjustMonth(delta) {
20
- var _a;
21
- const date = Date.parse((_a = this.value) !== null && _a !== void 0 ? _a : Date.now());
22
- date.setMonth(date.getMonth() + delta);
23
- this.value = Date.create(date);
24
- }
25
25
  static get is() { return "smoothly-input-month"; }
26
26
  static get encapsulation() { return "scoped"; }
27
27
  static get originalStyleUrls() { return {
@@ -3,12 +3,6 @@
3
3
  justify-content: space-between;
4
4
  font-size: large;
5
5
  }
6
- button {
7
- border: none;
8
- background: none;
9
- cursor: pointer;
10
- font-size: large;
11
- }
12
6
  smoothly-icon {
13
7
  font-size: smaller;
14
8
  }
@@ -31,14 +31,11 @@ export class SmoothlyPicker {
31
31
  : this.select(option);
32
32
  }
33
33
  clearSelection() {
34
- var _a;
35
34
  this.selections = [];
36
35
  this.inputElement.focus();
37
36
  this.keepFocusOnReRender = true;
38
- (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach(option => (option.description = ""));
39
37
  }
40
38
  unselect(selection) {
41
- var _a;
42
39
  const index = this.selections.map(selection => selection.value).indexOf(selection.value);
43
40
  if (index != -1) {
44
41
  this.selections = [
@@ -47,12 +44,8 @@ export class SmoothlyPicker {
47
44
  ];
48
45
  this.keepFocusOnReRender = true;
49
46
  }
50
- const optionIndex = (_a = this.options) === null || _a === void 0 ? void 0 : _a.map(s => s.value).indexOf(selection.value);
51
- if (optionIndex != -1)
52
- this.options[optionIndex].description = "";
53
47
  }
54
48
  select(selection) {
55
- var _a;
56
49
  const isNewSelection = this.selections.reduce((acc, current) => acc && current.value != selection.value, true);
57
50
  if (isNewSelection)
58
51
  this.selections = this.multiple ? [...this.selections, selection] : [selection];
@@ -60,8 +53,6 @@ export class SmoothlyPicker {
60
53
  this.filterOptions();
61
54
  this.keepFocusOnReRender = true;
62
55
  this.isOpen = this.multiple;
63
- (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach(option => (option.description =
64
- option.value == selection.value ? this.getCheckHtml() : this.multiple ? option.description : ""));
65
56
  }
66
57
  toggleHighlighted() {
67
58
  var _a;
@@ -121,18 +112,22 @@ export class SmoothlyPicker {
121
112
  "--max-height": (_a = this.maxHeight) !== null && _a !== void 0 ? _a : "inherit",
122
113
  "--label-display": this.labelSetting == "hide" ? "none" : "absolute",
123
114
  };
115
+ this.options.forEach(o => {
116
+ o.description = this.selections.map(s => s.value).includes(o.value) ? this.getCheckHtml() : "";
117
+ });
118
+ const options = [
119
+ {
120
+ value: "select-none",
121
+ name: this.selectNoneName,
122
+ description: this.selections.length == 0 ? this.getCheckHtml() : "",
123
+ },
124
+ ...((_b = this.options) !== null && _b !== void 0 ? _b : []),
125
+ ];
124
126
  return (h(Host, { style: cssVariables, "has-selection": this.selections.length > 0, "is-open": this.isOpen ? "" : undefined, onMouseDown: (e) => e.preventDefault(), onClick: () => this.onClick() },
125
127
  h("div", null,
126
128
  h("label", null, this.label),
127
129
  h("input", { type: "text", ref: (el) => (this.inputElement = el ? el : this.inputElement), onFocus: () => this.highlightDefault(), onBlur: () => this.onBlur(), placeholder: this.selections.map(selection => selection.name).join(", "), onKeyDown: e => this.onKeyDown(e), onInput: (e) => this.onInput(e) })),
128
- h("smoothly-menu-options", { style: { width: "100%" }, optionStyle: Object.assign({ padding: "0 1em", height: "2.5em" }, this.optionStyle), order: false, emptyMenuLabel: this.emptyMenuLabel, "max-menu-height": this.maxMenuHeight, ref: (el) => (this.menuElement = el !== null && el !== void 0 ? el : this.menuElement), onClick: e => e.stopPropagation(), resetHighlightOnOptionsChange: false, options: [
129
- {
130
- value: "select-none",
131
- name: this.selectNoneName,
132
- description: this.selections.length == 0 ? this.getCheckHtml() : "",
133
- },
134
- ...((_b = this.options) !== null && _b !== void 0 ? _b : []),
135
- ] })));
130
+ h("smoothly-menu-options", { style: { width: "100%" }, optionStyle: Object.assign({ padding: "0 1em", height: "2.5em" }, this.optionStyle), order: false, emptyMenuLabel: this.emptyMenuLabel, "max-menu-height": this.maxMenuHeight, ref: (el) => (this.menuElement = el !== null && el !== void 0 ? el : this.menuElement), onClick: e => e.stopPropagation(), resetHighlightOnOptionsChange: false, options: options })));
136
131
  }
137
132
  static get is() { return "smoothly-picker"; }
138
133
  static get encapsulation() { return "shadow"; }
@@ -2,7 +2,7 @@ import { Component, Event, h, Prop } from "@stencil/core";
2
2
  export class SmoothlySelect {
3
3
  optionSelected() {
4
4
  if (this.selectElement)
5
- this.selectionChanged.emit({ identifier: this.identifier, value: this.value = this.selectElement.value });
5
+ this.selectionChanged.emit({ identifier: this.identifier, value: (this.value = this.selectElement.value) });
6
6
  }
7
7
  componentDidLoad() {
8
8
  var _a;
@@ -3,7 +3,7 @@ export class TableHeader {
3
3
  onClick(event) {
4
4
  this.sort.emit({
5
5
  property: this.name,
6
- direction: this.sortDirection = this.sortDirection == "ascending" ? "descending" : "ascending",
6
+ direction: (this.sortDirection = this.sortDirection == "ascending" ? "descending" : "ascending"),
7
7
  });
8
8
  console.log("sort", this.name, this.sortDirection);
9
9
  event.preventDefault();