@enact/limestone 1.10.1 → 1.10.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 (122) hide show
  1. package/.github/PULL_REQUEST_TEMPLATE.md +1 -0
  2. package/ActionGuide/ActionGuide.d.ts +1 -1
  3. package/ActionGuide/ActionGuide.module.css +3 -0
  4. package/Alert/Alert.d.ts +9 -0
  5. package/Alert/Alert.js +63 -21
  6. package/Alert/Alert.module.css +41 -9
  7. package/Alert/AlertImage.module.css +5 -1
  8. package/Alert/tests/Alert-specs.js +6 -2
  9. package/BodyText/BodyText.d.ts +1 -1
  10. package/BodyText/BodyText.js +14 -9
  11. package/BodyText/BodyText.module.css +1 -1
  12. package/Button/Button.d.ts +3 -3
  13. package/Button/Button.module.css +14 -28
  14. package/CHANGELOG.md +48 -1
  15. package/Card/Card.d.ts +81 -9
  16. package/Card/Card.js +321 -84
  17. package/Card/Card.module.css +171 -20
  18. package/Card/tests/Card-specs.js +100 -0
  19. package/Checkbox/Checkbox.d.ts +2 -2
  20. package/Checkbox/Checkbox.module.css +2 -9
  21. package/CheckboxItem/CheckboxItem.d.ts +8 -1
  22. package/CheckboxItem/CheckboxItem.js +39 -12
  23. package/CheckboxItem/CheckboxItem.module.css +228 -4
  24. package/Chips/Chip.module.css +2 -2
  25. package/ContextualMenuDecorator/ContextualMenuDecorator.d.ts +2 -2
  26. package/ContextualPopupDecorator/ContextualPopup.module.css +1 -1
  27. package/ContextualPopupDecorator/ContextualPopupDecorator.js +2 -4
  28. package/ContextualPopupDecorator/tests/ContextualPopupDecorator-specs.js +39 -2
  29. package/Dropdown/Dropdown.d.ts +2 -2
  30. package/Dropdown/Dropdown.module.css +7 -7
  31. package/FixedPopupPanels/FixedPopupPanels.d.ts +2 -2
  32. package/FlexiblePopupPanels/FlexiblePopupPanels.module.css +15 -3
  33. package/FlexiblePopupPanels/index.d.ts +2 -2
  34. package/FormCheckboxItem/FormCheckboxItem.d.ts +1 -1
  35. package/FormCheckboxItem/FormCheckboxItem.js +1 -0
  36. package/FormCheckboxItem/FormCheckboxItem.module.css +1 -1
  37. package/Heading/Heading.d.ts +2 -2
  38. package/Icon/Icon.d.ts +22 -1
  39. package/Icon/Icon.js +21 -0
  40. package/Icon/IconList.js +43 -1
  41. package/IconItem/IconItem.d.ts +2 -2
  42. package/IconItem/IconItem.module.css +11 -14
  43. package/Image/Image.d.ts +1 -1
  44. package/Image/Image.module.css +1 -1
  45. package/ImageItem/ImageItem.d.ts +2 -2
  46. package/ImageItem/ImageItem.js +3 -16
  47. package/ImageItem/ImageItem.module.css +105 -97
  48. package/ImageItem/tests/ImageItem-specs.js +6 -5
  49. package/Input/Input.module.css +8 -7
  50. package/Input/InputField.module.css +4 -4
  51. package/Input/index.d.ts +1 -1
  52. package/Input/tests/Input-specs.js +2 -2
  53. package/Input/tests/InputField-specs.js +1 -1
  54. package/Item/Item.d.ts +2 -2
  55. package/Item/Item.module.css +27 -15
  56. package/KeyGuide/KeyGuide.d.ts +2 -2
  57. package/MediaOverlay/MediaOverlay.d.ts +2 -2
  58. package/MediaOverlay/MediaOverlay.module.css +2 -5
  59. package/MediaPlayer/MediaSlider.module.css +1 -0
  60. package/MediaPlayer/Times.module.css +1 -1
  61. package/MediaPlayer/index.d.ts +2 -2
  62. package/PageViews/PageViews.module.css +2 -1
  63. package/Panels/Header.module.css +40 -28
  64. package/Panels/Panel.module.css +1 -1
  65. package/Panels/index.d.ts +1 -1
  66. package/Picker/Picker.d.ts +1 -1
  67. package/Popup/Popup.module.css +4 -1
  68. package/PopupTabLayout/PopupTabLayout.d.ts +6 -6
  69. package/PopupTabLayout/PopupTabLayout.module.css +6 -6
  70. package/ProgressBar/ProgressBar.d.ts +1 -1
  71. package/ProgressBar/ProgressBar.module.css +12 -12
  72. package/ProgressBar/ProgressBarTooltip.module.css +7 -7
  73. package/ProgressButton/ProgressButton.d.ts +2 -2
  74. package/QuickGuidePanels/QuickGuidePanels.module.css +1 -1
  75. package/RadioItem/RadioItem.d.ts +1 -1
  76. package/RadioItem/RadioItem.module.css +18 -20
  77. package/Scroller/Scroller.d.ts +12 -0
  78. package/Scroller/Scroller.js +15 -0
  79. package/Scroller/tests/Scroller-specs.js +29 -0
  80. package/Scroller/useThemeScroller.js +22 -2
  81. package/Slider/Slider.d.ts +1 -1
  82. package/Slider/Slider.module.css +539 -300
  83. package/Spinner/Spinner.d.ts +1 -1
  84. package/Spinner/Spinner.module.css +2 -2
  85. package/Steps/Steps.d.ts +1 -1
  86. package/Steps/Steps.js +12 -6
  87. package/Steps/Steps.module.css +16 -2
  88. package/Switch/Switch.module.css +2 -5
  89. package/SwitchItem/SwitchItem.d.ts +1 -1
  90. package/TabLayout/RefocusDecorator.js +1 -1
  91. package/TabLayout/TabGroup.module.css +12 -6
  92. package/TabLayout/TabLayout.js +4 -0
  93. package/ThemeDecorator/ThemeDecorator.d.ts +1 -1
  94. package/ThemeDecorator/ThemeDecorator.module.css +22 -1
  95. package/TooltipDecorator/Tooltip.js +68 -7
  96. package/TooltipDecorator/Tooltip.module.css +40 -23
  97. package/TooltipDecorator/TooltipDecorator.d.ts +52 -0
  98. package/TooltipDecorator/TooltipDecorator.js +42 -0
  99. package/TooltipDecorator/TooltipLabel.js +67 -14
  100. package/TooltipDecorator/tests/TooltipDecorator-specs.js +46 -0
  101. package/TooltipDecorator/useTooltip.js +14 -2
  102. package/VideoPlayer/MediaTitle.module.css +1 -1
  103. package/VirtualList/VirtualList.d.ts +24 -0
  104. package/VirtualList/VirtualList.js +30 -0
  105. package/VirtualList/tests/stickTo-specs.js +115 -0
  106. package/VirtualList/tests/useEvent-specs.js +39 -0
  107. package/VirtualList/useEvent.js +45 -10
  108. package/VirtualList/useThemeVirtualList.js +20 -2
  109. package/WizardPanels/WizardPanels.module.css +1 -1
  110. package/fonts/Limestone_Icons.ttf +0 -0
  111. package/internal/DateComponentPicker/DateComponentPicker.module.css +3 -3
  112. package/internal/Picker/Picker.js +8 -10
  113. package/internal/Picker/Picker.module.css +74 -141
  114. package/package.json +11 -14
  115. package/styles/color-mixins.less +4 -60
  116. package/styles/colors-game.less +5 -5
  117. package/styles/colors.less +9 -10
  118. package/styles/mixins.less +0 -46
  119. package/styles/motion-mixins.less +16 -7
  120. package/styles/motions.less +2 -2
  121. package/styles/variables.less +71 -46
  122. package/useScroll/useScroll.js +3 -1
@@ -38,13 +38,6 @@
38
38
  }
39
39
  }
40
40
 
41
- .lime-item-icon-tap-area-adjust() {
42
- &.small > .small-icon-tap-area {
43
- left: -@lime-spotlight-outset;
44
- right: -@lime-spotlight-outset;
45
- }
46
- }
47
-
48
41
  .lime-word-break() {
49
42
  overflow-wrap: break-word;
50
43
  word-break: keep-all;
@@ -179,23 +172,6 @@
179
172
  //
180
173
  // Custom Text Size Mixins
181
174
  //
182
- // 1 arg: Shorthand for just setting the font size in custom-text mode
183
- .lime-custom-text-size(@latin-size) {
184
- .lime-custom-text({
185
- font-size: @latin-size;
186
- });
187
- }
188
- // 2 args: Shorthand for just setting the font size of both latin and non-latin in custom-text mode
189
- .lime-custom-text-size(@latin-size; @non-latin-size) {
190
- .lime-custom-text(
191
- {
192
- font-size: @latin-size;
193
- };
194
- {
195
- font-size: @non-latin-size;
196
- });
197
- }
198
-
199
175
  // 1 arg: Generic rule applicator, accepts an entire rule-set to add for large text mode
200
176
  .lime-custom-text(@lrules) when (isruleset(@lrules)) {
201
177
  &:global(.largeText) {
@@ -220,20 +196,6 @@
220
196
  // Text definitions
221
197
  //
222
198
 
223
- .lime-alert-title() {
224
- .lime-font(@lime-alert-font-family; @lime-non-latin-font-family-light);
225
- .enact-locale-line-height(@lime-alert-line-height; @lime-tallglyph-body-line-height);
226
- font-size: @lime-alert-title-font-size;
227
- font-weight: @lime-alert-font-weight;
228
- }
229
-
230
- .lime-alert-subtitle() {
231
- .lime-font(@lime-alert-font-family; @lime-non-latin-font-family-light);
232
- .enact-locale-line-height(@lime-alert-line-height);
233
- font-size: @lime-alert-subtitle-font-size;
234
- font-weight: @lime-alert-font-weight;
235
- }
236
-
237
199
  .lime-alert-overlay-content() {
238
200
  .lime-font(@lime-alert-font-family; @lime-non-latin-font-family-light);
239
201
  .enact-locale-line-height(@lime-alert-line-height; @lime-tallglyph-body-line-height);
@@ -292,14 +254,6 @@
292
254
  .font-kerning();
293
255
  }
294
256
 
295
- // Uses Webkit specific styles to have multi-line ellipsis
296
- .lime-multi-line-ellipsis(@lines) {
297
- overflow: hidden;
298
- display: -webkit-box;
299
- -webkit-line-clamp: @lines;
300
- -webkit-box-orient: vertical;
301
- }
302
-
303
257
  // Add an extension to the .enact-locale-line-height mixin defined in ~@ui which has defaults specific to limestone.
304
258
  //
305
259
  // Set line-height for normal and tallglyphs with 0, 1 or 2 arguments
@@ -2,12 +2,6 @@
2
2
  @import "./motions.less";
3
3
  @import "./mixins.less";
4
4
 
5
- /* ---------------------------------------
6
- Motion Variables
7
- ------------------------------------------ */
8
- @lime-bounce-motion: var(--lime-bounce-motion);
9
- @lime-check-motion: var(--lime-check-motion);
10
-
11
5
  /* ---------------------------------------
12
6
  Motion Mixins
13
7
  ------------------------------------------ */
@@ -63,4 +57,19 @@ Motion Mixins
63
57
  .lime-slider-release-motion() {
64
58
  transform: @lime-translate-center @lime-slider-release-transform;
65
59
  transition: transform var(--lime-release-motion-duration) var(--lime-release-motion-easing-function);
66
- }
60
+ }
61
+
62
+ .lime-iconitem-focus-in-motion() {
63
+ transform: @lime-iconitem-focus-transform;
64
+ transition: transform var(--lime-focus-in-motion-duration) var(--lime-focus-in-motion-easing-function);
65
+ }
66
+
67
+ .lime-iconitem-press-motion() {
68
+ transform: @lime-iconitem-pressed-transform;
69
+ transition: transform var(--lime-press-motion-duration) var(--lime-press-motion-easing-function);
70
+ }
71
+
72
+ .lime-iconitem-release-motion() {
73
+ transform: @lime-iconitem-release-transform;
74
+ transition: transform var(--lime-release-motion-duration) var(--lime-release-motion-easing-function);
75
+ }
@@ -40,8 +40,8 @@ Animations properties
40
40
  --lime-bounce-motion-easing-function: var(--lime-default-motion-easing-function);
41
41
  --lime-focus-in-motion-easing-function: var(--lime-EIO-motion-easing-function);
42
42
  --lime-focus-out-motion-easing-function: var(--lime-EO-motion-easing-function);
43
- --lime-press-motion-easing-function: var(--lime-EIO-motion-easing-function);
44
- --lime-release-motion-easing-function: var(--lime-EO-motion-easing-function);
43
+ --lime-press-motion-easing-function: var(--lime-EO-motion-easing-function);
44
+ --lime-release-motion-easing-function: var(--lime-EIO-motion-easing-function);
45
45
 
46
46
  /* ---------------------------------------
47
47
  Keyframes names
@@ -100,7 +100,7 @@
100
100
  // Locale
101
101
  // ---------------------------------------
102
102
  // Cambodian(km), Sinhala(si), Thai(th), Vietnamse(vi)
103
- @locale-tallglyph-languages: km, si, th, vi;
103
+ @locale-tallglyph-languages: km, si, th, vi; // used by the enact-locale-tallglyph enact mixin
104
104
 
105
105
  // Spotlight
106
106
  // ---------------------------------------
@@ -120,8 +120,10 @@
120
120
  @lime-actionguide-label-font-size-large: var(--primitive-font-size-60);
121
121
  @lime-actionguide-label-font-weight: var(--primitive-font-weight-regular);
122
122
  @lime-alert-overlay-font-size: var(--primitive-font-size-60);
123
+ @lime-alert-overlay-font-size-large: var(--primitive-font-size-72);
123
124
  @lime-alert-subtitle-font-size: @lime-heading-subtitle-font-size;
124
125
  @lime-alert-title-font-size: var(--primitive-font-size-108);
126
+ @lime-alert-overlay-large-title-font-size: var(--primitive-font-size-90);
125
127
  @lime-base-font-size: var(--primitive-font-size-60);
126
128
  @lime-base-font-size-large: var(--primitive-font-size-72);
127
129
  @lime-body-font-size: @lime-base-font-size;
@@ -134,6 +136,8 @@
134
136
  @lime-button-small-font-size: var(--primitive-font-size-54);
135
137
  @lime-card-caption-font-size: var(--primitive-font-size-60);
136
138
  @lime-card-caption-font-size-large: var(--primitive-font-size-72);
139
+ @lime-card-duration-font-size: var(--primitive-font-size-48);
140
+ @lime-card-duration-font-size-large: var(--primitive-font-size-58);
137
141
  @lime-card-label-font-size: var(--primitive-font-size-48);
138
142
  @lime-card-label-font-size-large: var(--primitive-font-size-58);
139
143
  @lime-card-split-caption-label-font-size: var(--primitive-font-size-60);
@@ -211,6 +215,7 @@
211
215
  @lime-steps-step-number-font-size-large: var(--primitive-font-size-58);
212
216
  @lime-switch-icon-font-size: var(--primitive-font-size-84);
213
217
  @lime-tablayout-tab-small-font-size: var(--primitive-font-size-48);
218
+ @lime-tablayout-tab-small-font-size-large: var(--primitive-font-size-58);
214
219
  @lime-tablayout-tab-font-size: var(--primitive-font-size-60);
215
220
  @lime-tablayout-tab-font-size-large: var(--primitive-font-size-72);
216
221
  @lime-tooltip-label-font-size: var(--primitive-font-size-54);
@@ -242,17 +247,18 @@
242
247
  @lime-non-latin-font-family: "Limestone";
243
248
  @lime-non-latin-font-family-light: "Limestone"; // Formerly weight: Light
244
249
  @lime-non-latin-font-family-bold: "Limestone"; // Formerly weight: Bold
250
+ @lime-title-font-family: "Limestone Title", "Limestone"; // fallback to Limestone default font-family
245
251
  @lime-non-latin-font-weight: var(--primitive-font-weight-regular);
246
252
  @lime-non-latin-font-weight-light: var(--primitive-font-weight-light);
247
253
  @lime-non-latin-font-weight-bold: var(--primitive-font-weight-bold);
248
254
  @lime-spottable-font-weight: var(--primitive-font-weight-semibold);
249
- @lime-common-line-height: 1.4em;
255
+ @lime-common-line-height: 1.34em;
250
256
  @lime-tallglyph-line-height: 1.5em;
251
257
 
252
258
  // Alert
253
259
  @lime-alert-font-family: @lime-font-family;
254
260
  @lime-alert-font-weight: var(--primitive-font-weight-semibold);
255
- @lime-alert-line-height: 84px;
261
+ @lime-alert-line-height: @lime-common-line-height;
256
262
 
257
263
  // Body
258
264
  @lime-body-font-family: @lime-font-family;
@@ -280,6 +286,7 @@
280
286
 
281
287
  // Card
282
288
  @lime-card-caption-font-weight: var(--primitive-font-weight-semibold);
289
+ @lime-card-duration-font-weight: var(--primitive-font-weight-semibold);
283
290
  @lime-card-label-font-weight: var(--primitive-font-weight-regular);
284
291
  @lime-card-split-caption-label-font-weight: var(--primitive-font-weight-semibold);
285
292
 
@@ -302,7 +309,6 @@
302
309
  @lime-heading-tiny-font-family: @lime-heading-large-font-family;
303
310
  @lime-heading-tiny-font-weight: @lime-heading-large-font-weight;
304
311
  @lime-heading-letter-spacing: 0;
305
- @lime-non-latin-heading-font-family: @lime-non-latin-font-family-bold;
306
312
  @lime-tallglyph-heading-line-height: @lime-tallglyph-heading-title-line-height;
307
313
  @lime-tallglyph-heading-subtitle-line-height: @lime-tallglyph-heading-title-line-height;
308
314
  @lime-tallglyph-heading-title-line-height: 1.5em;
@@ -346,7 +352,6 @@
346
352
  @lime-tallglyph-item-label-line-height: @lime-tallglyph-item-line-height;
347
353
  @lime-tallglyph-item-small-line-height: @lime-tallglyph-line-height;
348
354
  @lime-tallglyph-item-small-line-height-large: @lime-tallglyph-item-small-line-height;
349
- @lime-tallglyph-item-small-label-line-height: @lime-tallglyph-item-small-line-height;
350
355
 
351
356
  // Picker
352
357
  @lime-tallglyph-picker-line-height: @lime-tallglyph-body-line-height;
@@ -367,24 +372,29 @@
367
372
 
368
373
  // Alert
369
374
  // ---------------------------------------
370
- @lime-alert-buttons-margin-top: var(--primitive-spacing-96);
375
+ @lime-alert-buttons-margin-top: var(--primitive-spacing-120);
371
376
  @lime-alert-fullscreen-content-margin: var(--primitive-spacing-36) 0 0 0;
372
377
  @lime-alert-fullscreen-image-spacing: var(--primitive-spacing-60);
373
378
  @lime-alert-fullscreen-max-width: 2400px;
374
379
  @lime-portrait-alert-fullscreen-max-width: 1896px;
375
- @lime-alert-overlay-buttons-margin-top: var(--primitive-spacing-36);
380
+ @lime-alert-overlay-buttons-margin-top: var(--primitive-spacing-72);
376
381
  @lime-alert-overlay-max-height: 2028px;
377
382
  @lime-alert-overlay-image-margin-bottom: var(--primitive-spacing-36);
378
- @lime-alert-overlay-padding: var(--primitive-spacing-84) 0;
379
- @lime-alert-overlay-body-padding: 0 var(--primitive-spacing-84);
380
- @lime-alert-overlay-image-padding: 0 var(--primitive-spacing-84);
383
+ @lime-alert-overlay-padding: var(--primitive-spacing-90) 0;
384
+ @lime-alert-overlay-body-padding: 0 var(--primitive-spacing-90);
385
+ @lime-alert-overlay-image-padding: 0 var(--primitive-spacing-90);
381
386
  @lime-alert-overlay-width: 1128px;
387
+ @lime-alert-overlay-medium-width: 1656px;
388
+ @lime-alert-overlay-large-width: 2184px;
389
+ @lime-alert-overlay-large-title-margin-bottom: var(--primitive-spacing-36);
382
390
  @lime-alert-overlay-max-width: calc(100vw - 2 * @lime-popup-position-corner-margin);
383
391
 
384
392
  // AlertImage
385
393
  // ---------------------------------------
386
394
  @lime-alert-image-thumbnail-width: 960px;
387
395
  @lime-alert-image-thumbnail-height: 540px;
396
+ @lime-alert-image-thumbnail-large-width: 2004px;
397
+ @lime-alert-image-thumbnail-large-height: 855px;
388
398
  @lime-alert-image-icon-large-size: 252px;
389
399
  @lime-alert-image-icon-small-size: 180px;
390
400
 
@@ -452,6 +462,9 @@
452
462
 
453
463
  // Card
454
464
  // ---------------------------------------
465
+ @lime-card-caption-image-icon-size: 96px;
466
+ @lime-card-caption-image-icon-margin: var(--primitive-spacing-24);
467
+ @lime-card-caption-image-icon-spacing: var(--primitive-spacing-24);
455
468
  @lime-card-margin: @lime-item-margin;
456
469
  @lime-card-border-radius: var(--semantic-radius-container);
457
470
  @lime-card-image-border-width: 6px;
@@ -473,17 +486,27 @@
473
486
  @lime-card-badge-right: var(--primitive-spacing-24);
474
487
  @lime-card-caption-line-height: 84px;
475
488
  @lime-card-caption-line-height-large: 100px;
489
+ @lime-card-duration-border-radius: var(--primitive-radius-12);
490
+ @lime-card-duration-line-height: 60px;
491
+ @lime-card-duration-line-height-large: 70px;
492
+ @lime-card-duration-padding: var(--primitive-spacing-6) var(--primitive-spacing-12);
493
+ @lime-card-label-container-spacing: var(--primitive-spacing-12);
494
+ @lime-card-label-icon-margin: var(--primitive-spacing-6);
476
495
  @lime-card-label-line-height: 60px;
477
496
  @lime-card-label-line-height-large: 70px;
478
497
  @lime-card-split-caption-label-padding: 0 var(--primitive-spacing-48);
479
498
  @lime-card-split-caption-lower-label-padding: var(--primitive-spacing-18);
480
499
  @lime-card-vertical-captions-padding: var(--primitive-spacing-36) 0;
500
+ @lime-card-vertical-captions-overflow-width: 1140px;
481
501
  @lime-card-vertical-captions-gap: var(--primitive-spacing-48);
502
+ @lime-card-vertical-captions-centered-title-gap: var(--primitive-spacing-24);
503
+ @lime-card-vertical-duration-spacing: var(--primitive-spacing-24);
504
+ @lime-card-vertical-progress-spacing: var(--primitive-spacing-48);
482
505
  @lime-card-vertical-image-icon-size: 180px;
483
506
  @lime-card-vertical-image-icon-margin: 0;
484
507
  @lime-card-vertical-caption-overlay-captions-padding: var(--primitive-spacing-36) var(--primitive-spacing-48);
485
508
  @lime-card-vertical-has-container-captions-padding: var(--primitive-spacing-36) var(--primitive-spacing-48);
486
- @lime-card-horizontal-width: 1320px;
509
+ @lime-card-horizontal-width: 1192px;
487
510
  @lime-card-horizontal-height: 336px;
488
511
  @lime-card-horizontal-captions-padding: var(--primitive-spacing-48);
489
512
 
@@ -497,9 +520,8 @@
497
520
  // CheckboxItem
498
521
  // ---------------------------------------
499
522
  @lime-checkboxitem-padding: var(--primitive-spacing-36) var(--primitive-spacing-48) var(--primitive-spacing-36) var(--primitive-spacing-60);
500
- @lime-checkboxitem-padding-rtl: var(--primitive-spacing-36) var(--primitive-spacing-60) var(--primitive-spacing-36) var(--primitive-spacing-48);
501
523
  @lime-checkboxitem-withlabel-padding: var(--primitive-spacing-48) var(--primitive-spacing-48) var(--primitive-spacing-48) var(--primitive-spacing-60);
502
- @lime-checkboxitem-withlabel-padding-rtl: var(--primitive-spacing-48) var(--primitive-spacing-60) var(--primitive-spacing-48) var(--primitive-spacing-48);
524
+ @lime-checkboxitem-form-checkbox-margin-end: abs(.extract(@lime-checkbox-container-position, right)[]); // checkbox container is a negative value, but we're only interested in positive margin values for this. It's also currently just one value, but could be more in the future, so we'll extract the "right" value.
503
525
 
504
526
  // Chip
505
527
  // ---------------------------------------
@@ -658,11 +680,6 @@
658
680
  @lime-header-compact-subtitle-margin-top: (#guide.header[compact-subtitle-height] - #guide.header[compact-subtitle-line-height]);
659
681
  @lime-header-compact-slotbefore-margin-end: var(--primitive-spacing-12);
660
682
  @lime-header-compact-slotafter-margin-start: var(--primitive-spacing-12);
661
- @lime-header-mini-margin:
662
- var(--primitive-spacing-6)
663
- @lime-component-spacing
664
- .extract(#guide.header[mini-padding], bottom)[]
665
- @lime-component-spacing; // 6px top to account for a focused button, so it doesn't clip.
666
683
  @lime-header-mini-margin: #guide.header[mini-margin];
667
684
  @lime-header-mini-padding:
668
685
  (
@@ -699,9 +716,9 @@
699
716
  .extract(#guide.header[wizard-padding], right)[]
700
717
  .extract(#guide.header[wizard-padding], bottom)[]
701
718
  .extract(#guide.header[wizard-padding], left)[]; // 66px comes from the GUI guide, as the distance from the bottom of the 2-line subtitle to the top of the content area. We must subtract the padding-top of panel.body to get the total spacing to match the guide.
719
+ @lime-header-wizard-title-line-height: #guide.header[wizard-title-line-height];
702
720
  @lime-header-wizard-title-padding: 0;
703
721
  @lime-header-wizard-subtitle-padding: 0;
704
- @lime-header-back-container-width: ~"calc(@{lime-button-small-height} + @{lime-button-icon-small-h-margin})";
705
722
 
706
723
  // Heading
707
724
  // ---------------------------------------
@@ -754,6 +771,9 @@
754
771
  @lime-iconitem-title-line-height: 60px;
755
772
  @lime-iconitem-title-line-height-large: 70px;
756
773
  @lime-iconitem-title-margin: var(--primitive-spacing-24) 0 0 0;
774
+ @lime-iconitem-focus-transform: scale(1.2);
775
+ @lime-iconitem-pressed-transform: scale(1.1);
776
+ @lime-iconitem-release-transform: @lime-iconitem-focus-transform;
757
777
 
758
778
  // ImageItem
759
779
  // ---------------------------------------
@@ -770,11 +790,11 @@
770
790
  @lime-imageitem-horizontal-image-width: 180px;
771
791
  @lime-imageitem-horizontal-image-height: @lime-imageitem-horizontal-image-width;
772
792
  @lime-imageitem-horizontal-image-margin: var(--primitive-spacing-48);
773
- @lime-imageitem-horizontal-selection-icon-margin-left: var(--primitive-spacing-12);
774
- @lime-imageitem-horizontal-selection-icon-margin-right: var(--primitive-spacing-48);
775
793
  @lime-imageitem-horizontal-wideimage-padding: var(--primitive-spacing-48);
776
794
  @lime-imageitem-horizontal-wideimage-image-width: 426px;
777
795
  @lime-imageitem-horizontal-wideimage-image-height: 240px;
796
+ @lime-imageitem-horizontal-selection-icon-size: 60px;
797
+ @lime-imageitem-horizontal-selection-icon-size-large: (@lime-imageitem-horizontal-selection-icon-size * 1.2);
778
798
  @lime-imageitem-vertical-padding: var(--primitive-spacing-24) var(--primitive-spacing-24) var(--primitive-spacing-30);
779
799
  @lime-imageitem-vertical-full-image-padding: var(--primitive-spacing-60); // 24px(for expanding) + 36px(for showing shadow)
780
800
  @lime-imageitem-vertical-full-image-border-width: 2px;
@@ -840,7 +860,6 @@
840
860
  @lime-input-overlay-keypad-gap: var(--primitive-spacing-60);
841
861
  @lime-input-overlay-keypad-margin: var(--primitive-spacing-132) 198px var(--primitive-spacing-60) 198px;
842
862
  @lime-input-overlay-keypad-width: 624px;
843
- @lime-input-overlay-keypad-width-large: 120px + (@lime-button-height-large * 3);
844
863
  @lime-input-overlay-buttonarea-margin: 0;
845
864
  @lime-input-overlay-submitbutton-margin: var(--primitive-spacing-60) auto 0 auto;
846
865
  @lime-input-overlay-invalid-tooltip-width: 738px;
@@ -877,12 +896,11 @@
877
896
  // Item
878
897
  // ---------------------------------------
879
898
  @lime-item-height: 156px;
880
- @lime-item-height-large: @lime-item-height;
881
899
  @lime-item-shadow-height: @lime-spotlight-focus-shadow-height;
882
900
  @lime-item-withlabel-height: 240px;
883
901
  @lime-item-withlabel-padding: var(--primitive-spacing-48) var(--primitive-spacing-48);
884
902
  @lime-item-inline-max-width: 480px;
885
- @lime-item-border-radius: var(--semantic-radius-container);
903
+ @lime-item-border-radius: var(--semantic-radius-button);
886
904
  @lime-item-slotafter-spacing: var(--primitive-spacing-48);
887
905
  @lime-item-slotbefore-spacing: var(--primitive-spacing-48);
888
906
  @lime-item-margin: 0 @lime-component-spacing @lime-component-spacing-bottom @lime-component-spacing;
@@ -936,7 +954,6 @@
936
954
 
937
955
  // MediaPlayer
938
956
  // ---------------------------------------
939
- @lime-mediaplayer-button-client-padding: 0 var(--primitive-spacing-18);
940
957
  @lime-mediaplayer-button-border-radius: 96px;
941
958
  @lime-mediaplayer-button-height: 180px;
942
959
  @lime-mediaplayer-button-icon-size: 108px;
@@ -946,13 +963,11 @@
946
963
  @lime-mediaplayer-controls-actionguide-padding-bottom: 0;
947
964
  @lime-mediaplayer-controls-actionguide-padding-top: var(--primitive-spacing-72);
948
965
  @lime-mediaplayer-controls-actionguide-time: 0.2s; // Length of the animation
949
- @lime-mediaplayer-controls-button-margin-start: var(--primitive-spacing-90);
950
966
  @lime-mediaplayer-controls-gap: var(--primitive-spacing-120);
951
967
  @lime-mediaplayer-controls-height: 180px;
952
968
  @lime-mediaplayer-controls-margin-top: var(--primitive-spacing-36);
953
969
  @lime-mediaplayer-controls-moreComponents-gap: 204px;
954
970
  @lime-mediaplayer-controls-moreComponents-margin-top: var(--primitive-spacing-60);
955
- @lime-mediaplayer-controls-moreComponents-time: 0.3s; // Length of the animation
956
971
  @lime-mediaplayer-slider-height: 12px;
957
972
  @lime-mediaplayer-slider-knob-size: 36px;
958
973
  @lime-mediaplayer-slider-tap-area: 60px;
@@ -1011,17 +1026,10 @@
1011
1026
  @lime-picker-large-value-width: 468px;
1012
1027
  @lime-picker-incrementer-margin: var(--primitive-spacing-36);
1013
1028
  @lime-picker-incrementer-width: 120px;
1014
- @lime-picker-indicator-width: 24px;
1015
- @lime-picker-indicator-width-large: calc(@lime-picker-indicator-width * 1.2);
1016
- @lime-picker-indicator-height: 24px;
1017
- @lime-picker-indicator-height-large: calc(@lime-picker-indicator-height * 1.2);
1018
- @lime-picker-indicator-border-radius: @lime-picker-indicator-width;
1019
- @lime-picker-indicator-inactive-scale: 0.75;
1020
- @lime-picker-indicator-active-scale: 1;
1021
- @lime-picker-indicator-margin: var(--primitive-spacing-30) var(--primitive-spacing-12) 0;
1022
1029
 
1023
1030
  // Popup
1024
1031
  // ---------------------------------------
1032
+ @lime-popup-body-font-size-large: var(--primitive-font-size-72);
1025
1033
  @lime-popup-padding: var(--primitive-spacing-48) var(--primitive-spacing-72);
1026
1034
  @lime-popup-border-radius: var(--primitive-radius-24);
1027
1035
  // Remove the margin on the leading edge so we're not wasting some of our transition frames on animating empty space, but also account for the shadow.
@@ -1038,7 +1046,7 @@
1038
1046
  @lime-popuptablayout-tab-icon-size-large: (@lime-popuptablayout-tab-icon-size * 1.2);
1039
1047
  @lime-popuptablayout-tabs-border-radius: var(--semantic-radius-container);
1040
1048
  @lime-popuptablayout-tabs-content-spacing: var(--primitive-spacing-36);
1041
- @lime-popuptablayout-content-border-radius: var(--semantic-radius-popup);
1049
+ @lime-popuptablayout-content-border-radius: var(--semantic-radius-overlay);
1042
1050
  @lime-popuptablayout-content-margin: 0;
1043
1051
  @lime-popuptablayout-panel-body-padding: var(--primitive-spacing-60);
1044
1052
  @lime-popuptablayout-panel-min-height: 996px;
@@ -1119,28 +1127,35 @@
1119
1127
  @lime-scroll-horizontal-fade-out-padding: 0 @lime-scroll-fade-out-size;
1120
1128
  @lime-scroll-hover-area-size: 120px;
1121
1129
  @lime-scroll-focusablebody-padding: var(--primitive-spacing-72) var(--primitive-spacing-48) var(--primitive-spacing-72) var(--primitive-spacing-90);
1122
- @lime-scroll-focusablebody-padding-rtl: var(--primitive-spacing-72) var(--primitive-spacing-90) var(--primitive-spacing-72) var(--primitive-spacing-48);
1123
1130
  @lime-scroll-focusablebody-focus-border-radius: var(--primitive-radius-12);
1124
1131
 
1125
1132
  // Slider
1126
1133
  // ---------------------------------------
1127
- @lime-slider-focusin-transform: scale(1.33);
1134
+ @lime-slider-focus-scale: 1.33;
1135
+ @lime-slider-focusin-transform: scale(@lime-slider-focus-scale);
1128
1136
  @lime-slider-focusout-transform: scale(1);
1129
1137
  @lime-slider-press-transform: scale(1.16);
1130
1138
  @lime-slider-release-transform: @lime-slider-focusin-transform;
1131
1139
  @lime-slider-bar-height: @lime-progressbar-bar-thickness;
1140
+ @lime-slider-color-picker-bar-height: 48px;
1141
+ @lime-slider-color-picker-bar-border-radius: (@lime-slider-color-picker-bar-height / 2);
1142
+ @lime-slider-color-picker-knob-container-size: (@lime-slider-knob-width + 12px);
1143
+ @lime-slider-color-picker-knob-container-size-focused: (@lime-slider-knob-width-large + 12px);
1144
+ @lime-slider-color-picker-knob-outline-width: 6px;
1132
1145
  @lime-slider-bar-vertical-min-height: 240px;
1133
1146
  @lime-slider-bar-min-max-padding-bottom: var(--primitive-spacing-84);
1134
- @lime-slider-bar-padding: var(--primitive-spacing-24);
1135
- @lime-slider-knob-width: 36px;
1136
- @lime-slider-knob-width-large: @lime-slider-knob-width;
1147
+ @lime-slider-bar-padding: var(--primitive-spacing-60);
1148
+ @lime-slider-knob-width: 48px;
1149
+ @lime-slider-knob-width-large: 60px;
1137
1150
  @lime-slider-knob-height: @lime-slider-knob-width;
1138
- @lime-slider-knob-height-large: @lime-slider-knob-height;
1139
1151
  @lime-slider-tooltip-offset: (@lime-slider-knob-height / 2);
1152
+ @lime-slider-tooltip-offset-focused: (@lime-slider-knob-width * @lime-slider-focus-scale / 2);
1140
1153
  @lime-slider-min-max-margin-top: var(--primitive-spacing-24);
1141
1154
  @lime-slider-min-max-font-size: var(--primitive-font-size-48);
1155
+ @lime-slider-min-max-font-size-large: var(--primitive-font-size-60);
1142
1156
  @lime-slider-min-max-font-weight: var(--primitive-font-weight-regular);
1143
1157
  @lime-slider-min-max-line-height: 60px;
1158
+ @lime-slider-min-max-line-height-large: 70px;
1144
1159
  @lime-slider-vertical-min-max-margin-left: var(--primitive-spacing-24);
1145
1160
  @lime-slider-tooltip-above-offset: (-@lime-progressbar-bar-thickness);
1146
1161
  @lime-slider-tooltip-below-offset: (@lime-progressbar-bar-thickness);
@@ -1169,10 +1184,12 @@
1169
1184
  @lime-steps-step-future-opacity: 1;
1170
1185
  @lime-steps-step-highlight-current-only-future-opacity: 1;
1171
1186
  @lime-steps-pageindicator-size: 18px;
1172
- @lime-steps-pageindicator-margin: 0 var(--primitive-spacing-12);
1187
+ @lime-steps-pageindicator-size-large: calc(@lime-steps-pageindicator-size * 1.2);
1173
1188
  @lime-steps-pageindicator-border-radius: var(--semantic-radius-full);
1174
1189
  @lime-steps-pageindicator-current-size: 24px;
1175
- @lime-steps-pageindicator-current-margin: 0 var(--primitive-spacing-6);
1190
+ @lime-steps-pageindicator-current-size-large: calc(@lime-steps-pageindicator-current-size * 1.2);
1191
+ @lime-steps-highlight-current-only-gap: var(--primitive-spacing-24);
1192
+ @lime-steps-highlight-current-only-margin-top: var(--primitive-spacing-30);
1176
1193
 
1177
1194
  // Switch
1178
1195
  // ---------------------------------------
@@ -1193,11 +1210,12 @@
1193
1210
 
1194
1211
  // TabLayout
1195
1212
  // ---------------------------------------
1196
- @lime-tablayout-border-radius: var(--semantic-radius-container);
1213
+ @lime-tablayout-border-radius-horizontal: var(--primitive-radius-44);
1214
+ @lime-tablayout-border-radius-vertical: var(--semantic-radius-container);
1197
1215
  @lime-tablayout-collapse-duration: 250ms;
1198
1216
  @lime-tablayout-vertical-content-margin-top: 0;
1199
1217
  @lime-tablayout-horizontal-content-margin-top: var(--primitive-spacing-96);
1200
- @lime-tablayout-horizontal-tabs-margin: 0 var(--primitive-spacing-18);
1218
+ @lime-tablayout-horizontal-scrollable-tabs-padding: 0 var(--primitive-spacing-132);
1201
1219
  @lime-tablayout-horizontal-tabs-padding: var(--primitive-spacing-12);
1202
1220
  @lime-tablayout-horizontal-tabs-spacing: var(--primitive-spacing-48);
1203
1221
  @lime-tablayout-vertical-tabs-padding: var(--primitive-spacing-36);
@@ -1210,6 +1228,7 @@
1210
1228
  @lime-tablayout-tab-horizontal-button-height: 108px;
1211
1229
  @lime-tablayout-tab-horizontal-small-button-height: 96px;
1212
1230
  @lime-tablayout-tab-horizontal-small-button-line-height: 60px;
1231
+ @lime-tablayout-tab-horizontal-small-button-line-height-large: 70px;
1213
1232
  @lime-tablayout-tab-horizontal-padding: var(--primitive-spacing-24);
1214
1233
  @lime-tablayout-tab-group-vertical-height: 1584px;
1215
1234
  @lime-tablayout-tab-group-vertical-scrollbar-track-margin: var(--primitive-spacing-36);
@@ -1226,6 +1245,12 @@
1226
1245
  @lime-tooltip-point-width: 31px; // actual value is 30px. +1px to ensure no gaps
1227
1246
  @lime-tooltip-point-height: 37px; // actual value is 36px. +1px to ensure no gaps
1228
1247
  @lime-tooltip-border-radius: var(--semantic-radius-button);
1248
+ @lime-tooltip-image-border-radius: var(--semantic-radius-button);
1249
+ @lime-tooltip-image-container-border-radius: var(--semantic-radius-container);
1250
+ @lime-tooltip-image-gap: var(--primitive-spacing-36);
1251
+ @lime-tooltip-image-height: 540px;
1252
+ @lime-tooltip-image-padding: var(--primitive-spacing-60);
1253
+ @lime-tooltip-image-width: 960px;
1229
1254
  @lime-tooltip-label-line-height: 72px;
1230
1255
  @lime-tooltip-label-line-height-large: 84px;
1231
1256
  @lime-tooltip-padding: var(--primitive-spacing-12) var(--primitive-spacing-48);
@@ -23,7 +23,7 @@ var _useOverscrollEffect2 = _interopRequireDefault(require("./useOverscrollEffec
23
23
  var _useSpotlight = require("./useSpotlight");
24
24
  var _OverscrollEffectModule = _interopRequireDefault(require("./OverscrollEffect.module.css"));
25
25
  var _useScrollModule = _interopRequireDefault(require("./useScroll.module.css"));
26
- var _excluded = ["className", "data-spotlight-container", "data-spotlight-container-disabled", "data-spotlight-id", "data-webos-voice-disabled", "data-webos-voice-focused", "data-webos-voice-group-label", "editable", "focusableScrollbar", "fadeOut", "horizontalScrollThumbAriaLabel", "noAffordance", "scrollMode", "snapToCenter", "style", "verticalScrollThumbAriaLabel"];
26
+ var _excluded = ["className", "data-spotlight-container", "data-spotlight-container-disabled", "data-spotlight-id", "data-webos-voice-disabled", "data-webos-voice-focused", "data-webos-voice-group-label", "editable", "focusableScrollbar", "fadeOut", "horizontalScrollThumbAriaLabel", "noAffordance", "scrollMode", "snapToCenter", "stickTo", "style", "verticalScrollThumbAriaLabel"];
27
27
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
28
28
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
29
29
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
@@ -347,6 +347,7 @@ var useScroll = exports.useScroll = function useScroll(props) {
347
347
  noAffordance = props.noAffordance,
348
348
  scrollMode = props.scrollMode,
349
349
  snapToCenter = props.snapToCenter,
350
+ stickTo = props.stickTo,
350
351
  style = props.style,
351
352
  verticalScrollThumbAriaLabel = props.verticalScrollThumbAriaLabel,
352
353
  rest = _objectWithoutProperties(props, _excluded);
@@ -501,6 +502,7 @@ var useScroll = exports.useScroll = function useScroll(props) {
501
502
  scrollContainerRef: scrollContainerRef,
502
503
  setThemeScrollContentHandle: setThemeScrollContentHandle,
503
504
  spotlightId: spotlightId,
505
+ stickTo: stickTo,
504
506
  scrollContainerHandle: scrollContainerHandle,
505
507
  scrollContentHandle: scrollContentHandle,
506
508
  scrollContentRef: scrollContentRef