framework7 8.0.1 → 8.0.2

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 (40) hide show
  1. package/components/app/app.less +19 -1
  2. package/components/dialog/dialog-rtl.css +1 -1
  3. package/components/dialog/dialog-vars.less +1 -6
  4. package/components/dialog/dialog.css +1 -1
  5. package/components/fab/fab-rtl.css +1 -1
  6. package/components/fab/fab-vars.less +9 -10
  7. package/components/fab/fab.css +1 -1
  8. package/components/input/input-rtl.css +1 -1
  9. package/components/input/input-vars.less +1 -2
  10. package/components/input/input.css +1 -1
  11. package/components/messagebar/messagebar-rtl.css +1 -1
  12. package/components/messagebar/messagebar-vars.less +3 -0
  13. package/components/messagebar/messagebar.css +1 -1
  14. package/components/messagebar/messagebar.less +3 -0
  15. package/components/searchbar/searchbar-rtl.css +1 -1
  16. package/components/searchbar/searchbar-vars.less +1 -1
  17. package/components/searchbar/searchbar.css +1 -1
  18. package/components/text-editor/text-editor-rtl.css +1 -1
  19. package/components/text-editor/text-editor-vars.less +3 -2
  20. package/components/text-editor/text-editor.css +1 -1
  21. package/framework7-bundle-rtl.css +41 -22
  22. package/framework7-bundle-rtl.min.css +5 -5
  23. package/framework7-bundle.css +41 -22
  24. package/framework7-bundle.esm.js +2 -2
  25. package/framework7-bundle.js +75 -43
  26. package/framework7-bundle.js.map +1 -1
  27. package/framework7-bundle.less +2 -2
  28. package/framework7-bundle.min.css +5 -5
  29. package/framework7-bundle.min.js +3 -3
  30. package/framework7-bundle.min.js.map +1 -1
  31. package/framework7-lite-bundle.esm.js +2 -2
  32. package/framework7-lite.esm.js +2 -2
  33. package/framework7-rtl.css +21 -2
  34. package/framework7-rtl.min.css +3 -3
  35. package/framework7.css +21 -2
  36. package/framework7.esm.js +2 -2
  37. package/framework7.less +2 -2
  38. package/framework7.min.css +3 -3
  39. package/package.json +2 -2
  40. package/shared/material-color-utils.js +73 -41
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.0.1
2
+ * Framework7 8.0.2
3
3
  * Full featured mobile HTML framework for building iOS & Android apps
4
4
  * https://framework7.io/
5
5
  *
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Released under the MIT License
9
9
  *
10
- * Released on: April 6, 2023
10
+ * Released on: April 12, 2023
11
11
  */
12
12
 
13
13
  /*====================
@@ -138,6 +138,9 @@
138
138
  font-weight: 400;
139
139
  font-style: normal;
140
140
  }
141
+ html {
142
+ overscroll-behavior: none;
143
+ }
141
144
  html,
142
145
  body,
143
146
  .framework7-root {
@@ -152,6 +155,7 @@ body {
152
155
  width: 100%;
153
156
  background: #fff;
154
157
  overflow: hidden;
158
+ overflow-y: scroll;
155
159
  -webkit-text-size-adjust: 100%;
156
160
  -webkit-font-smoothing: antialiased;
157
161
  font-family: var(--f7-font-family);
@@ -159,6 +163,21 @@ body {
159
163
  line-height: var(--f7-line-height);
160
164
  color: var(--f7-text-color);
161
165
  }
166
+ body::-webkit-scrollbar {
167
+ width: 0px;
168
+ background: transparent;
169
+ position: relative;
170
+ }
171
+ body::-webkit-scrollbar-track {
172
+ box-shadow: none;
173
+ background: transparent;
174
+ }
175
+ body::-webkit-scrollbar-thumb {
176
+ background-color: transparent;
177
+ outline: none;
178
+ border-radius: 9999px;
179
+ position: relative;
180
+ }
162
181
  .dark body,
163
182
  body.dark {
164
183
  background: #000;
@@ -5275,11 +5294,6 @@ i.icon {
5275
5294
  --f7-dialog-input-border-width: 0px;
5276
5295
  --f7-dialog-preloader-size: 32px;
5277
5296
  --f7-dialog-input-bg-color: transparent;
5278
- --f7-dialog-input-placeholder-color: rgba(0, 0, 0, 0.35);
5279
- }
5280
- .md .dark,
5281
- .md.dark {
5282
- --f7-dialog-input-placeholder-color: rgba(255, 255, 255, 0.54);
5283
5297
  }
5284
5298
  .md,
5285
5299
  .md .dark,
@@ -5289,6 +5303,7 @@ i.icon {
5289
5303
  --f7-dialog-button-strong-text-color: var(--f7-md-on-primary);
5290
5304
  --f7-dialog-button-strong-pressed-bg-color: transparent;
5291
5305
  --f7-dialog-bg-color: var(--f7-md-surface-3);
5306
+ --f7-dialog-input-placeholder-color: var(--f7-md-on-surface-variant);
5292
5307
  --f7-dialog-text-color: var(--f7-md-on-surface-variant);
5293
5308
  --f7-dialog-title-text-color: var(--f7-md-on-surface);
5294
5309
  }
@@ -10196,17 +10211,16 @@ html.with-modal-sheet-push-closing .framework7-root > .panel-in.panel-push.panel
10196
10211
  */
10197
10212
  --f7-floating-label-scale: calc(16 / 12);
10198
10213
  --f7-input-clear-button-size: 24px;
10199
- --f7-input-placeholder-color: rgba(0, 0, 0, 0.35);
10200
10214
  --f7-input-info-text-color: rgba(0, 0, 0, 0.45);
10201
10215
  }
10202
10216
  .md .dark,
10203
10217
  .md.dark {
10204
- --f7-input-placeholder-color: rgba(255, 255, 255, 0.35);
10205
10218
  --f7-input-info-text-color: rgba(255, 255, 255, 0.45);
10206
10219
  }
10207
10220
  .md,
10208
10221
  .md .dark,
10209
10222
  .md [class*='color-'] {
10223
+ --f7-input-placeholder-color: var(--f7-md-on-surface-variant);
10210
10224
  --f7-input-item-bg-color: var(--f7-md-surface-variant);
10211
10225
  --f7-input-border-color: var(--f7-md-outline);
10212
10226
  --f7-input-clear-button-color: var(--f7-md-on-surface-variant);
@@ -14390,20 +14404,20 @@ table.data-table {
14390
14404
  :root {
14391
14405
  --f7-fab-margin: 16px;
14392
14406
  --f7-fab-extended-text-font-size: 14px;
14393
- --f7-fab-extended-text-padding: 0 20px;
14394
14407
  --f7-fab-label-padding: 4px 12px;
14395
14408
  --f7-fab-label-font-size: inherit;
14396
14409
  --f7-fab-button-size: 40px;
14397
- /* --f7-fab-bg-color: var(--f7-theme-color)); */
14398
14410
  }
14399
14411
  .ios {
14400
14412
  /* --f7-fab-pressed-bg-color: var(--f7-theme-color-shade); */
14413
+ /* --f7-fab-bg-color: var(--f7-theme-color)); */
14401
14414
  --f7-fab-text-color: #fff;
14402
14415
  --f7-fab-border-radius: 50px;
14403
14416
  --f7-fab-size: 50px;
14404
14417
  --f7-fab-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.4);
14405
14418
  --f7-fab-extended-text-transform: uppercase;
14406
14419
  --f7-fab-extended-size: 50px;
14420
+ --f7-fab-extended-text-padding: 0 20px;
14407
14421
  --f7-fab-extended-text-font-weight: 600;
14408
14422
  --f7-fab-extended-text-letter-spacing: 0;
14409
14423
  --f7-fab-label-border-radius: 4px;
@@ -14417,22 +14431,20 @@ table.data-table {
14417
14431
  */
14418
14432
  --f7-fab-border-radius: 16px;
14419
14433
  --f7-fab-size: 56px;
14420
- --f7-fab-box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2),
14421
- 0px 6px 10px 0px rgba(0, 0, 0, 0.14),
14422
- 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
14423
- --f7-fab-extended-size: 48px;
14434
+ --f7-fab-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25);
14435
+ --f7-fab-extended-size: 56px;
14436
+ --f7-fab-extended-text-padding: 0 16px;
14424
14437
  --f7-fab-extended-text-font-weight: 500;
14425
14438
  --f7-fab-extended-text-letter-spacing: 0;
14426
14439
  --f7-fab-extended-text-transform: none;
14427
14440
  --f7-fab-label-border-radius: 8px;
14428
- --f7-fab-label-box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2),
14429
- 0px 3px 4px 0px rgba(0, 0, 0, 0.14),
14430
- 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
14441
+ --f7-fab-label-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25);
14431
14442
  }
14432
14443
  .md,
14433
14444
  .md .dark,
14434
14445
  .md [class*='color-'] {
14435
- --f7-fab-text-color: var(--f7-md-on-primary);
14446
+ --f7-fab-bg-color: var(--f7-md-primary-container);
14447
+ --f7-fab-text-color: var(--f7-md-on-primary-container);
14436
14448
  --f7-fab-label-text-color: var(--f7-md-on-surface);
14437
14449
  --f7-fab-label-bg-color: var(--f7-md-surface-5);
14438
14450
  }
@@ -14952,10 +14964,10 @@ table.data-table {
14952
14964
  }
14953
14965
  .ios .dark,
14954
14966
  .ios.dark {
14967
+ --f7-searchbar-placeholder-color: rgba(255, 255, 255, 0.4);
14955
14968
  --f7-searchbar-input-text-color: #fff;
14956
14969
  --f7-searchbar-search-icon-color: rgba(255, 255, 255, 0.4);
14957
14970
  --f7-searchbar-input-bg-color: #2a2a2a;
14958
- --f7-searchbar-placeholder-color: rgba(255, 255, 255, 0.4);
14959
14971
  }
14960
14972
  .md {
14961
14973
  --f7-searchbar-border-color: transparent;
@@ -16036,6 +16048,7 @@ table.data-table {
16036
16048
  --f7-messagebar-attachment-border-radius: 12px;
16037
16049
  --f7-messagebar-attachment-height: 155px;
16038
16050
  --f7-messagebar-attachment-landscape-height: 120px;
16051
+ --f7-messagebar-textarea-placeholder-color: rgba(0, 0, 0, 0.4);
16039
16052
  --f7-messagebar-textarea-text-color: #000;
16040
16053
  --f7-messagebar-textarea-border: 1px solid #c8c8cd;
16041
16054
  --f7-messagebar-attachments-border-color: #c8c8cd;
@@ -16044,6 +16057,7 @@ table.data-table {
16044
16057
  }
16045
16058
  .ios .dark,
16046
16059
  .ios.dark {
16060
+ --f7-messagebar-textarea-placeholder-color: rgba(255, 255, 255, 0.4);
16047
16061
  --f7-messagebar-textarea-text-color: #fff;
16048
16062
  --f7-messagebar-textarea-border: 1px solid var(--f7-bars-border-color);
16049
16063
  --f7-messagebar-attachments-border-color: var(--f7-bars-border-color);
@@ -16068,6 +16082,7 @@ table.data-table {
16068
16082
  .md,
16069
16083
  .md .dark,
16070
16084
  .md [class*='color-'] {
16085
+ --f7-messagebar-textarea-placeholder-color: var(--f7-md-on-surface-variant);
16071
16086
  --f7-messagebar-textarea-bg-color: var(--f7-md-surface-variant);
16072
16087
  --f7-messagebar-bg-color: var(--f7-md-surface);
16073
16088
  --f7-messagebar-textarea-text-color: var(--f7-md-on-surface);
@@ -16141,6 +16156,9 @@ table.data-table {
16141
16156
  line-height: var(--f7-messagebar-textarea-line-height);
16142
16157
  border: var(--f7-messagebar-textarea-border);
16143
16158
  }
16159
+ .messagebar textarea::placeholder {
16160
+ color: var(--f7-messagebar-textarea-placeholder-color);
16161
+ }
16144
16162
  .messagebar a.link {
16145
16163
  align-self: flex-end;
16146
16164
  flex-shrink: 0;
@@ -18776,18 +18794,17 @@ a.treeview-item-root.active-state {
18776
18794
  --f7-text-editor-text-color: #000;
18777
18795
  --f7-text-editor-bg-color: #fff;
18778
18796
  --f7-text-editor-button-divider-color: rgba(0, 0, 0, 0.15);
18779
- --f7-text-editor-placeholder-color: rgba(0, 0, 0, 0.35);
18780
18797
  }
18781
18798
  :root .dark,
18782
18799
  :root.dark {
18783
18800
  --f7-text-editor-bg-color: #121212;
18784
18801
  --f7-text-editor-text-color: #fff;
18785
- --f7-text-editor-placeholder-color: rgba(255, 255, 255, 0.35);
18786
18802
  --f7-text-editor-button-divider-color: rgba(255, 255, 255, 0.15);
18787
18803
  }
18788
18804
  .ios {
18789
18805
  --f7-text-editor-toolbar-padding: 6px;
18790
18806
  --f7-text-editor-button-border-radius: 2px;
18807
+ --f7-text-editor-placeholder-color: rgba(0, 0, 0, 0.35);
18791
18808
  --f7-text-editor-toolbar-border-color: rgba(0, 0, 0, 0.25);
18792
18809
  --f7-text-editor-toolbar-bg-color: #fff;
18793
18810
  --f7-text-editor-border-color: rgba(0, 0, 0, 0.1);
@@ -18795,6 +18812,7 @@ a.treeview-item-root.active-state {
18795
18812
  }
18796
18813
  .ios .dark,
18797
18814
  .ios.dark {
18815
+ --f7-text-editor-placeholder-color: rgba(255, 255, 255, 0.35);
18798
18816
  --f7-text-editor-toolbar-bg-color: #121212;
18799
18817
  --f7-text-editor-toolbar-border-color: rgba(255, 255, 255, 0.1);
18800
18818
  --f7-text-editor-toolbar-bg-color: #202020;
@@ -18808,6 +18826,7 @@ a.treeview-item-root.active-state {
18808
18826
  .md,
18809
18827
  .md .dark,
18810
18828
  .md [class*='color-'] {
18829
+ --f7-text-editor-placeholder-color: var(--f7-md-on-surface-variant);
18811
18830
  --f7-text-editor-toolbar-bg-color: var(--f7-md-surface-1);
18812
18831
  --f7-text-editor-border-color: var(--f7-md-outline);
18813
18832
  --f7-text-editor-button-text-color: var(--f7-md-on-surface);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.0.1
2
+ * Framework7 8.0.2
3
3
  * Full featured mobile HTML framework for building iOS & Android apps
4
4
  * https://framework7.io/
5
5
  *
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Released under the MIT License
9
9
  *
10
- * Released on: April 6, 2023
10
+ * Released on: April 12, 2023
11
11
  */
12
12
 
13
13
  import $ from './shared/dom7.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 8.0.1
2
+ * Framework7 8.0.2
3
3
  * Full featured mobile HTML framework for building iOS & Android apps
4
4
  * https://framework7.io/
5
5
  *
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Released under the MIT License
9
9
  *
10
- * Released on: April 6, 2023
10
+ * Released on: April 12, 2023
11
11
  */
12
12
 
13
13
  (function (global, factory) {
@@ -1600,9 +1600,6 @@
1600
1600
  return ft3 > 216 / 24389 ? ft3 : (116 * ft - 16) / 903.2962962962963;
1601
1601
  }
1602
1602
  class ViewingConditions {
1603
- constructor(n, aw, nbb, ncb, c, nc, rgbD, fl, fLRoot, z) {
1604
- this.n = n, this.aw = aw, this.nbb = nbb, this.ncb = ncb, this.c = c, this.nc = nc, this.rgbD = rgbD, this.fl = fl, this.fLRoot = fLRoot, this.z = z;
1605
- }
1606
1603
  static make(whitePoint, adaptingLuminance, backgroundLstar, surround, discountingIlluminant) {
1607
1604
  if (whitePoint === void 0) {
1608
1605
  whitePoint = whitePointD65();
@@ -1641,6 +1638,9 @@
1641
1638
  rgbA = [400 * rgbAFactors[0] / (rgbAFactors[0] + 27.13), 400 * rgbAFactors[1] / (rgbAFactors[1] + 27.13), 400 * rgbAFactors[2] / (rgbAFactors[2] + 27.13)];
1642
1639
  return new ViewingConditions(n, (2 * rgbA[0] + rgbA[1] + .05 * rgbA[2]) * nbb, nbb, ncb, c, nc, rgbD, fl, Math.pow(fl, .25), z);
1643
1640
  }
1641
+ constructor(n, aw, nbb, ncb, c, nc, rgbD, fl, fLRoot, z) {
1642
+ this.n = n, this.aw = aw, this.nbb = nbb, this.ncb = ncb, this.c = c, this.nc = nc, this.rgbD = rgbD, this.fl = fl, this.fLRoot = fLRoot, this.z = z;
1643
+ }
1644
1644
  }
1645
1645
  ViewingConditions.DEFAULT = ViewingConditions.make();
1646
1646
  class Cam16 {
@@ -1914,11 +1914,6 @@
1914
1914
  }
1915
1915
  HctSolver.SCALED_DISCOUNT_FROM_LINRGB = [[.001200833568784504, .002389694492170889, .0002795742885861124], [.0005891086651375999, .0029785502573438758, .0003270666104008398], [.00010146692491640572, .0005364214359186694, .0032979401770712076]], HctSolver.LINRGB_FROM_SCALED_DISCOUNT = [[1373.2198709594231, -1100.4251190754821, -7.278681089101213], [-271.815969077903, 559.6580465940733, -32.46047482791194], [1.9622899599665666, -57.173814538844006, 308.7233197812385]], HctSolver.Y_FROM_LINRGB = [.2126, .7152, .0722], HctSolver.CRITICAL_PLANES = [.015176349177441876, .045529047532325624, .07588174588720938, .10623444424209313, .13658714259697685, .16693984095186062, .19729253930674434, .2276452376616281, .2579979360165119, .28835063437139563, .3188300904430532, .350925934958123, .3848314933096426, .42057480301049466, .458183274052838, .4976837250274023, .5391024159806381, .5824650784040898, .6277969426914107, .6751227633498623, .7244668422128921, .775853049866786, .829304845476233, .8848452951698498, .942497089126609, 1.0022825574869039, 1.0642236851973577, 1.1283421258858297, 1.1946592148522128, 1.2631959812511864, 1.3339731595349034, 1.407011200216447, 1.4823302800086415, 1.5599503113873272, 1.6398909516233677, 1.7221716113234105, 1.8068114625156377, 1.8938294463134073, 1.9832442801866852, 2.075074464868551, 2.1693382909216234, 2.2660538449872063, 2.36523901573795, 2.4669114995532007, 2.5710888059345764, 2.6777882626779785, 2.7870270208169257, 2.898822059350997, 3.0131901897720907, 3.1301480604002863, 3.2497121605402226, 3.3718988244681087, 3.4967242352587946, 3.624204428461639, 3.754355295633311, 3.887192587735158, 4.022731918402185, 4.160988767090289, 4.301978482107941, 4.445716283538092, 4.592217266055746, 4.741496401646282, 4.893568542229298, 5.048448422192488, 5.20615066083972, 5.3666897647573375, 5.5300801301023865, 5.696336044816294, 5.865471690767354, 6.037501145825082, 6.212438385869475, 6.390297286737924, 6.571091626112461, 6.7548350853498045, 6.941541251256611, 7.131223617812143, 7.323895587840543, 7.5195704746346665, 7.7182615035334345, 7.919981813454504, 8.124744458384042, 8.332562408825165, 8.543448553206703, 8.757415699253682, 8.974476575321063, 9.194643831691977, 9.417930041841839, 9.644347703669503, 9.873909240696694, 10.106627003236781, 10.342513269534024, 10.58158024687427, 10.8238400726681, 11.069304815507364, 11.317986476196008, 11.569896988756009, 11.825048221409341, 12.083451977536606, 12.345119996613247, 12.610063955123938, 12.878295467455942, 13.149826086772048, 13.42466730586372, 13.702830557985108, 13.984327217668513, 14.269168601521828, 14.55736596900856, 14.848930523210871, 15.143873411576273, 15.44220572664832, 15.743938506781891, 16.04908273684337, 16.35764934889634, 16.66964922287304, 16.985093187232053, 17.30399201960269, 17.62635644741625, 17.95219714852476, 18.281524751807332, 18.614349837764564, 18.95068293910138, 19.290534541298456, 19.633915083172692, 19.98083495742689, 20.331304511189067, 20.685334046541502, 21.042933821039977, 21.404114048223256, 21.76888489811322, 22.137256497705877, 22.50923893145328, 22.884842241736916, 23.264076429332462, 23.6469514538663, 24.033477234264016, 24.42366364919083, 24.817520537484558, 25.21505769858089, 25.61628489293138, 26.021211842414342, 26.429848230738664, 26.842203703840827, 27.258287870275353, 27.678110301598522, 28.10168053274597, 28.529008062403893, 28.96010235337422, 29.39497283293396, 29.83362889318845, 30.276079891419332, 30.722335150426627, 31.172403958865512, 31.62629557157785, 32.08401920991837, 32.54558406207592, 33.010999283389665, 33.4802739966603, 33.953417292456834, 34.430438229418264, 34.911345834551085, 35.39614910352207, 35.88485700094671, 36.37747846067349, 36.87402238606382, 37.37449765026789, 37.87891309649659, 38.38727753828926, 38.89959975977785, 39.41588851594697, 39.93615253289054, 40.460400508064545, 40.98864111053629, 41.520882981230194, 42.05713473317016, 42.597404951718396, 43.141702194811224, 43.6900349931913, 44.24241185063697, 44.798841244188324, 45.35933162437017, 45.92389141541209, 46.49252901546552, 47.065252796817916, 47.64207110610409, 48.22299226451468, 48.808024568002054, 49.3971762874833, 49.9904556690408, 50.587870934119984, 51.189430279724725, 51.79514187861014, 52.40501387947288, 53.0190544071392, 53.637271562750364, 54.259673423945976, 54.88626804504493, 55.517063457223934, 56.15206766869424, 56.79128866487574, 57.43473440856916, 58.08241284012621, 58.734331877617365, 59.39049941699807, 60.05092333227251, 60.715611475655585, 61.38457167773311, 62.057811747619894, 62.7353394731159, 63.417162620860914, 64.10328893648692, 64.79372614476921, 65.48848194977529, 66.18756403501224, 66.89098006357258, 67.59873767827808, 68.31084450182222, 69.02730813691093, 69.74813616640164, 70.47333615344107, 71.20291564160104, 71.93688215501312, 72.67524319850172, 73.41800625771542, 74.16517879925733, 74.9167682708136, 75.67278210128072, 76.43322770089146, 77.1981124613393, 77.96744375590167, 78.74122893956174, 79.51947534912904, 80.30219030335869, 81.08938110306934, 81.88105503125999, 82.67721935322541, 83.4778813166706, 84.28304815182372, 85.09272707154808, 85.90692527145302, 86.72564993000343, 87.54890820862819, 88.3767072518277, 89.2090541872801, 90.04595612594655, 90.88742016217518, 91.73345337380438, 92.58406282226491, 93.43925555268066, 94.29903859396902, 95.16341895893969, 96.03240364439274, 96.9059996312159, 97.78421388448044, 98.6670533535366, 99.55452497210776];
1916
1916
  class Hct {
1917
- constructor(argb) {
1918
- this.argb = argb;
1919
- const cam = Cam16.fromInt(argb);
1920
- this.internalHue = cam.hue, this.internalChroma = cam.chroma, this.internalTone = lstarFromArgb(argb), this.argb = argb;
1921
- }
1922
1917
  static from(hue, chroma, tone) {
1923
1918
  return new Hct(HctSolver.solveToInt(hue, chroma, tone));
1924
1919
  }
@@ -1946,6 +1941,11 @@
1946
1941
  set tone(newTone) {
1947
1942
  this.setInternalState(HctSolver.solveToInt(this.internalHue, this.internalChroma, newTone));
1948
1943
  }
1944
+ constructor(argb) {
1945
+ this.argb = argb;
1946
+ const cam = Cam16.fromInt(argb);
1947
+ this.internalHue = cam.hue, this.internalChroma = cam.chroma, this.internalTone = lstarFromArgb(argb), this.argb = argb;
1948
+ }
1949
1949
  setInternalState(argb) {
1950
1950
  const cam = Cam16.fromInt(argb);
1951
1951
  this.internalHue = cam.hue, this.internalChroma = cam.chroma, this.internalTone = lstarFromArgb(argb), this.argb = argb;
@@ -1979,9 +1979,6 @@
1979
1979
  }
1980
1980
  }
1981
1981
  class TonalPalette {
1982
- constructor(hue, chroma) {
1983
- this.hue = hue, this.chroma = chroma, this.cache = new Map();
1984
- }
1985
1982
  static fromInt(argb) {
1986
1983
  const hct = Hct.fromInt(argb);
1987
1984
  return TonalPalette.fromHueAndChroma(hct.hue, hct.chroma);
@@ -1989,29 +1986,59 @@
1989
1986
  static fromHueAndChroma(hue, chroma) {
1990
1987
  return new TonalPalette(hue, chroma);
1991
1988
  }
1989
+ constructor(hue, chroma) {
1990
+ this.hue = hue, this.chroma = chroma, this.cache = new Map();
1991
+ }
1992
1992
  tone(tone) {
1993
1993
  let argb = this.cache.get(tone);
1994
1994
  return void 0 === argb && (argb = Hct.from(this.hue, this.chroma, tone).toInt(), this.cache.set(tone, argb)), argb;
1995
1995
  }
1996
1996
  }
1997
1997
  class CorePalette {
1998
- constructor(argb, isContent) {
1999
- const hct = Hct.fromInt(argb),
2000
- hue = hct.hue,
2001
- chroma = hct.chroma;
2002
- isContent ? (this.a1 = TonalPalette.fromHueAndChroma(hue, chroma), this.a2 = TonalPalette.fromHueAndChroma(hue, chroma / 3), this.a3 = TonalPalette.fromHueAndChroma(hue + 60, chroma / 2), this.n1 = TonalPalette.fromHueAndChroma(hue, Math.min(chroma / 12, 4)), this.n2 = TonalPalette.fromHueAndChroma(hue, Math.min(chroma / 6, 8))) : (this.a1 = TonalPalette.fromHueAndChroma(hue, Math.max(48, chroma)), this.a2 = TonalPalette.fromHueAndChroma(hue, 16), this.a3 = TonalPalette.fromHueAndChroma(hue + 60, 24), this.n1 = TonalPalette.fromHueAndChroma(hue, 4), this.n2 = TonalPalette.fromHueAndChroma(hue, 8)), this.error = TonalPalette.fromHueAndChroma(25, 84);
2003
- }
2004
1998
  static of(argb) {
2005
1999
  return new CorePalette(argb, !1);
2006
2000
  }
2007
2001
  static contentOf(argb) {
2008
2002
  return new CorePalette(argb, !0);
2009
2003
  }
2004
+ static fromColors(colors) {
2005
+ return CorePalette.createPaletteFromColors(!1, colors);
2006
+ }
2007
+ static contentFromColors(colors) {
2008
+ return CorePalette.createPaletteFromColors(!0, colors);
2009
+ }
2010
+ static createPaletteFromColors(content, colors) {
2011
+ const palette = new CorePalette(colors.primary, content);
2012
+ if (colors.secondary) {
2013
+ const p = new CorePalette(colors.secondary, content);
2014
+ palette.a2 = p.a1;
2015
+ }
2016
+ if (colors.tertiary) {
2017
+ const p = new CorePalette(colors.tertiary, content);
2018
+ palette.a3 = p.a1;
2019
+ }
2020
+ if (colors.error) {
2021
+ const p = new CorePalette(colors.error, content);
2022
+ palette.error = p.a1;
2023
+ }
2024
+ if (colors.neutral) {
2025
+ const p = new CorePalette(colors.neutral, content);
2026
+ palette.n1 = p.n1;
2027
+ }
2028
+ if (colors.neutralVariant) {
2029
+ const p = new CorePalette(colors.neutralVariant, content);
2030
+ palette.n2 = p.n2;
2031
+ }
2032
+ return palette;
2033
+ }
2034
+ constructor(argb, isContent) {
2035
+ const hct = Hct.fromInt(argb),
2036
+ hue = hct.hue,
2037
+ chroma = hct.chroma;
2038
+ isContent ? (this.a1 = TonalPalette.fromHueAndChroma(hue, chroma), this.a2 = TonalPalette.fromHueAndChroma(hue, chroma / 3), this.a3 = TonalPalette.fromHueAndChroma(hue + 60, chroma / 2), this.n1 = TonalPalette.fromHueAndChroma(hue, Math.min(chroma / 12, 4)), this.n2 = TonalPalette.fromHueAndChroma(hue, Math.min(chroma / 6, 8))) : (this.a1 = TonalPalette.fromHueAndChroma(hue, Math.max(48, chroma)), this.a2 = TonalPalette.fromHueAndChroma(hue, 16), this.a3 = TonalPalette.fromHueAndChroma(hue + 60, 24), this.n1 = TonalPalette.fromHueAndChroma(hue, 4), this.n2 = TonalPalette.fromHueAndChroma(hue, 8)), this.error = TonalPalette.fromHueAndChroma(25, 84);
2039
+ }
2010
2040
  }
2011
2041
  class Scheme {
2012
- constructor(props) {
2013
- this.props = props;
2014
- }
2015
2042
  get primary() {
2016
2043
  return this.props.primary;
2017
2044
  }
@@ -2177,28 +2204,33 @@
2177
2204
  inversePrimary: core.a1.tone(40)
2178
2205
  });
2179
2206
  }
2207
+ constructor(props) {
2208
+ this.props = props;
2209
+ }
2180
2210
  toJSON() {
2181
- return Object.assign({}, this.props);
2182
- }
2183
- }
2184
- const hexFromArgb = argb => {
2185
- const r = redFromArgb(argb),
2186
- g = greenFromArgb(argb),
2187
- b = blueFromArgb(argb),
2188
- outParts = [r.toString(16), g.toString(16), b.toString(16)];
2189
- for (const [i, part] of outParts.entries()) 1 === part.length && (outParts[i] = "0" + part);
2190
- return "#" + outParts.join("");
2191
- },
2192
- argbFromHex = hex => {
2193
- const isThree = 3 === (hex = hex.replace("#", "")).length,
2194
- isSix = 6 === hex.length,
2195
- isEight = 8 === hex.length;
2196
- if (!isThree && !isSix && !isEight) throw new Error("unexpected hex " + hex);
2197
- let r = 0,
2198
- g = 0,
2199
- b = 0;
2200
- return isThree ? (r = parseIntHex(hex.slice(0, 1).repeat(2)), g = parseIntHex(hex.slice(1, 2).repeat(2)), b = parseIntHex(hex.slice(2, 3).repeat(2))) : isSix ? (r = parseIntHex(hex.slice(0, 2)), g = parseIntHex(hex.slice(2, 4)), b = parseIntHex(hex.slice(4, 6))) : isEight && (r = parseIntHex(hex.slice(2, 4)), g = parseIntHex(hex.slice(4, 6)), b = parseIntHex(hex.slice(6, 8))), (255 << 24 | (255 & r) << 16 | (255 & g) << 8 | 255 & b) >>> 0;
2201
- };
2211
+ return {
2212
+ ...this.props
2213
+ };
2214
+ }
2215
+ }
2216
+ function hexFromArgb(argb) {
2217
+ const r = redFromArgb(argb),
2218
+ g = greenFromArgb(argb),
2219
+ b = blueFromArgb(argb),
2220
+ outParts = [r.toString(16), g.toString(16), b.toString(16)];
2221
+ for (const [i, part] of outParts.entries()) 1 === part.length && (outParts[i] = "0" + part);
2222
+ return "#" + outParts.join("");
2223
+ }
2224
+ function argbFromHex(hex) {
2225
+ const isThree = 3 === (hex = hex.replace("#", "")).length,
2226
+ isSix = 6 === hex.length,
2227
+ isEight = 8 === hex.length;
2228
+ if (!isThree && !isSix && !isEight) throw new Error("unexpected hex " + hex);
2229
+ let r = 0,
2230
+ g = 0,
2231
+ b = 0;
2232
+ return isThree ? (r = parseIntHex(hex.slice(0, 1).repeat(2)), g = parseIntHex(hex.slice(1, 2).repeat(2)), b = parseIntHex(hex.slice(2, 3).repeat(2))) : isSix ? (r = parseIntHex(hex.slice(0, 2)), g = parseIntHex(hex.slice(2, 4)), b = parseIntHex(hex.slice(4, 6))) : isEight && (r = parseIntHex(hex.slice(2, 4)), g = parseIntHex(hex.slice(4, 6)), b = parseIntHex(hex.slice(6, 8))), (255 << 24 | (255 & r) << 16 | (255 & g) << 8 | 255 & b) >>> 0;
2233
+ }
2202
2234
  function parseIntHex(value) {
2203
2235
  return parseInt(value, 16);
2204
2236
  }