@enact/limestone 1.3.0 → 1.9.4

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 (166) hide show
  1. package/.github/workflows/ci-branch.yml +21 -0
  2. package/.github/workflows/ci-pull-request.yml +16 -0
  3. package/.github/workflows/ci-reusable.yml +73 -0
  4. package/ActionGuide/ActionGuide.d.ts +5 -4
  5. package/ActionGuide/ActionGuide.module.css +1 -1
  6. package/Alert/Alert.d.ts +4 -2
  7. package/Alert/Alert.js +4 -1
  8. package/Alert/Alert.module.css +36 -0
  9. package/BodyText/BodyText.d.ts +5 -4
  10. package/BodyText/BodyText.module.css +7 -7
  11. package/Button/Button.d.ts +17 -12
  12. package/Button/Button.js +1 -1
  13. package/Button/Button.module.css +195 -268
  14. package/CHANGELOG.md +226 -0
  15. package/Card/Card.d.ts +36 -8
  16. package/Card/Card.js +157 -20
  17. package/Card/Card.module.css +277 -58
  18. package/Card/tests/Card-specs.js +30 -0
  19. package/Checkbox/Checkbox.d.ts +8 -7
  20. package/Checkbox/Checkbox.js +3 -1
  21. package/Checkbox/Checkbox.module.css +213 -120
  22. package/Checkbox/tests/Checkbox-specs.js +1 -1
  23. package/CheckboxItem/CheckboxItem.d.ts +22 -7
  24. package/CheckboxItem/CheckboxItem.js +69 -4
  25. package/Chips/Chip.js +60 -7
  26. package/Chips/Chip.module.css +3 -3
  27. package/Chips/Chips.js +26 -12
  28. package/Chips/Chips.module.css +1 -1
  29. package/Chips/tests/Chip-specs.js +19 -9
  30. package/Chips/tests/Chips-specs.js +19 -19
  31. package/ContextualMenuDecorator/ContextualMenuDecorator.d.ts +4 -5
  32. package/ContextualPopupDecorator/ContextualPopup.module.css +34 -34
  33. package/ContextualPopupDecorator/ContextualPopupDecorator.js +557 -549
  34. package/DatePicker/DatePicker.d.ts +4 -5
  35. package/DayPicker/DayPicker.d.ts +8 -7
  36. package/Dropdown/Dropdown.d.ts +11 -13
  37. package/Dropdown/Dropdown.module.css +9 -9
  38. package/Dropdown/DropdownList.js +16 -11
  39. package/FixedPopupPanels/FixedPopupPanels.d.ts +4 -2
  40. package/FixedPopupPanels/FixedPopupPanels.module.css +18 -18
  41. package/FlexiblePopupPanels/FlexiblePopupPanels.module.css +23 -23
  42. package/FormCheckboxItem/FormCheckboxItem.d.ts +5 -4
  43. package/Heading/Heading.d.ts +8 -7
  44. package/Heading/Heading.module.css +5 -5
  45. package/Icon/Icon.d.ts +14 -4
  46. package/Icon/Icon.js +48 -2
  47. package/Icon/Icon.module.css +1 -1
  48. package/Icon/IconList.js +25 -1
  49. package/IconItem/IconItem.d.ts +13 -12
  50. package/IconItem/IconItem.js +15 -0
  51. package/IconItem/IconItem.module.css +107 -1
  52. package/Image/Image.d.ts +5 -4
  53. package/ImageItem/ImageItem.d.ts +11 -10
  54. package/ImageItem/ImageItem.js +37 -31
  55. package/ImageItem/ImageItem.module.css +30 -30
  56. package/ImageItem/tests/ImageItem-specs.js +3 -10
  57. package/Input/Input.js +9 -2
  58. package/Input/Input.module.css +37 -8
  59. package/Input/InputField.js +5 -1
  60. package/Input/InputField.module.css +17 -2
  61. package/Input/InputFieldSpotlightDecorator.js +213 -229
  62. package/Input/index.d.ts +15 -18
  63. package/Input/tests/InputField-specs.js +21 -0
  64. package/Item/Item.d.ts +16 -9
  65. package/Item/Item.js +20 -2
  66. package/Item/Item.module.css +1 -1
  67. package/KeyGuide/KeyGuide.d.ts +8 -7
  68. package/KeyGuide/KeyGuide.module.css +25 -1
  69. package/Marquee/Marquee.d.ts +2 -4
  70. package/MediaOverlay/MediaOverlay.d.ts +12 -11
  71. package/MediaOverlay/MediaOverlay.js +43 -21
  72. package/MediaOverlay/MediaOverlay.module.css +114 -15
  73. package/MediaPlayer/MediaControls.js +195 -13
  74. package/MediaPlayer/MediaControls.module.css +3 -2
  75. package/MediaPlayer/MediaSlider.module.css +7 -20
  76. package/MediaPlayer/index.d.ts +59 -7
  77. package/PageViews/PageViews.js +165 -80
  78. package/PageViews/PageViewsRouter.js +9 -0
  79. package/PageViews/tests/PageViews-specs.js +84 -0
  80. package/Panels/Header.js +48 -30
  81. package/Panels/Header.module.css +83 -31
  82. package/Panels/Panel.module.css +1 -1
  83. package/Panels/index.d.ts +7 -8
  84. package/Picker/Picker.d.ts +4 -5
  85. package/Picker/Picker.module.css +2 -2
  86. package/Popup/Popup.js +242 -240
  87. package/Popup/Popup.module.css +24 -24
  88. package/PopupTabLayout/PopupTabLayout.d.ts +5 -7
  89. package/PopupTabLayout/PopupTabLayout.js +15 -9
  90. package/PopupTabLayout/PopupTabLayout.module.css +53 -16
  91. package/PopupTabLayout/PopupTabLayoutStateContext.js +8 -0
  92. package/ProgressBar/ProgressBar.d.ts +5 -4
  93. package/ProgressBar/ProgressBarTooltip.module.css +12 -12
  94. package/ProgressButton/ProgressButton.d.ts +4 -5
  95. package/QuickGuidePanels/QuickGuidePanels.module.css +2 -2
  96. package/RadioItem/RadioItem.d.ts +18 -5
  97. package/RadioItem/RadioItem.js +67 -2
  98. package/RadioItem/RadioItem.module.css +36 -36
  99. package/RangePicker/RangePicker.module.css +2 -2
  100. package/Scroller/EditableWrapper.js +11 -4
  101. package/Scroller/Scroller.d.ts +20 -16
  102. package/Scroller/Scroller.js +9 -3
  103. package/Scroller/Scroller.module.css +4 -4
  104. package/Slider/Slider.d.ts +16 -14
  105. package/Slider/Slider.js +37 -4
  106. package/Slider/Slider.module.css +314 -91
  107. package/Slider/tests/Slider-specs.js +2 -1
  108. package/Spinner/Spinner.d.ts +5 -4
  109. package/Spinner/Spinner.module.css +9 -9
  110. package/Steps/Steps.d.ts +5 -4
  111. package/Steps/Steps.js +9 -5
  112. package/Switch/Switch.d.ts +8 -7
  113. package/Switch/Switch.module.css +100 -13
  114. package/SwitchItem/SwitchItem.d.ts +9 -6
  115. package/TabLayout/RefocusDecorator.js +15 -9
  116. package/TabLayout/TabGroup.js +3 -2
  117. package/TabLayout/TabGroup.module.css +2 -2
  118. package/TabLayout/TabLayout.d.ts +6 -0
  119. package/TabLayout/TabLayout.js +11 -1
  120. package/TabLayout/TabLayout.module.css +18 -0
  121. package/TabLayout/tests/TabLayout-specs.js +52 -0
  122. package/ThemeDecorator/ThemeDecorator.d.ts +9 -10
  123. package/ThemeDecorator/fontGenerator.js +1 -1
  124. package/ThemeDecorator/screenTypes.json +1 -0
  125. package/TimePicker/TimePicker.module.css +1 -1
  126. package/TooltipDecorator/Tooltip.module.css +1 -2
  127. package/TooltipDecorator/tests/util-specs.js +12 -0
  128. package/TooltipDecorator/useTooltip.js +1 -1
  129. package/TooltipDecorator/util.js +18 -11
  130. package/VideoPlayer/Feedback.js +3 -0
  131. package/VideoPlayer/Feedback.module.css +5 -9
  132. package/VideoPlayer/FeedbackIcons.js +1 -1
  133. package/VideoPlayer/FeedbackTooltip.module.css +55 -11
  134. package/VideoPlayer/VideoPlayer.d.ts +44 -18
  135. package/VideoPlayer/VideoPlayer.js +128 -23
  136. package/VideoPlayer/VideoPlayer.module.css +28 -11
  137. package/VirtualList/VirtualList.d.ts +9 -2
  138. package/VirtualList/VirtualList.js +31 -6
  139. package/VirtualList/tests/VirtualGridList-translate-specs.js +3 -0
  140. package/VirtualList/tests/VirtualList-specs.js +28 -1
  141. package/VirtualList/tests/VirtualList-translate-specs.js +4 -1
  142. package/VirtualList/tests/useEvent-specs.js +39 -0
  143. package/VirtualList/useEvent.js +45 -10
  144. package/VirtualList/useThemeVirtualList.js +3 -0
  145. package/WizardPanels/WizardPanels.module.css +2 -2
  146. package/WizardPanels/index.d.ts +4 -2
  147. package/fonts/Limestone_Icons.ttf +0 -0
  148. package/internal/$L/$L.js +3 -3
  149. package/internal/DateComponentPicker/DateComponentPicker.module.css +2 -2
  150. package/internal/DateTime/DateTime.module.css +1 -0
  151. package/internal/Panels/PanelsRouter.js +16 -5
  152. package/internal/Picker/Picker.module.css +2 -2
  153. package/internal/SharedStateDecorator/SharedStateDecorator.js +76 -99
  154. package/internal/validators/validators.js +21 -2
  155. package/package.json +14 -14
  156. package/styles/colors-highcontrast.less +9 -1
  157. package/styles/colors.less +11 -7
  158. package/styles/motion-mixins.less +66 -0
  159. package/styles/motions.less +78 -0
  160. package/styles/variables.less +176 -150
  161. package/useScroll/HoverToScroll.js +8 -5
  162. package/useScroll/ScrollbarTrack.module.css +8 -8
  163. package/useScroll/useEvent.js +7 -1
  164. package/useScroll/useScroll.js +2 -0
  165. package/useScroll/useScroll.module.css +6 -6
  166. package/.travis.yml +0 -40
@@ -87,9 +87,11 @@
87
87
 
88
88
  // Generic/Common/Shared
89
89
  // ---------------------------------------
90
- @lime-component-spacing: 36px;
91
- @lime-component-spacing-bottom: 30px;
92
- @lime-overlay-outline-width: 0.021rem; // 1px
90
+ @lime-component-spacing: var(--primitive-spacing-36);
91
+ @lime-component-spacing-bottom: var(--primitive-spacing-30);
92
+ @lime-focusexpand-focus-transform: scale(1.1);
93
+ @lime-focusexpand-pressed-transform: scale(1.05);
94
+ @lime-overlay-outline-width: 0.063rem; // 3px
93
95
  @lime-smallest-tappable-size: 168px;
94
96
  @lime-translate-center: translate(-50%, -50%);
95
97
 
@@ -126,13 +128,14 @@
126
128
  @lime-button-small-font-size: var(--primitive-font-size-54);
127
129
  @lime-card-caption-font-size: var(--primitive-font-size-60);
128
130
  @lime-card-label-font-size: var(--primitive-font-size-48);
131
+ @lime-card-split-caption-label-font-size: var(--primitive-font-size-60);
129
132
  @lime-header-compact-title-font-size: #guide.header[compact-title-font-size];
130
133
  @lime-header-mini-title-font-size: #guide.header[mini-title-font-size];
131
134
  @lime-header-wizard-title-font-size: #guide.header[wizard-title-font-size];
132
- @lime-heading-large-font-size: 72px;
133
- @lime-heading-medium-font-size: 66px;
134
- @lime-heading-small-font-size: 54px;
135
- @lime-heading-tiny-font-size: 48px;
135
+ @lime-heading-large-font-size: var(--primitive-font-size-72);
136
+ @lime-heading-medium-font-size: var(--primitive-font-size-66);
137
+ @lime-heading-small-font-size: var(--primitive-font-size-54);
138
+ @lime-heading-tiny-font-size: var(--primitive-font-size-48);
136
139
  @lime-heading-subtitle-font-size: #guide.header[standard-subtitle-font-size];
137
140
  @lime-heading-title-font-size: #guide.header[standard-title-font-size];
138
141
  @lime-iconitem-label-font-size: var(--primitive-font-size-42);
@@ -168,15 +171,15 @@
168
171
  @lime-picker-joined-font-size: var(--primitive-font-size-66);
169
172
  @lime-radioitem-icon-font-size: var(--primitive-font-size-48);
170
173
  @lime-steps-step-number-font-size: var(--primitive-font-size-48);
171
- @lime-switch-icon-font-size: 84px;
174
+ @lime-switch-icon-font-size: var(--primitive-font-size-84);
172
175
  @lime-switch-icon-font-size-large: 138px;
173
176
  @lime-tablayout-tab-small-font-size: var(--primitive-font-size-48);
174
177
  @lime-tablayout-tab-font-size: var(--primitive-font-size-60);
175
- @lime-tooltip-label-font-size: 54px;
178
+ @lime-tooltip-label-font-size: var(--primitive-font-size-54);
176
179
  @lime-tallglyph-alert-title-font-size: @lime-alert-title-font-size;
177
- @lime-non-latin-body-font-size: 54px;
178
- @lime-non-latin-body-small-font-size: 48px;
179
- @lime-tallglyph-body-small-font-size: 48px;
180
+ @lime-non-latin-body-font-size: var(--primitive-font-size-54);
181
+ @lime-non-latin-body-small-font-size: var(--primitive-font-size-48);
182
+ @lime-tallglyph-body-small-font-size: var(--primitive-font-size-48);
180
183
  @lime-non-latin-button-large-font-size: var(--primitive-font-size-54);
181
184
  @lime-non-latin-button-small-font-size: var(--primitive-font-size-48);
182
185
  @lime-non-latin-header-compact-title-font-size: @lime-header-compact-title-font-size;
@@ -184,8 +187,8 @@
184
187
  @lime-non-latin-header-wizard-title-font-size: @lime-header-wizard-title-font-size;
185
188
  @lime-tallglyph-heading-subtitle-font-size: (@lime-heading-subtitle-font-size - 6px);
186
189
  @lime-tallglyph-heading-title-font-size: 114px;
187
- @lime-tallglyph-imageitem-caption-font-size: 54px;
188
- @lime-tallglyph-imageitem-label-font-size: 36px;
190
+ @lime-tallglyph-imageitem-caption-font-size: var(--primitive-font-size-54);
191
+ @lime-tallglyph-imageitem-label-font-size: var(--primitive-font-size-36);
189
192
  @lime-non-latin-input-fullscreen-title-font-size: @lime-input-fullscreen-title-font-size;
190
193
  @lime-non-latin-input-overlay-title-font-size: @lime-input-overlay-title-font-size;
191
194
 
@@ -237,6 +240,7 @@
237
240
  // Card
238
241
  @lime-card-caption-font-weight: var(--primitive-font-weight-semibold);
239
242
  @lime-card-label-font-weight: var(--primitive-font-weight-regular);
243
+ @lime-card-split-caption-label-font-weight: var(--primitive-font-weight-semibold);
240
244
 
241
245
  // Heading
242
246
  @lime-heading-line-height: 1.25em;
@@ -314,7 +318,7 @@
314
318
  @lime-actionguide-max-width: 1500px;
315
319
  @lime-actionguide-label-height: 60px;
316
320
  @lime-actionguide-icon-height: 84px;
317
- @lime-actionguide-icon-margin: 0 0 -12px 0;
321
+ @lime-actionguide-icon-margin: 0 0 ~"calc("var(--primitive-spacing-12) ~"* -1)" 0;
318
322
  @lime-actionguide-padding: var(--primitive-spacing-12) 0 var(--primitive-spacing-36) 0;
319
323
 
320
324
  // Alert
@@ -351,12 +355,12 @@
351
355
  @lime-button-transparent-bg-opacity: 0;
352
356
  @lime-button-transparent-selected-bg-opacity: 1;
353
357
  @lime-button-transparent-disabled-selected-bg-opacity: 0.3;
354
- @lime-button-margin: 36px;
358
+ @lime-button-margin: var(--primitive-spacing-36);
355
359
  @lime-button-focusexpand-margin: 9px .extract(@lime-button-margin, right)[]; // 9px provides enough space for the expanded focus state
356
- @lime-button-h-padding: 60px;
360
+ @lime-button-h-padding: var(--primitive-spacing-60);
357
361
  @lime-button-height-large: 192px;
358
362
  @lime-button-height: 132px;
359
- @lime-button-icon-h-margin: 24px;
363
+ @lime-button-icon-h-margin: var(--primitive-spacing-24);
360
364
  @lime-button-icon-margin-end: @lime-button-icon-h-margin;
361
365
  @lime-button-icon-margin-start: 0;
362
366
  @lime-button-icon-padding: 0 ((@lime-button-height - @lime-icon-large-size) / 2);
@@ -371,31 +375,27 @@
371
375
  @lime-button-max-width: 1200px;
372
376
  @lime-button-min-width: 300px;
373
377
  @lime-button-min-width-default: 840px;
374
- @lime-button-focusexpand-focus-bg-transform: scale(1.1);
375
- @lime-button-focusexpand-pressed-bg-transform: scale(1.02);
376
378
  @lime-button-focus-duration: @lime-spotlight-focus-animation-duration;
377
379
  @lime-button-small-margin: var(--primitive-spacing-24);
378
380
  @lime-button-small-focusexpand-margin: @lime-button-focusexpand-margin;
379
- @lime-button-small-h-padding: 60px;
381
+ @lime-button-small-h-padding: var(--primitive-spacing-60);
380
382
  @lime-button-small-height-large: 144px;
381
383
  @lime-button-small-height: 108px;
382
384
  @lime-button-small-max-width: 1020px;
383
385
  @lime-button-small-min-width: 264px;
384
386
  @lime-button-small-min-width-default: 720px;
385
- @lime-button-small-focusexpand-focus-bg-transform: scale(1.1);
386
- @lime-button-small-focusexpand-pressed-bg-transform: scale(1.04);
387
387
  @lime-button-colordot-bottom: var(--primitive-spacing-12);
388
388
  @lime-button-colordot-border-radius: var(--semantic-radius-full);
389
389
  @lime-button-colordot-width: 60px;
390
- @lime-button-colordot-h-margin: 84px;
390
+ @lime-button-colordot-h-margin: var(--primitive-spacing-84);
391
391
  @lime-button-colordot-height: 12px;
392
392
  @lime-button-colordot-h-padding: var(--primitive-spacing-24);
393
- @lime-button-colordot-padding-start: 36px;
393
+ @lime-button-colordot-padding-start: var(--primitive-spacing-36);
394
394
  @lime-button-small-colordot-bottom: var(--primitive-spacing-12);
395
395
  @lime-button-small-colordot-width: 51px;
396
- @lime-button-small-colordot-h-margin: 72px;
396
+ @lime-button-small-colordot-h-margin: var(--primitive-spacing-72);
397
397
  @lime-button-small-colordot-height: 9px;
398
- @lime-button-small-colordot-padding-start: 30px;
398
+ @lime-button-small-colordot-padding-start: var(--primitive-spacing-30);
399
399
  @lime-button-icon-only-colordot-width: 66px;
400
400
  @lime-button-icon-only-colordot-height: 9px;
401
401
  @lime-button-collapse-duration: 300ms;
@@ -404,31 +404,34 @@
404
404
  // Card
405
405
  // ---------------------------------------
406
406
  @lime-card-margin: @lime-item-margin;
407
- @lime-card-border-radius: 36px;
407
+ @lime-card-border-radius: var(--semantic-radius-container);
408
408
  @lime-card-image-border-width: 6px;
409
409
  @lime-card-resting-border-width: 3px;
410
- @lime-card-selection-icon-size: 90px;
410
+ @lime-card-selection-check-icon-size: 90px;
411
+ @lime-card-selection-icon-size: 120px;
411
412
  @lime-card-selection-icon-border-radius: 50%;
412
413
  @lime-card-selection-icon-margin: 0;
413
- @lime-card-selection-icon-line-height: 90px;
414
+ @lime-card-selection-check-icon-line-height: 90px;
415
+ @lime-card-selection-icon-line-height: 144px;
414
416
  @lime-card-badge-size: 108px;
415
417
  @lime-card-badge-margin: 0;
416
- @lime-card-badge-top: 24px;
417
- @lime-card-badge-left: 24px;
418
- @lime-card-badge-right: 24px;
418
+ @lime-card-badge-top: var(--primitive-spacing-24);
419
+ @lime-card-badge-left: var(--primitive-spacing-24);
420
+ @lime-card-badge-right: var(--primitive-spacing-24);
419
421
  @lime-card-caption-line-height: 84px;
420
- @lime-card-caption-height: 84px;
421
422
  @lime-card-label-line-height: 60px;
422
- @lime-card-label-height: 60px;
423
- @lime-card-vertical-captions-padding: 36px 0;
424
- @lime-card-vertical-captions-gap: 48px;
423
+ @lime-card-split-caption-label-line-height: 84px;
424
+ @lime-card-split-caption-label-padding: 0 var(--primitive-spacing-48);
425
+ @lime-card-split-caption-lower-label-padding: var(--primitive-spacing-18);
426
+ @lime-card-vertical-captions-padding: var(--primitive-spacing-36) 0;
427
+ @lime-card-vertical-captions-gap: var(--primitive-spacing-48);
425
428
  @lime-card-vertical-image-icon-size: 180px;
426
429
  @lime-card-vertical-image-icon-margin: 0;
427
- @lime-card-vertical-caption-overlay-captions-padding: 48px;
428
- @lime-card-vertical-has-container-captions-padding: 36px 48px;
430
+ @lime-card-vertical-caption-overlay-captions-padding: var(--primitive-spacing-36) var(--primitive-spacing-48);
431
+ @lime-card-vertical-has-container-captions-padding: var(--primitive-spacing-36) var(--primitive-spacing-48);
429
432
  @lime-card-horizontal-width: 1320px;
430
433
  @lime-card-horizontal-height: 336px;
431
- @lime-card-horizontal-captions-padding: 48px;
434
+ @lime-card-horizontal-captions-padding: var(--primitive-spacing-48);
432
435
 
433
436
  // Checkbox
434
437
  // ---------------------------------------
@@ -447,9 +450,9 @@
447
450
  // Chip
448
451
  // ---------------------------------------
449
452
  @lime-chip-margin: 0;
450
- @lime-chip-button-spacing: 12px;
453
+ @lime-chip-button-spacing: var(--primitive-spacing-12);
451
454
  @lime-chip-min-width: 108px;
452
- @lime-chips-gap: 36px;
455
+ @lime-chips-gap: var(--primitive-spacing-36);
453
456
 
454
457
  // ContextualMenu
455
458
  // ---------------------------------------
@@ -464,15 +467,16 @@
464
467
 
465
468
  // ContextualPopup
466
469
  // ---------------------------------------
467
- @lime-contextualpopup-padding: 36px 0;
470
+ @lime-contextualpopup-padding: var(--primitive-spacing-36) 0;
468
471
  @lime-contextualpopup-arrow-height: 60px;
469
472
  @lime-contextualpopup-arrow-width: 60px;
470
- @lime-contextualpopup-offset-overlap: 36px; // used as inverse of small to cause overlap
471
- @lime-contextualpopup-offset-small: 18px;
472
- @lime-contextualpopup-offset-large: 36px;
473
+ @lime-contextualpopup-offset-overlap: var(--primitive-spacing-36); // used as inverse of small to cause overlap
474
+ @lime-contextualpopup-offset-small: var(--primitive-spacing-18);
475
+ @lime-contextualpopup-offset-large: var(--primitive-spacing-36);
473
476
 
474
477
  // Date and Time Picker
475
- @lime-datecomponentpicker-margin: 0 24px;
478
+ @lime-datecomponentpicker-margin: 0 var(--primitive-spacing-24);
479
+ @lime-datetime-fontsize: var(--primitive-font-size-66);
476
480
  @lime-datetime-heading-margin: 0 0 var(--primitive-spacing-132);
477
481
  @lime-timepicker-colon-margin: 0 var(--primitive-spacing-6);
478
482
 
@@ -482,20 +486,21 @@
482
486
  @lime-dropdown-padding: 0 var(--primitive-spacing-48);
483
487
  @lime-dropdown-min-width: @lime-button-min-width;
484
488
  @lime-dropdown-icon-margin: var(--primitive-spacing-36);
485
- @lime-dropdown-title-padding: 36px 24px;
486
- @lime-dropdown-title-min-width: (@lime-dropdown-min-width - .extract(@lime-dropdown-title-padding, left)[] * 2);
489
+ @lime-dropdown-title-padding: var(--primitive-spacing-36) var(--primitive-spacing-24);
490
+ @lime-dropdown-title-padding-left: .extract(@lime-dropdown-title-padding, left)[];
491
+ @lime-dropdown-title-min-width: ~"calc(@{lime-dropdown-min-width} - @{lime-dropdown-title-padding-left} * 2)";
487
492
  @lime-dropdown-tiny-width: 480px;
488
- @lime-dropdown-tiny-title-width: (@lime-dropdown-tiny-width - .extract(@lime-dropdown-title-padding, left)[] * 2);
493
+ @lime-dropdown-tiny-title-width: ~"calc(@{lime-dropdown-tiny-width} - @{lime-dropdown-title-padding-left} * 2)";
489
494
  @lime-dropdown-small-width: 540px;
490
- @lime-dropdown-small-title-width: (@lime-dropdown-small-width - .extract(@lime-dropdown-title-padding, left)[] * 2);
495
+ @lime-dropdown-small-title-width: ~"calc(@{lime-dropdown-small-width} - @{lime-dropdown-title-padding-left} * 2)";
491
496
  @lime-dropdown-medium-width: 690px;
492
- @lime-dropdown-medium-title-width: (@lime-dropdown-medium-width - .extract(@lime-dropdown-title-padding, left)[] * 2);
497
+ @lime-dropdown-medium-title-width: ~"calc(@{lime-dropdown-medium-width} - @{lime-dropdown-title-padding-left} * 2)";
493
498
  @lime-dropdown-large-width: 840px;
494
- @lime-dropdown-large-title-width: (@lime-dropdown-large-width - .extract(@lime-dropdown-title-padding, left)[] * 2);
499
+ @lime-dropdown-large-title-width: ~"calc(@{lime-dropdown-large-width} - @{lime-dropdown-title-padding-left} * 2)";
495
500
  @lime-dropdown-x-large-width: 1050px;
496
- @lime-dropdown-x-large-title-width: (@lime-dropdown-x-large-width - .extract(@lime-dropdown-title-padding, left)[] * 2);
501
+ @lime-dropdown-x-large-title-width: ~"calc(@{lime-dropdown-x-large-width} - @{lime-dropdown-title-padding-left} * 2)";
497
502
  @lime-dropdown-huge-width: 1380px;
498
- @lime-dropdown-huge-title-width: (@lime-dropdown-huge-width - .extract(@lime-dropdown-title-padding, left)[] * 2);
503
+ @lime-dropdown-huge-title-width: ~"calc(@{lime-dropdown-huge-width} - @{lime-dropdown-title-padding-left} * 2)";
499
504
  @lime-dropdown-list-tiny-width: (@lime-dropdown-tiny-width - @lime-button-border-width);
500
505
  @lime-dropdown-list-small-width: (@lime-dropdown-small-width - @lime-button-border-width);
501
506
  @lime-dropdown-list-medium-width: (@lime-dropdown-medium-width - @lime-button-border-width);
@@ -511,19 +516,19 @@
511
516
  // ---------------------------------------
512
517
  @lime-fixedpopuppanels-width: 1200px;
513
518
  @lime-fixedpopuppanels-half-width: 1716px;
514
- @lime-fixedpopuppanels-margin: 60px 60px 132px;
519
+ @lime-fixedpopuppanels-margin: var(--primitive-spacing-60) var(--primitive-spacing-60) var(--primitive-spacing-132);
515
520
  @lime-fixedpopuppanels-border-radius: var(--semantic-radius-overlay);
516
521
  @lime-fixedpopuppanels-panel-body-padding: var(--primitive-spacing-60);
517
522
 
518
523
  // FlexiblePopupPanels
519
524
  // ---------------------------------------
520
525
  @lime-flexiblepopuppanels-min-width: 1140px;
521
- @lime-flexiblepopuppanels-margin: 60px 0;
522
- @lime-flexiblepopuppanels-padding: 0 60px (36px + (18px * 1.75)); // Math in an attempt to use the shadow values to calculate the proper margin size so no shadow clipping occurs.
526
+ @lime-flexiblepopuppanels-margin: var(--primitive-spacing-60) 0;
527
+ @lime-flexiblepopuppanels-padding: 0 var(--primitive-spacing-60) ~"calc(var(--primitive-spacing-36) + (var(--primitive-spacing-18) * 1.75))"; // Math in an attempt to use the shadow values to calculate the proper margin size so no shadow clipping occurs.
523
528
  @lime-flexiblepopuppanels-panel-border-radius: var(--semantic-radius-overlay);
524
- @lime-flexiblepopuppanels-panel-margin: 0 60px;
525
- @lime-flexiblepopuppanels-panel-padding: 60px (60px - @lime-component-spacing);
526
- @lime-flexiblepopuppanels-body-padding: 0 108px;
529
+ @lime-flexiblepopuppanels-panel-margin: 0 var(--primitive-spacing-60);
530
+ @lime-flexiblepopuppanels-panel-padding: var(--primitive-spacing-60);
531
+ @lime-flexiblepopuppanels-body-padding: 0 var(--primitive-spacing-108);
527
532
  @lime-flexiblepopuppanels-navbutton-margin: 0;
528
533
  @lime-flexiblepopuppanels-small-width: 600px;
529
534
  @lime-flexiblepopuppanels-large-width: 1320px;
@@ -534,10 +539,16 @@
534
539
 
535
540
  // Header
536
541
  // ---------------------------------------
537
- @lime-header-slotabove-margin: 0 -@lime-component-spacing var(--primitive-spacing-24) -@lime-component-spacing; // Negative margins accommodate the component-spacing
538
- @lime-header-slotbelow-margin: 18px -@lime-component-spacing 0 -@lime-component-spacing; // Negative margins accommodate the component-spacing
542
+ @lime-header-titleRow-height: 222px;
543
+ @lime-header-centered-titleRow-height: 282px;
544
+ @lime-header-popup-titleRow-height: 204px;
545
+ @lime-header-popup-compact-slotafter-padding-offset: var(--primitive-spacing-24);
546
+ @lime-header-slotabove-margin: 0 ~"calc(@{lime-component-spacing} * -1)" var(--primitive-spacing-24) ~"calc(@{lime-component-spacing} * -1)"; // Negative margins accommodate the component-spacing
547
+ @lime-header-slotbelow-margin: var(--primitive-spacing-18) ~"calc(@{lime-component-spacing} * -1)" 0 ~"calc(@{lime-component-spacing} * -1)"; // Negative margins accommodate the component-spacing
539
548
  @lime-header-subtitle-height: (@lime-heading-subtitle-font-size * @lime-heading-subtitle-line-height);
540
549
  @lime-header-subtitle-margin-start: var(--primitive-spacing-6);
550
+ @lime-header-tallglyph-titleRow-height: 246px;
551
+ @lime-header-tallglyph-centered-titleRow-height: 306px;
541
552
  // STOP! READ THE FOLLOWING BEFORE EDITING.
542
553
  //
543
554
  // Panel imposes no padding so Header is fully responsible for its own positioning. The code below
@@ -562,21 +573,7 @@
562
573
  .extract(#guide.header[standard-padding], left)[];
563
574
  @lime-header-standard-title-padding: 0;
564
575
  @lime-header-standard-title-margin-top: var(--primitive-spacing-60);
565
- @lime-header-standard-subtitle-margin:
566
- (
567
- .extract(#guide.header[standard-titles-gap], top)[]
568
- - #guide.get-edge-size-difference(
569
- #guide.header[standard-title-line-height],
570
- @lime-heading-title-font-size,
571
- @lime-heading-title-line-height
572
- )[@result]
573
- - #guide.get-edge-size-difference(
574
- #guide.header[standard-subtitle-line-height],
575
- @lime-heading-subtitle-font-size,
576
- @lime-heading-subtitle-line-height
577
- )[@result]
578
- )
579
- 0 0 0;
576
+ @lime-header-standard-subtitle-margin: 0;
580
577
  @lime-header-standard-slotbefore-margin-end: var(--primitive-spacing-36);
581
578
  @lime-header-standard-slotafter-margin-start: var(--primitive-spacing-36);
582
579
  @lime-header-compact-margin: 0;
@@ -606,7 +603,7 @@
606
603
  @lime-header-compact-slotbefore-margin-end: var(--primitive-spacing-24);
607
604
  @lime-header-compact-slotafter-margin-start: var(--primitive-spacing-30);
608
605
  @lime-header-mini-margin:
609
- 6px
606
+ var(--primitive-spacing-6)
610
607
  @lime-component-spacing
611
608
  .extract(#guide.header[mini-padding], bottom)[]
612
609
  @lime-component-spacing; // 6px top to account for a focused button, so it doesn't clip.
@@ -630,7 +627,7 @@
630
627
  )[@result]
631
628
  )
632
629
  .extract(#guide.header[mini-padding], left)[];
633
- @lime-header-wizard-nosubtitle-padding-bottom: ~"calc("@lime-header-subtitle-height ~"+ var(--primitive-spacing-6))";
630
+ @lime-header-wizard-nosubtitle-padding-bottom: ~"calc(@{lime-header-subtitle-height} + var(--primitive-spacing-6))";
634
631
  @lime-header-wizard-margin: 0;
635
632
  @lime-header-wizard-padding:
636
633
  (
@@ -646,7 +643,7 @@
646
643
  .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.
647
644
  @lime-header-wizard-title-padding: 0;
648
645
  @lime-header-wizard-subtitle-padding: 0;
649
- @lime-header-back-container-width: (@lime-button-small-height + @lime-button-icon-small-h-margin);
646
+ @lime-header-back-container-width: ~"calc(@{lime-button-small-height} + @{lime-button-icon-small-h-margin})";
650
647
 
651
648
  // Heading
652
649
  // ---------------------------------------
@@ -659,7 +656,7 @@
659
656
  @lime-heading-spacing-large: 78px;
660
657
  @lime-heading-spacing-medium: 42px;
661
658
  @lime-heading-spacing-small: 18px;
662
- @lime-heading-spacing-small-margin-bottom: ~"calc(var(--primitive-spacing-36) -" @lime-heading-border-width ~")";
659
+ @lime-heading-spacing-small-margin-bottom: ~"calc(var(--primitive-spacing-36) - @{lime-heading-border-width})";
663
660
 
664
661
  // HolePunchScrim
665
662
  // ---------------------------------------
@@ -670,7 +667,7 @@
670
667
  @lime-icon-medium-size: 78px;
671
668
  @lime-icon-small-size: 72px;
672
669
  @lime-icon-tiny-size: 60px;
673
- @lime-icon-margin: 24px;
670
+ @lime-icon-margin: var(--primitive-spacing-24);
674
671
  @lime-icon-large-size-large: (@lime-icon-large-size * 1.2);
675
672
  @lime-icon-small-size-large: (@lime-icon-small-size * 1.2);
676
673
 
@@ -682,7 +679,6 @@
682
679
  @lime-iconitem-border-radius: var(--semantic-radius-container);
683
680
  @lime-iconitem-border-style: solid;
684
681
  @lime-iconitem-border-width: 4px;
685
- @lime-iconitem-focus-transform: scale(1.1);
686
682
  @lime-iconitem-icon-margin: 0;
687
683
  @lime-iconitem-icon-height: 120px;
688
684
  @lime-iconitem-icon-width: @lime-iconitem-icon-height;
@@ -703,7 +699,7 @@
703
699
  @lime-imageitem-label-line-height: 60px;
704
700
  @lime-imageitem-placeholder-caption-height: 102px;
705
701
  @lime-imageitem-placeholder-label-height: 66px;
706
- @lime-imageitem-horizontal-padding: 30px;
702
+ @lime-imageitem-horizontal-padding: var(--primitive-spacing-30);
707
703
  @lime-imageitem-horizontal-image-width: 180px;
708
704
  @lime-imageitem-horizontal-image-height: @lime-imageitem-horizontal-image-width;
709
705
  @lime-imageitem-horizontal-image-margin: var(--primitive-spacing-48);
@@ -713,7 +709,7 @@
713
709
  @lime-imageitem-horizontal-wideimage-image-width: 426px;
714
710
  @lime-imageitem-horizontal-wideimage-image-height: 240px;
715
711
  @lime-imageitem-vertical-padding: var(--primitive-spacing-24) var(--primitive-spacing-24) var(--primitive-spacing-30);
716
- @lime-imageitem-vertical-full-image-padding: 60px; // 24px(for expanding) + 36px(for showing shadow)
712
+ @lime-imageitem-vertical-full-image-padding: var(--primitive-spacing-60); // 24px(for expanding) + 36px(for showing shadow)
717
713
  @lime-imageitem-vertical-full-image-border-width: 2px;
718
714
  @lime-imageitem-vertical-full-image-focus-border-width: 6px;
719
715
  @lime-imageitem-vertical-captions-margin-top: var(--primitive-spacing-30);
@@ -730,8 +726,14 @@
730
726
  @lime-input-keypad-key-padding: var(--primitive-spacing-24);
731
727
  @lime-input-keypad-key-height: 168px;
732
728
  @lime-input-keypad-key-width: @lime-input-keypad-key-height;
733
- @lime-input-fullscreen-padding: (156px - .extract(@lime-popup-padding, top)[]) (324px - .extract(@lime-popup-padding, right)[]) 0 (324px - .extract(@lime-popup-padding, left)[]);
734
- @lime-portrait-input-fullscreen-padding: (96px - .extract(@lime-popup-padding, top)[]) (132px - .extract(@lime-popup-padding, right)[]) 0 (132px - .extract(@lime-popup-padding, left)[]);
729
+ @lime-input-fullscreen-padding-top: .extract(@lime-popup-padding, top)[];
730
+ @lime-input-fullscreen-padding-right: .extract(@lime-popup-padding, right)[];
731
+ @lime-input-fullscreen-padding-left: .extract(@lime-popup-padding, left)[];
732
+ @lime-input-fullscreen-padding: ~"calc(var(--primitive-spacing-156) - @{lime-input-fullscreen-padding-top})" ~"calc(324px - @{lime-input-fullscreen-padding-right})" 0 ~"calc(324px - @{lime-input-fullscreen-padding-left})";
733
+ @lime-portrait-input-fullscreen-padding-top: .extract(@lime-popup-padding, top)[];
734
+ @lime-portrait-input-fullscreen-padding-right: .extract(@lime-popup-padding, right)[];
735
+ @lime-portrait-input-fullscreen-padding-left: .extract(@lime-popup-padding, left)[];
736
+ @lime-portrait-input-fullscreen-padding: ~"calc(var(--primitive-spacing-96) - @{lime-portrait-input-fullscreen-padding-top})" ~"calc(var(--primitive-spacing-132) - @{lime-portrait-input-fullscreen-padding-right})" 0 ~"calc(var(--primitive-spacing-132) - @{lime-portrait-input-fullscreen-padding-left})";
735
737
  @lime-input-fullscreen-title-height: 228px;
736
738
  @lime-input-fullscreen-vkb-height: 876px;
737
739
  @lime-input-fullscreen-footer-height: 240px;
@@ -741,7 +743,7 @@
741
743
  @lime-input-fullscreen-numbercell-width: 180px;
742
744
  @lime-input-fullscreen-numbercell-height: 240px;
743
745
  @lime-input-fullscreen-numbercell-margin: 0;
744
- @lime-input-fullscreen-numbercell-gap: 60px;
746
+ @lime-input-fullscreen-numbercell-gap: var(--primitive-spacing-60);
745
747
  @lime-input-fullscreen-numberfield-width: 1104px;
746
748
  @lime-input-fullscreen-numberfield-height: 132px;
747
749
  @lime-input-fullscreen-numberfield-margin: auto;
@@ -750,14 +752,14 @@
750
752
  @lime-input-fullscreen-keypad-margin: var(--primitive-spacing-132) auto 0 auto;
751
753
  @lime-input-fullscreen-buttonarea-margin: 0;
752
754
  @lime-input-fullscreen-invalid-tooltip-width: 3240px;
753
- @lime-input-fullscreen-back-button-top: 108px;
754
- @lime-input-fullscreen-back-button-start: 132px;
755
+ @lime-input-fullscreen-back-button-top: var(--primitive-spacing-108);
756
+ @lime-input-fullscreen-back-button-start: var(--primitive-spacing-132);
755
757
  @lime-portrait-input-fullscreen-keypad-margin: var(--primitive-spacing-132) auto 0 auto;
756
758
  @lime-portrait-input-fullscreen-number-inputarea-margin: var(--primitive-spacing-96) 0 0 0;
757
759
  @lime-input-overlay-body-padding: var(--primitive-spacing-84) var(--primitive-spacing-60);
758
760
  @lime-input-overlay-border-radius: var(--semantic-radius-popup);
759
761
  @lime-input-overlay-width: 1320px;
760
- @lime-input-overlay-inputarea-margin: var(--primitive-spacing-60) 0 0 0;
762
+ @lime-input-overlay-inputarea-margin: var(--primitive-spacing-60) 0 var(--primitive-spacing-24);
761
763
  @lime-input-overlay-numbercell-margin: 0 var(--primitive-spacing-24);
762
764
  @lime-input-overlay-numbercell-width: 132px;
763
765
  @lime-input-overlay-numbercell-height: 156px;
@@ -767,13 +769,14 @@
767
769
  @lime-input-overlay-numberfield-padding: 0 var(--primitive-spacing-48);
768
770
  @lime-input-overlay-numberfield-letter-spacing: var(--primitive-spacing-30);
769
771
  @lime-input-overlay-keypad-gap: var(--primitive-spacing-60);
770
- @lime-input-overlay-keypad-margin: var(--primitive-spacing-132) 198px 60px 198px;
772
+ @lime-input-overlay-keypad-margin: var(--primitive-spacing-132) 198px var(--primitive-spacing-60) 198px;
771
773
  @lime-input-overlay-keypad-width: 624px;
772
774
  @lime-input-overlay-keypad-width-large: 120px + (@lime-button-height-large * 3);
773
775
  @lime-input-overlay-buttonarea-margin: 0;
774
776
  @lime-input-overlay-submitbutton-margin: var(--primitive-spacing-60) auto 0 auto;
775
777
  @lime-input-overlay-invalid-tooltip-width: 738px;
776
778
  @lime-input-overlay-textfield-width: 1032px;
779
+ @lime-input-overlay-no-title-height: 120px;
777
780
  @lime-input-overlay-title-margin: 0 var(--primitive-spacing-144) 0 var(--primitive-spacing-144);
778
781
  @lime-input-invalid-tooltip-margin-top: var(--primitive-spacing-24);
779
782
  @lime-input-invalid-tooltip-line-height: 60px;
@@ -790,9 +793,13 @@
790
793
  @lime-inputfield-invalid-tooltip-margin-top: var(--primitive-spacing-30);
791
794
  @lime-inputfield-height: 168px;
792
795
  @lime-inputfield-width: 1560px;
796
+ @lime-inputfield-withoneicon-width: 1386px;
797
+ @lime-inputfield-withtwoicons-width: 1272px;
793
798
  @lime-inputfield-small-height: 132px;
794
799
  @lime-inputfield-highlight-height: 100%;
795
800
  @lime-inputfield-small-width: 1200px;
801
+ @lime-inputfield-small-withoneicon-width: 990px;
802
+ @lime-inputfield-small-withtwoicons-width: 876px;
796
803
 
797
804
  // Item
798
805
  // ---------------------------------------
@@ -822,7 +829,7 @@
822
829
  @lime-keyguide-icon-icon-margin-right: var(--primitive-spacing-48);
823
830
  @lime-keyguide-icon-gap: var(--primitive-spacing-42);
824
831
  @lime-keyguide-icon-padding: var(--primitive-spacing-48);
825
- @lime-keyguide-icon-position-bottom: 120px;
832
+ @lime-keyguide-icon-position-bottom: var(--primitive-spacing-120);
826
833
  @lime-keyguide-icon-position-right: 150px;
827
834
  @lime-keyguide-icon-width: 750px;
828
835
  @lime-keyguide-image-padding: var(--primitive-spacing-32) var(--primitive-spacing-42);
@@ -849,12 +856,11 @@
849
856
  @lime-mediaoverlay-text-margin-bottom: var(--primitive-spacing-36);
850
857
  @lime-mediaoverlay-textlayout-margin: var(--primitive-spacing-24) var(--primitive-spacing-60);
851
858
  @lime-mediaoverlay-width: 768px;
852
- @lime-mediaoverlay-focus-media-transform: scale(1.1);
853
859
  @lime-mediaoverlay-focus-media-outline-width: 6px;
854
860
 
855
861
  // MediaPlayer
856
862
  // ---------------------------------------
857
- @lime-mediaplayer-button-client-padding: 0 18px;
863
+ @lime-mediaplayer-button-client-padding: 0 var(--primitive-spacing-18);
858
864
  @lime-mediaplayer-button-border-radius: 96px;
859
865
  @lime-mediaplayer-button-height: 180px;
860
866
  @lime-mediaplayer-button-icon-size: 108px;
@@ -863,16 +869,15 @@
863
869
  @lime-mediaplayer-controls-actionguide-padding-bottom: 0;
864
870
  @lime-mediaplayer-controls-actionguide-padding-top: var(--primitive-spacing-72);
865
871
  @lime-mediaplayer-controls-actionguide-time: 0.2s; // Length of the animation
866
- @lime-mediaplayer-controls-button-margin-start: 90px;
872
+ @lime-mediaplayer-controls-button-margin-start: var(--primitive-spacing-90);
867
873
  @lime-mediaplayer-controls-gap: var(--primitive-spacing-120);
868
874
  @lime-mediaplayer-controls-height: 180px;
869
- @lime-mediaplayer-controls-margin-top: 36px;
875
+ @lime-mediaplayer-controls-margin-top: var(--primitive-spacing-36);
870
876
  @lime-mediaplayer-controls-moreComponents-gap: 204px;
871
- @lime-mediaplayer-controls-moreComponents-margin-top: 60px;
877
+ @lime-mediaplayer-controls-moreComponents-margin-top: var(--primitive-spacing-60);
872
878
  @lime-mediaplayer-controls-moreComponents-time: 0.3s; // Length of the animation
873
879
  @lime-mediaplayer-slider-height: 12px;
874
- @lime-mediaplayer-slider-knob-resting-state-scale: @lime-slider-knob-resting-state-scale;
875
- @lime-mediaplayer-slider-knob-size: 48px;
880
+ @lime-mediaplayer-slider-knob-size: 36px;
876
881
  @lime-mediaplayer-slider-tap-area: 60px;
877
882
  @lime-mediaplayer-times-line-height: 60px;
878
883
  @lime-mediaplayer-times-min-width: 192px;
@@ -899,11 +904,14 @@
899
904
  // ---------------------------------------
900
905
  @lime-panel-padding: 0;
901
906
  @lime-panel-body-padding-top: .extract(#guide.panel[body-padding], top)[]; // Used in this file only, for consistency
902
- @lime-panel-body-padding: @lime-panel-body-padding-top (.extract(#guide.panel[body-padding], right)[] - @lime-component-spacing);
907
+ @lime-panel-body-padding-right: .extract(#guide.panel[body-padding], right)[];
908
+ @lime-panel-body-padding: @lime-panel-body-padding-top ~"calc(@{lime-panel-body-padding-right} - @{lime-component-spacing})";
903
909
 
904
910
  // Picker
905
911
  // ----------------------------------------
906
- @lime-picker-title-margin-left: @lime-component-spacing + .extract(@lime-button-margin, left)[] + .extract(@lime-button-icon-small-padding, left)[];
912
+ @lime-picker-title-margin-left-button: .extract(@lime-button-margin, left)[];
913
+ @lime-picker-title-margin-left-icon: .extract(@lime-button-icon-small-padding, left)[];
914
+ @lime-picker-title-margin-left: ~"calc(@{lime-component-spacing} + @{lime-picker-title-margin-left-button} + @{lime-picker-title-margin-left-icon})";
907
915
  @lime-picker-title-max-width: 480px;
908
916
  @lime-picker-margin: 0 @lime-component-spacing;
909
917
  @lime-picker-item-padding: 0 @lime-spotlight-outset;
@@ -932,23 +940,25 @@
932
940
 
933
941
  // Popup
934
942
  // ---------------------------------------
935
- @lime-popup-padding: 48px 72px;
936
- @lime-popup-border-radius: 24px;
943
+ @lime-popup-padding: var(--primitive-spacing-48) var(--primitive-spacing-72);
944
+ @lime-popup-border-radius: var(--primitive-radius-24);
937
945
  // 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.
938
- @lime-popup-position-top-margin: 150px 120px 78px 120px; // 78px is the amount of space the shadow renders onto, so it's not clipped.
939
- @lime-popup-position-right-margin: 120px 60px 120px @lime-component-spacing;
940
- @lime-popup-position-bottom-margin: 0 120px 150px 120px;
941
- @lime-popup-position-left-margin: 120px @lime-component-spacing 120px 60px;
942
- @lime-popup-position-corner-margin: 60px;
946
+ @lime-popup-position-top-margin: 150px var(--primitive-spacing-120) 78px var(--primitive-spacing-120); // 78px is the amount of space the shadow renders onto, so it's not clipped.
947
+ @lime-popup-position-right-margin: var(--primitive-spacing-120) var(--primitive-spacing-60) var(--primitive-spacing-120) @lime-component-spacing;
948
+ @lime-popup-position-bottom-margin: 0 var(--primitive-spacing-120) 150px var(--primitive-spacing-120);
949
+ @lime-popup-position-left-margin: var(--primitive-spacing-120) @lime-component-spacing var(--primitive-spacing-120) var(--primitive-spacing-60);
950
+ @lime-popup-position-corner-margin: var(--primitive-spacing-60);
943
951
 
944
952
  // PopupTabLayout
945
953
  // ---------------------------------------
946
- @lime-popuptablayout-margin: 60px auto 132px 60px;
954
+ @lime-popuptablayout-margin: var(--primitive-spacing-60) auto var(--primitive-spacing-132) var(--primitive-spacing-60);
955
+ @lime-popuptablayout-tab-icon-size: 96px;
947
956
  @lime-popuptablayout-tabs-border-radius: var(--semantic-radius-container);
948
957
  @lime-popuptablayout-tabs-content-spacing: var(--primitive-spacing-36);
949
958
  @lime-popuptablayout-content-border-radius: var(--semantic-radius-popup);
950
959
  @lime-popuptablayout-content-margin: 0;
951
960
  @lime-popuptablayout-panel-body-padding: var(--primitive-spacing-60);
961
+ @lime-popuptablayout-panel-min-height: 996px;
952
962
 
953
963
  // ProgressBar
954
964
  // ---------------------------------------
@@ -960,8 +970,8 @@
960
970
  @lime-progressbar-radial-thickness: 6px;
961
971
  @lime-progressbar-anchor-width: 6px;
962
972
  @lime-progressbar-anchor-height: 48px;
963
- @lime-progressbar-tooltip-offset: 12px;
964
- @lime-progressbar-tooltip-above-offset: (@lime-progressbar-tooltip-offset + @lime-progressbar-bar-thickness);
973
+ @lime-progressbar-tooltip-offset: var(--primitive-spacing-12);
974
+ @lime-progressbar-tooltip-above-offset: ~"calc(@{lime-progressbar-tooltip-offset} + @{lime-progressbar-bar-thickness})";
965
975
  @lime-progressbar-tooltip-below-offset: @lime-progressbar-tooltip-above-offset;
966
976
  @lime-progressbar-tooltip-before-offset: @lime-progressbar-tooltip-below-offset;
967
977
  @lime-progressbar-tooltip-after-offset: @lime-progressbar-tooltip-above-offset;
@@ -982,8 +992,8 @@
982
992
  )[@result]
983
993
  ) + 10px;
984
994
  @lime-quickguidepanels-close-button-margin-end: 150px;
985
- @lime-quickguidepanels-navigation-button-margin: 0 12px;
986
- @lime-quickguidepanels-steps-margin-top: 90px;
995
+ @lime-quickguidepanels-navigation-button-margin: 0 var(--primitive-spacing-12);
996
+ @lime-quickguidepanels-steps-margin-top: var(--primitive-spacing-90);
987
997
  @lime-quickguidepanels-steps-min-height: 48px;
988
998
 
989
999
  // RadioItem
@@ -1001,11 +1011,11 @@
1001
1011
 
1002
1012
  // Scrollbar
1003
1013
  // ---------------------------------------
1004
- @lime-scrollbar-padding: 12px;
1014
+ @lime-scrollbar-padding: var(--primitive-spacing-12);
1005
1015
  @lime-scrollbar-size: 36px;
1006
1016
  @lime-scrollbar-focusable-size: 60px;
1007
- @lime-scrollbar-track-margin: 12px;
1008
- @lime-scrollbar-track-focusable-margin: 24px;
1017
+ @lime-scrollbar-track-margin: var(--primitive-spacing-12);
1018
+ @lime-scrollbar-track-focusable-margin: var(--primitive-spacing-24);
1009
1019
  @lime-scrollbar-track-width: 12px;
1010
1020
  @lime-scrollbar-track-border-radius: var(--semantic-radius-full);
1011
1021
  @lime-scrollbar-thumb-border-radius: var(--semantic-radius-full);
@@ -1016,30 +1026,40 @@
1016
1026
  @lime-scrollbar-thumb-focus-direction-indicator-width: 18px;
1017
1027
  @lime-scrollbar-thumb-focus-direction-indicator-height: 12px;
1018
1028
  @lime-scrollbar-thumb-focus-direction-indicator-top: 9px;
1019
- @lime-scrollbar-thumb-focus-direction-indicator-left: 6px;
1029
+ @lime-scrollbar-thumb-focus-direction-indicator-left: var(--primitive-spacing-6);
1020
1030
 
1021
1031
  // Scroller
1022
1032
  // ---------------------------------------
1023
1033
  @lime-scroll-fade-out-size: 48px;
1024
- @lime-scroll-fade-out-offset: 24px;
1034
+ @lime-scroll-fade-out-offset: var(--primitive-spacing-24);
1025
1035
  @lime-scroll-vertical-fade-out-padding: @lime-scroll-fade-out-size 0;
1026
1036
  @lime-scroll-horizontal-fade-out-padding: 0 @lime-scroll-fade-out-size;
1027
1037
  @lime-scroll-hover-area-size: 120px;
1028
- @lime-scroll-focusablebody-padding: 72px 48px 72px 90px;
1029
- @lime-scroll-focusablebody-padding-rtl: 72px 90px 72px 48px;
1030
- @lime-scroll-focusablebody-focus-border-radius: 12px;
1038
+ @lime-scroll-focusablebody-padding: var(--primitive-spacing-72) var(--primitive-spacing-48) var(--primitive-spacing-72) var(--primitive-spacing-90);
1039
+ @lime-scroll-focusablebody-padding-rtl: var(--primitive-spacing-72) var(--primitive-spacing-90) var(--primitive-spacing-72) var(--primitive-spacing-48);
1040
+ @lime-scroll-focusablebody-focus-border-radius: var(--primitive-radius-12);
1031
1041
 
1032
1042
  // Slider
1033
1043
  // ---------------------------------------
1044
+ @lime-slider-focusin-transform: scale(1.33);
1045
+ @lime-slider-focusout-transform: scale(1);
1046
+ @lime-slider-press-transform: scale(1.16);
1047
+ @lime-slider-release-transform: @lime-slider-focusin-transform;
1034
1048
  @lime-slider-bar-height: @lime-progressbar-bar-thickness;
1035
1049
  @lime-slider-bar-vertical-min-height: 240px;
1036
- @lime-slider-bar-padding: 24px;
1037
- @lime-slider-knob-width: 48px;
1050
+ @lime-slider-bar-min-max-padding-bottom: var(--primitive-spacing-84);
1051
+ @lime-slider-bar-padding: var(--primitive-spacing-24);
1052
+ @lime-slider-knob-width: 36px;
1038
1053
  @lime-slider-knob-width-large: @lime-slider-knob-width;
1039
1054
  @lime-slider-knob-height: @lime-slider-knob-width;
1040
1055
  @lime-slider-knob-height-large: @lime-slider-knob-height;
1041
1056
  @lime-slider-tooltip-offset: (@lime-slider-knob-height / 2);
1042
- @lime-slider-knob-resting-state-scale: 0.75;
1057
+ @lime-slider-knob-resting-state-scale: 1;
1058
+ @lime-slider-min-max-margin-top: var(--primitive-spacing-24);
1059
+ @lime-slider-min-max-font-size: var(--primitive-font-size-48);
1060
+ @lime-slider-min-max-font-weight: var(--primitive-font-weight-regular);
1061
+ @lime-slider-min-max-line-height: 60px;
1062
+ @lime-slider-vertical-min-max-margin-left: var(--primitive-spacing-24);
1043
1063
  @lime-slider-tooltip-above-offset: (-@lime-progressbar-bar-thickness);
1044
1064
  @lime-slider-tooltip-below-offset: (@lime-progressbar-bar-thickness);
1045
1065
  @lime-slider-tooltip-before-offset: (-@lime-progressbar-bar-thickness);
@@ -1053,8 +1073,8 @@
1053
1073
  @lime-spinner-time: 1.25s; // Length of the spinner animation
1054
1074
  @lime-spinner-line-width: 6px;
1055
1075
  @lime-spinner-small-line-width: 6px;
1056
- @lime-spinner-line-margin: 24px;
1057
- @lime-spinner-small-line-margin: 12px;
1076
+ @lime-spinner-line-margin: var(--primitive-spacing-24);
1077
+ @lime-spinner-small-line-margin: var(--primitive-spacing-12);
1058
1078
  @lime-spinner-font-weight: var(--primitive-font-weight-semibold);
1059
1079
  @lime-spinner-client-height: 132px;
1060
1080
  @lime-spinner-client-line-height: @lime-common-line-height;
@@ -1074,7 +1094,7 @@
1074
1094
 
1075
1095
  // Switch
1076
1096
  // ---------------------------------------
1077
- @lime-switch-border-radius: 30px;
1097
+ @lime-switch-border-radius: var(--primitive-radius-30);
1078
1098
  @lime-switch-height: 60px;
1079
1099
  @lime-switch-width: 120px;
1080
1100
  @lime-switch-icon-height: 48px;
@@ -1085,8 +1105,8 @@
1085
1105
  @lime-switch-icon-line-height-large: @lime-switch-icon-height-large;
1086
1106
  @lime-switch-icon-top: ((@lime-switch-height - @lime-switch-icon-height) / 2);
1087
1107
  @lime-switch-spottable-margin: @lime-component-spacing;
1088
- @lime-switch-spottable-border-radius: 24px;
1089
- @lime-switch-spottable-position: -@lime-component-spacing; // These correlate with the numbers from 'margin" above
1108
+ @lime-switch-spottable-border-radius: var(--primitive-radius-24);
1109
+ @lime-switch-spottable-position: ~"calc(@{lime-component-spacing} * -1)"; // These correlate with the numbers from 'margin" above
1090
1110
 
1091
1111
  // TabLayout
1092
1112
  // ---------------------------------------
@@ -1094,7 +1114,7 @@
1094
1114
  @lime-tablayout-collapse-duration: 250ms;
1095
1115
  @lime-tablayout-vertical-content-margin-top: 0;
1096
1116
  @lime-tablayout-horizontal-content-margin-top: var(--primitive-spacing-96);
1097
- @lime-tablayout-horizontal-tabs-margin: 0 18px;
1117
+ @lime-tablayout-horizontal-tabs-margin: 0 var(--primitive-spacing-18);
1098
1118
  @lime-tablayout-horizontal-tabs-padding: var(--primitive-spacing-12);
1099
1119
  @lime-tablayout-horizontal-tabs-spacing: var(--primitive-spacing-48);
1100
1120
  @lime-tablayout-vertical-tabs-padding: var(--primitive-spacing-36);
@@ -1109,7 +1129,7 @@
1109
1129
  @lime-tablayout-tab-horizontal-small-button-line-height: 60px;
1110
1130
  @lime-tablayout-tab-horizontal-padding: var(--primitive-spacing-24);
1111
1131
  @lime-tablayout-tab-group-vertical-height: 1584px;
1112
- @lime-tablayout-tab-group-vertical-scrollbar-track-margin: 36px;
1132
+ @lime-tablayout-tab-group-vertical-scrollbar-track-margin: var(--primitive-spacing-36);
1113
1133
  @lime-tablayout-tab-group-vertical-scrollbar-height: calc(100% - 72px);
1114
1134
  @lime-tablayout-tab-margin: 0;
1115
1135
 
@@ -1131,28 +1151,33 @@
1131
1151
 
1132
1152
  // Video
1133
1153
  // ---------------------------------------
1134
- @lime-video-back-button-left: 132px;
1135
- @lime-video-back-button-top: 102px;
1154
+ @lime-video-back-button-left: var(--primitive-spacing-132);
1155
+ @lime-video-back-button-top: var(--primitive-spacing-102);
1136
1156
  @lime-video-slider-tooltip-arrow-border-left-right: 18px;
1137
1157
  @lime-video-slider-tooltip-arrow-border-top: 24px;
1138
- @lime-video-slider-tooltip-position-bottom: 42px;
1139
- @lime-video-slider-tooltip-shift-position-bottom: @lime-video-slider-tooltip-position-bottom + @lime-video-slider-tooltip-arrow-border-top;
1140
- @lime-video-slider-tooltip-margin-bottom: 6px;
1141
- @lime-video-slider-tooltip-font-size: 48px;
1158
+ @lime-video-slider-tooltip-content-padding: 0 var(--primitive-spacing-36);
1159
+ @lime-video-slider-tooltip-position-bottom: var(--primitive-spacing-42);
1160
+ @lime-video-slider-tooltip-shift-position-bottom: ~"calc(@{lime-video-slider-tooltip-position-bottom} + @{lime-video-slider-tooltip-arrow-border-top})";
1161
+ @lime-video-slider-tooltip-margin-bottom: var(--primitive-spacing-6);
1162
+ @lime-video-slider-tooltip-font-size: var(--primitive-font-size-48);
1142
1163
  @lime-video-slider-tooltip-font-weight: var(--primitive-font-weight-regular);
1143
1164
  @lime-video-slider-tooltip-line-height: 72px;
1144
- @lime-video-slider-tooltip-gutter-width: var(--primitive-spacing-12);
1145
- @lime-video-slider-tooltip-thumbnail-border-width: 6px;
1165
+ @lime-video-slider-tooltip-gutter-width: var(--primitive-spacing-42);
1166
+ @lime-video-slider-tooltip-thumbnail-content-font-size: var(--primitive-font-size-54);
1167
+ @lime-video-slider-tooltip-thumbnail-content-margin-bottom: var(--primitive-spacing-30);
1168
+ @lime-video-slider-tooltip-thumbnail-border-radius: var(--primitive-radius-12);
1169
+ @lime-video-slider-tooltip-thumbnail-border-width: 12px;
1146
1170
  @lime-video-slider-tooltip-thumbnail-width: 426px;
1147
1171
  @lime-video-slider-tooltip-thumbnail-height: 240px;
1148
1172
  @lime-video-slider-tooltip-deactivated-thumbnail-opacity: 0.5;
1149
1173
  @lime-video-feedback-icon-font-size: 1.25em;
1150
- @lime-video-feedback-margin: 24px;
1151
- @lime-video-feedback-mini-font-size: var(--primitive-font-size-60);
1174
+ @lime-video-feedback-mini-font-size: var(--primitive-font-size-66);
1152
1175
  @lime-video-feedback-mini-font-weight: var(--primitive-font-weight-regular);
1153
- @lime-video-feedback-mini-height: 168px;
1154
- @lime-video-feedback-mini-line-height: @lime-common-line-height;
1155
- @lime-video-feedback-mini-margin-bottom: 72px;
1176
+ @lime-video-feedback-mini-padding: var(--primitive-spacing-18) var(--primitive-spacing-60);
1177
+ @lime-video-feedback-mini-height: 84px;
1178
+ @lime-video-feedback-mini-margin-bottom: var(--primitive-spacing-72);
1179
+ @lime-video-feedback-mini-left: 276px;
1180
+ @lime-video-feedback-mini-top: @lime-video-back-button-top;
1156
1181
  @lime-video-feedback-message-font-weight: var(--primitive-font-weight-semibold);
1157
1182
  @lime-video-player-badge-text-size: var(--primitive-font-size-48);
1158
1183
  @lime-video-player-info-font-size: var(--primitive-font-size-54);
@@ -1160,11 +1185,11 @@
1160
1185
  @lime-video-player-info-height: 84px;
1161
1186
  @lime-video-player-info-line-height: 72px;
1162
1187
  @lime-video-player-info-padding: var(--primitive-spacing-72) var(--primitive-spacing-48) 0;
1163
- @lime-video-player-info-margin-bottom: 60px;
1188
+ @lime-video-player-info-margin-bottom: var(--primitive-spacing-60);
1164
1189
  @lime-video-player-slider-container-height: 132px;
1165
1190
  @lime-video-player-slider-container-padding: 0 var(--primitive-spacing-48);
1166
1191
  @lime-video-player-padding-bottom: 0;
1167
- @lime-video-player-padding-side: 132px;
1192
+ @lime-video-player-padding-side: var(--primitive-spacing-132);
1168
1193
  @lime-video-player-label-font-size: var(--primitive-font-size-90);
1169
1194
  @lime-video-player-label-font-weight: var(--primitive-font-weight-semibold);
1170
1195
  @lime-video-player-label-line-height: 120px;
@@ -1176,7 +1201,8 @@
1176
1201
  // WizardPanels
1177
1202
  // ---------------------------------------
1178
1203
  @lime-wizardpanels-steps-height: 60px;
1179
- @lime-wizardpanels-steps-margin-top: ~"calc("var(--primitive-spacing-84) ~"* -1)"; // The negative value (-84px = steps height (60px) + additional spacing between the title and steps (24px)), ensures the steps component doesn't affect the padding between title and top of the container
1180
- @lime-wizardpanels-content-margin: var(--primitive-spacing-60) (324px - .extract(@lime-panel-body-padding, left)[]);
1204
+ @lime-wizardpanels-steps-margin-top: ~"calc(var(--primitive-spacing-84) * -1)"; // The negative value (-84px = steps height (60px) + additional spacing between the title and steps (24px)), ensures the steps component doesn't affect the padding between title and top of the container
1205
+ @lime-wizardpanels-content-margin-left: .extract(@lime-panel-body-padding, left)[];
1206
+ @lime-wizardpanels-content-margin: var(--primitive-spacing-60) ~"calc(324px - @{lime-wizardpanels-content-margin-left})";
1181
1207
  @lime-wizardpanels-footer-margin: 0 0 var(--primitive-spacing-132) 0;
1182
1208
  @lime-wizardpanels-button-icon-text-gap: var(--primitive-spacing-36);