@enact/limestone 1.3.0 → 1.10.0

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 (200) 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 +13 -2
  7. package/Alert/Alert.js +39 -5
  8. package/Alert/Alert.module.css +48 -1
  9. package/Alert/tests/Alert-specs.js +91 -0
  10. package/BodyText/BodyText.d.ts +5 -4
  11. package/BodyText/BodyText.module.css +7 -7
  12. package/Button/Button.d.ts +17 -12
  13. package/Button/Button.js +1 -1
  14. package/Button/Button.module.css +195 -268
  15. package/Button/tests/Button-specs.js +26 -0
  16. package/CHANGELOG.md +254 -0
  17. package/Card/Card.d.ts +40 -12
  18. package/Card/Card.js +164 -28
  19. package/Card/Card.module.css +277 -58
  20. package/Card/tests/Card-specs.js +67 -3
  21. package/Checkbox/Checkbox.d.ts +8 -7
  22. package/Checkbox/Checkbox.js +3 -1
  23. package/Checkbox/Checkbox.module.css +213 -120
  24. package/Checkbox/tests/Checkbox-specs.js +1 -1
  25. package/CheckboxItem/CheckboxItem.d.ts +22 -7
  26. package/CheckboxItem/CheckboxItem.js +71 -4
  27. package/Chips/Chip.js +72 -13
  28. package/Chips/Chip.module.css +3 -3
  29. package/Chips/Chips.js +37 -17
  30. package/Chips/Chips.module.css +1 -1
  31. package/Chips/tests/Chip-specs.js +43 -13
  32. package/Chips/tests/Chips-specs.js +31 -21
  33. package/ColorPicker/ColorPicker.js +27 -25
  34. package/ContextualMenuDecorator/ContextualMenuDecorator.d.ts +4 -5
  35. package/ContextualPopupDecorator/ContextualPopup.module.css +34 -34
  36. package/ContextualPopupDecorator/ContextualPopupDecorator.js +567 -549
  37. package/DatePicker/DatePicker.d.ts +4 -5
  38. package/DayPicker/DayPicker.d.ts +8 -7
  39. package/DayPicker/DaySelectorDecorator.js +12 -7
  40. package/Dropdown/Dropdown.d.ts +11 -13
  41. package/Dropdown/Dropdown.module.css +13 -9
  42. package/Dropdown/DropdownList.js +80 -54
  43. package/FixedPopupPanels/FixedPopupPanels.d.ts +4 -2
  44. package/FixedPopupPanels/FixedPopupPanels.module.css +18 -18
  45. package/FlexiblePopupPanels/FlexiblePopupPanels.module.css +23 -23
  46. package/FlexiblePopupPanels/useNavButtonFocus.js +7 -10
  47. package/FormCheckboxItem/FormCheckboxItem.d.ts +5 -4
  48. package/Heading/Heading.d.ts +9 -8
  49. package/Heading/Heading.js +2 -2
  50. package/Heading/Heading.module.css +5 -5
  51. package/Icon/Icon.d.ts +15 -4
  52. package/Icon/Icon.js +49 -2
  53. package/Icon/Icon.module.css +1 -1
  54. package/Icon/IconList.js +27 -1
  55. package/IconItem/IconItem.d.ts +13 -12
  56. package/IconItem/IconItem.js +15 -0
  57. package/IconItem/IconItem.module.css +107 -1
  58. package/IconItem/tests/IconItem-specs.js +30 -1
  59. package/Image/Image.d.ts +5 -4
  60. package/Image/Image.js +6 -4
  61. package/ImageItem/ImageItem.d.ts +11 -10
  62. package/ImageItem/ImageItem.js +37 -31
  63. package/ImageItem/ImageItem.module.css +30 -30
  64. package/ImageItem/tests/ImageItem-specs.js +3 -10
  65. package/Input/Input.js +21 -3
  66. package/Input/Input.module.css +37 -8
  67. package/Input/InputField.js +79 -24
  68. package/Input/InputField.module.css +273 -41
  69. package/Input/InputFieldDecoratorIcon.js +1 -0
  70. package/Input/InputFieldSpotlightDecorator.js +257 -228
  71. package/Input/index.d.ts +120 -111
  72. package/Input/tests/Input-specs.js +26 -0
  73. package/Input/tests/InputField-specs.js +170 -3
  74. package/Input/tests/InputPopup-specs.js +1 -1
  75. package/Item/Item.d.ts +16 -9
  76. package/Item/Item.js +20 -2
  77. package/Item/Item.module.css +1 -1
  78. package/KeyGuide/KeyGuide.d.ts +8 -7
  79. package/KeyGuide/KeyGuide.js +29 -27
  80. package/KeyGuide/KeyGuide.module.css +25 -1
  81. package/Marquee/Marquee.d.ts +2 -4
  82. package/MediaOverlay/MediaOverlay.d.ts +12 -11
  83. package/MediaOverlay/MediaOverlay.js +43 -21
  84. package/MediaOverlay/MediaOverlay.module.css +114 -15
  85. package/MediaOverlay/tests/MediaOverlay-specs.js +29 -0
  86. package/MediaPlayer/MediaControls.js +195 -13
  87. package/MediaPlayer/MediaControls.module.css +3 -2
  88. package/MediaPlayer/MediaSlider.module.css +7 -20
  89. package/MediaPlayer/index.d.ts +59 -7
  90. package/MediaPlayer/tests/util-specs.js +4 -1
  91. package/PageViews/PageViews.js +232 -82
  92. package/PageViews/PageViews.module.css +3 -0
  93. package/PageViews/PageViewsRouter.js +100 -42
  94. package/PageViews/tests/PageViews-specs.js +171 -0
  95. package/Panels/Header.js +54 -34
  96. package/Panels/Header.module.css +83 -31
  97. package/Panels/Panel.module.css +1 -1
  98. package/Panels/index.d.ts +7 -8
  99. package/Picker/Picker.d.ts +4 -5
  100. package/Picker/Picker.module.css +2 -2
  101. package/Popup/Popup.js +245 -242
  102. package/Popup/Popup.module.css +24 -24
  103. package/PopupTabLayout/PopupTabLayout.d.ts +5 -7
  104. package/PopupTabLayout/PopupTabLayout.js +26 -18
  105. package/PopupTabLayout/PopupTabLayout.module.css +53 -16
  106. package/PopupTabLayout/PopupTabLayoutStateContext.js +8 -0
  107. package/ProgressBar/ProgressBar.d.ts +5 -4
  108. package/ProgressBar/ProgressBarTooltip.module.css +12 -12
  109. package/ProgressButton/ProgressButton.d.ts +4 -5
  110. package/QuickGuidePanels/QuickGuidePanels.module.css +2 -2
  111. package/RadioItem/RadioItem.d.ts +18 -5
  112. package/RadioItem/RadioItem.js +69 -2
  113. package/RadioItem/RadioItem.module.css +36 -36
  114. package/RangePicker/RangePicker.module.css +2 -2
  115. package/Scroller/EditableWrapper.js +28 -18
  116. package/Scroller/Scroller.d.ts +20 -16
  117. package/Scroller/Scroller.js +20 -13
  118. package/Scroller/Scroller.module.css +4 -4
  119. package/Scroller/useThemeScroller.js +3 -3
  120. package/Slider/Slider.d.ts +20 -14
  121. package/Slider/Slider.js +71 -14
  122. package/Slider/Slider.module.css +464 -91
  123. package/Slider/SliderBehaviorDecorator.js +16 -14
  124. package/Slider/tests/Slider-specs.js +53 -1
  125. package/Slider/utils.js +23 -7
  126. package/Spinner/Spinner.d.ts +5 -4
  127. package/Spinner/Spinner.js +10 -8
  128. package/Spinner/Spinner.module.css +9 -9
  129. package/Steps/Steps.d.ts +5 -4
  130. package/Steps/Steps.js +9 -5
  131. package/Switch/Switch.d.ts +8 -7
  132. package/Switch/Switch.module.css +100 -13
  133. package/SwitchItem/SwitchItem.d.ts +9 -6
  134. package/TabLayout/RefocusDecorator.js +26 -18
  135. package/TabLayout/TabGroup.js +3 -2
  136. package/TabLayout/TabGroup.module.css +2 -2
  137. package/TabLayout/TabLayout.d.ts +6 -0
  138. package/TabLayout/TabLayout.js +11 -1
  139. package/TabLayout/TabLayout.module.css +18 -0
  140. package/TabLayout/tests/TabGroup-specs.js +1 -1
  141. package/TabLayout/tests/TabLayout-specs.js +52 -0
  142. package/ThemeDecorator/AccessibilityDecorator.js +12 -11
  143. package/ThemeDecorator/I18nFontDecorator.js +6 -4
  144. package/ThemeDecorator/ThemeDecorator.d.ts +16 -10
  145. package/ThemeDecorator/ThemeDecorator.js +24 -9
  146. package/ThemeDecorator/fontGenerator.js +1 -1
  147. package/ThemeDecorator/screenTypes.json +1 -0
  148. package/TimePicker/TimePicker.module.css +1 -1
  149. package/TimePicker/TimePickerBase.js +5 -3
  150. package/TooltipDecorator/Tooltip.module.css +1 -2
  151. package/TooltipDecorator/TooltipDecorator.js +12 -7
  152. package/TooltipDecorator/tests/useTooltip-specs.js +5 -2
  153. package/TooltipDecorator/tests/util-specs.js +12 -0
  154. package/TooltipDecorator/useTooltip.js +1 -1
  155. package/TooltipDecorator/util.js +18 -11
  156. package/VideoPlayer/Feedback.js +3 -0
  157. package/VideoPlayer/Feedback.module.css +5 -9
  158. package/VideoPlayer/FeedbackIcons.js +1 -1
  159. package/VideoPlayer/FeedbackTooltip.module.css +55 -11
  160. package/VideoPlayer/VideoPlayer.d.ts +44 -18
  161. package/VideoPlayer/VideoPlayer.js +153 -47
  162. package/VideoPlayer/VideoPlayer.module.css +28 -11
  163. package/VirtualList/VirtualList.d.ts +9 -2
  164. package/VirtualList/VirtualList.js +51 -24
  165. package/VirtualList/tests/VirtualGridList-translate-specs.js +3 -0
  166. package/VirtualList/tests/VirtualList-specs.js +28 -1
  167. package/VirtualList/tests/VirtualList-translate-specs.js +4 -1
  168. package/VirtualList/useSpotlight.js +1 -1
  169. package/WizardPanels/WizardPanels.module.css +2 -2
  170. package/WizardPanels/index.d.ts +4 -2
  171. package/fonts/Limestone_Icons.ttf +0 -0
  172. package/internal/$L/$L.js +3 -3
  173. package/internal/AsyncRenderChildren/AsyncRenderChildren.js +9 -5
  174. package/internal/AsyncRenderChildren/tests/AsyncRenderChildren-specs.js +4 -1
  175. package/internal/DateComponentPicker/DateComponentPicker.module.css +2 -2
  176. package/internal/DateTime/DateTime.module.css +1 -0
  177. package/internal/DateTime/DateTimeDecorator.js +5 -4
  178. package/internal/Panels/PanelsRouter.js +48 -31
  179. package/internal/Panels/useAutoFocus.js +10 -6
  180. package/internal/Panels/useFocusOnTransition.js +4 -3
  181. package/internal/Picker/Picker.js +7 -5
  182. package/internal/Picker/Picker.module.css +2 -2
  183. package/internal/Picker/SpottablePicker.js +15 -13
  184. package/internal/SharedStateDecorator/SharedStateDecorator.js +78 -99
  185. package/internal/validators/validators.js +21 -2
  186. package/package.json +18 -15
  187. package/styles/colors-highcontrast.less +9 -1
  188. package/styles/colors.less +12 -7
  189. package/styles/motion-mixins.less +66 -0
  190. package/styles/motions.less +78 -0
  191. package/styles/variables.less +176 -150
  192. package/useScroll/HoverToScroll.js +23 -17
  193. package/useScroll/Scrollbar.js +14 -10
  194. package/useScroll/ScrollbarPlaceholder.js +3 -5
  195. package/useScroll/ScrollbarTrack.js +7 -5
  196. package/useScroll/ScrollbarTrack.module.css +8 -8
  197. package/useScroll/useEvent.js +14 -3
  198. package/useScroll/useScroll.js +12 -2
  199. package/useScroll/useScroll.module.css +6 -6
  200. 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
@@ -331,6 +335,7 @@
331
335
  @lime-alert-overlay-body-padding: 0 var(--primitive-spacing-84);
332
336
  @lime-alert-overlay-image-padding: 0 var(--primitive-spacing-84);
333
337
  @lime-alert-overlay-width: 1128px;
338
+ @lime-alert-overlay-max-width: calc(100vw - 2 * @lime-popup-position-corner-margin);
334
339
 
335
340
  // AlertImage
336
341
  // ---------------------------------------
@@ -351,12 +356,12 @@
351
356
  @lime-button-transparent-bg-opacity: 0;
352
357
  @lime-button-transparent-selected-bg-opacity: 1;
353
358
  @lime-button-transparent-disabled-selected-bg-opacity: 0.3;
354
- @lime-button-margin: 36px;
359
+ @lime-button-margin: var(--primitive-spacing-36);
355
360
  @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;
361
+ @lime-button-h-padding: var(--primitive-spacing-60);
357
362
  @lime-button-height-large: 192px;
358
363
  @lime-button-height: 132px;
359
- @lime-button-icon-h-margin: 24px;
364
+ @lime-button-icon-h-margin: var(--primitive-spacing-24);
360
365
  @lime-button-icon-margin-end: @lime-button-icon-h-margin;
361
366
  @lime-button-icon-margin-start: 0;
362
367
  @lime-button-icon-padding: 0 ((@lime-button-height - @lime-icon-large-size) / 2);
@@ -371,31 +376,27 @@
371
376
  @lime-button-max-width: 1200px;
372
377
  @lime-button-min-width: 300px;
373
378
  @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
379
  @lime-button-focus-duration: @lime-spotlight-focus-animation-duration;
377
380
  @lime-button-small-margin: var(--primitive-spacing-24);
378
381
  @lime-button-small-focusexpand-margin: @lime-button-focusexpand-margin;
379
- @lime-button-small-h-padding: 60px;
382
+ @lime-button-small-h-padding: var(--primitive-spacing-60);
380
383
  @lime-button-small-height-large: 144px;
381
384
  @lime-button-small-height: 108px;
382
385
  @lime-button-small-max-width: 1020px;
383
386
  @lime-button-small-min-width: 264px;
384
387
  @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
388
  @lime-button-colordot-bottom: var(--primitive-spacing-12);
388
389
  @lime-button-colordot-border-radius: var(--semantic-radius-full);
389
390
  @lime-button-colordot-width: 60px;
390
- @lime-button-colordot-h-margin: 84px;
391
+ @lime-button-colordot-h-margin: var(--primitive-spacing-84);
391
392
  @lime-button-colordot-height: 12px;
392
393
  @lime-button-colordot-h-padding: var(--primitive-spacing-24);
393
- @lime-button-colordot-padding-start: 36px;
394
+ @lime-button-colordot-padding-start: var(--primitive-spacing-36);
394
395
  @lime-button-small-colordot-bottom: var(--primitive-spacing-12);
395
396
  @lime-button-small-colordot-width: 51px;
396
- @lime-button-small-colordot-h-margin: 72px;
397
+ @lime-button-small-colordot-h-margin: var(--primitive-spacing-72);
397
398
  @lime-button-small-colordot-height: 9px;
398
- @lime-button-small-colordot-padding-start: 30px;
399
+ @lime-button-small-colordot-padding-start: var(--primitive-spacing-30);
399
400
  @lime-button-icon-only-colordot-width: 66px;
400
401
  @lime-button-icon-only-colordot-height: 9px;
401
402
  @lime-button-collapse-duration: 300ms;
@@ -404,31 +405,34 @@
404
405
  // Card
405
406
  // ---------------------------------------
406
407
  @lime-card-margin: @lime-item-margin;
407
- @lime-card-border-radius: 36px;
408
+ @lime-card-border-radius: var(--semantic-radius-container);
408
409
  @lime-card-image-border-width: 6px;
409
410
  @lime-card-resting-border-width: 3px;
410
- @lime-card-selection-icon-size: 90px;
411
+ @lime-card-selection-check-icon-size: 90px;
412
+ @lime-card-selection-icon-size: 120px;
411
413
  @lime-card-selection-icon-border-radius: 50%;
412
414
  @lime-card-selection-icon-margin: 0;
413
- @lime-card-selection-icon-line-height: 90px;
415
+ @lime-card-selection-check-icon-line-height: 90px;
416
+ @lime-card-selection-icon-line-height: 144px;
414
417
  @lime-card-badge-size: 108px;
415
418
  @lime-card-badge-margin: 0;
416
- @lime-card-badge-top: 24px;
417
- @lime-card-badge-left: 24px;
418
- @lime-card-badge-right: 24px;
419
+ @lime-card-badge-top: var(--primitive-spacing-24);
420
+ @lime-card-badge-left: var(--primitive-spacing-24);
421
+ @lime-card-badge-right: var(--primitive-spacing-24);
419
422
  @lime-card-caption-line-height: 84px;
420
- @lime-card-caption-height: 84px;
421
423
  @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;
424
+ @lime-card-split-caption-label-line-height: 84px;
425
+ @lime-card-split-caption-label-padding: 0 var(--primitive-spacing-48);
426
+ @lime-card-split-caption-lower-label-padding: var(--primitive-spacing-18);
427
+ @lime-card-vertical-captions-padding: var(--primitive-spacing-36) 0;
428
+ @lime-card-vertical-captions-gap: var(--primitive-spacing-48);
425
429
  @lime-card-vertical-image-icon-size: 180px;
426
430
  @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;
431
+ @lime-card-vertical-caption-overlay-captions-padding: var(--primitive-spacing-36) var(--primitive-spacing-48);
432
+ @lime-card-vertical-has-container-captions-padding: var(--primitive-spacing-36) var(--primitive-spacing-48);
429
433
  @lime-card-horizontal-width: 1320px;
430
434
  @lime-card-horizontal-height: 336px;
431
- @lime-card-horizontal-captions-padding: 48px;
435
+ @lime-card-horizontal-captions-padding: var(--primitive-spacing-48);
432
436
 
433
437
  // Checkbox
434
438
  // ---------------------------------------
@@ -447,9 +451,9 @@
447
451
  // Chip
448
452
  // ---------------------------------------
449
453
  @lime-chip-margin: 0;
450
- @lime-chip-button-spacing: 12px;
454
+ @lime-chip-button-spacing: var(--primitive-spacing-12);
451
455
  @lime-chip-min-width: 108px;
452
- @lime-chips-gap: 36px;
456
+ @lime-chips-gap: var(--primitive-spacing-36);
453
457
 
454
458
  // ContextualMenu
455
459
  // ---------------------------------------
@@ -464,15 +468,16 @@
464
468
 
465
469
  // ContextualPopup
466
470
  // ---------------------------------------
467
- @lime-contextualpopup-padding: 36px 0;
471
+ @lime-contextualpopup-padding: var(--primitive-spacing-36) 0;
468
472
  @lime-contextualpopup-arrow-height: 60px;
469
473
  @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;
474
+ @lime-contextualpopup-offset-overlap: var(--primitive-spacing-36); // used as inverse of small to cause overlap
475
+ @lime-contextualpopup-offset-small: var(--primitive-spacing-18);
476
+ @lime-contextualpopup-offset-large: var(--primitive-spacing-36);
473
477
 
474
478
  // Date and Time Picker
475
- @lime-datecomponentpicker-margin: 0 24px;
479
+ @lime-datecomponentpicker-margin: 0 var(--primitive-spacing-24);
480
+ @lime-datetime-fontsize: var(--primitive-font-size-66);
476
481
  @lime-datetime-heading-margin: 0 0 var(--primitive-spacing-132);
477
482
  @lime-timepicker-colon-margin: 0 var(--primitive-spacing-6);
478
483
 
@@ -482,20 +487,21 @@
482
487
  @lime-dropdown-padding: 0 var(--primitive-spacing-48);
483
488
  @lime-dropdown-min-width: @lime-button-min-width;
484
489
  @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);
490
+ @lime-dropdown-title-padding: var(--primitive-spacing-36) var(--primitive-spacing-24);
491
+ @lime-dropdown-title-padding-left: .extract(@lime-dropdown-title-padding, left)[];
492
+ @lime-dropdown-title-min-width: ~"calc(@{lime-dropdown-min-width} - @{lime-dropdown-title-padding-left} * 2)";
487
493
  @lime-dropdown-tiny-width: 480px;
488
- @lime-dropdown-tiny-title-width: (@lime-dropdown-tiny-width - .extract(@lime-dropdown-title-padding, left)[] * 2);
494
+ @lime-dropdown-tiny-title-width: ~"calc(@{lime-dropdown-tiny-width} - @{lime-dropdown-title-padding-left} * 2)";
489
495
  @lime-dropdown-small-width: 540px;
490
- @lime-dropdown-small-title-width: (@lime-dropdown-small-width - .extract(@lime-dropdown-title-padding, left)[] * 2);
496
+ @lime-dropdown-small-title-width: ~"calc(@{lime-dropdown-small-width} - @{lime-dropdown-title-padding-left} * 2)";
491
497
  @lime-dropdown-medium-width: 690px;
492
- @lime-dropdown-medium-title-width: (@lime-dropdown-medium-width - .extract(@lime-dropdown-title-padding, left)[] * 2);
498
+ @lime-dropdown-medium-title-width: ~"calc(@{lime-dropdown-medium-width} - @{lime-dropdown-title-padding-left} * 2)";
493
499
  @lime-dropdown-large-width: 840px;
494
- @lime-dropdown-large-title-width: (@lime-dropdown-large-width - .extract(@lime-dropdown-title-padding, left)[] * 2);
500
+ @lime-dropdown-large-title-width: ~"calc(@{lime-dropdown-large-width} - @{lime-dropdown-title-padding-left} * 2)";
495
501
  @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);
502
+ @lime-dropdown-x-large-title-width: ~"calc(@{lime-dropdown-x-large-width} - @{lime-dropdown-title-padding-left} * 2)";
497
503
  @lime-dropdown-huge-width: 1380px;
498
- @lime-dropdown-huge-title-width: (@lime-dropdown-huge-width - .extract(@lime-dropdown-title-padding, left)[] * 2);
504
+ @lime-dropdown-huge-title-width: ~"calc(@{lime-dropdown-huge-width} - @{lime-dropdown-title-padding-left} * 2)";
499
505
  @lime-dropdown-list-tiny-width: (@lime-dropdown-tiny-width - @lime-button-border-width);
500
506
  @lime-dropdown-list-small-width: (@lime-dropdown-small-width - @lime-button-border-width);
501
507
  @lime-dropdown-list-medium-width: (@lime-dropdown-medium-width - @lime-button-border-width);
@@ -511,19 +517,19 @@
511
517
  // ---------------------------------------
512
518
  @lime-fixedpopuppanels-width: 1200px;
513
519
  @lime-fixedpopuppanels-half-width: 1716px;
514
- @lime-fixedpopuppanels-margin: 60px 60px 132px;
520
+ @lime-fixedpopuppanels-margin: var(--primitive-spacing-60) var(--primitive-spacing-60) var(--primitive-spacing-132);
515
521
  @lime-fixedpopuppanels-border-radius: var(--semantic-radius-overlay);
516
522
  @lime-fixedpopuppanels-panel-body-padding: var(--primitive-spacing-60);
517
523
 
518
524
  // FlexiblePopupPanels
519
525
  // ---------------------------------------
520
526
  @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.
527
+ @lime-flexiblepopuppanels-margin: var(--primitive-spacing-60) 0;
528
+ @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
529
  @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;
530
+ @lime-flexiblepopuppanels-panel-margin: 0 var(--primitive-spacing-60);
531
+ @lime-flexiblepopuppanels-panel-padding: var(--primitive-spacing-60);
532
+ @lime-flexiblepopuppanels-body-padding: 0 var(--primitive-spacing-108);
527
533
  @lime-flexiblepopuppanels-navbutton-margin: 0;
528
534
  @lime-flexiblepopuppanels-small-width: 600px;
529
535
  @lime-flexiblepopuppanels-large-width: 1320px;
@@ -534,10 +540,16 @@
534
540
 
535
541
  // Header
536
542
  // ---------------------------------------
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
543
+ @lime-header-titleRow-height: 222px;
544
+ @lime-header-centered-titleRow-height: 282px;
545
+ @lime-header-popup-titleRow-height: 204px;
546
+ @lime-header-popup-compact-slotafter-padding-offset: var(--primitive-spacing-24);
547
+ @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
548
+ @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
549
  @lime-header-subtitle-height: (@lime-heading-subtitle-font-size * @lime-heading-subtitle-line-height);
540
550
  @lime-header-subtitle-margin-start: var(--primitive-spacing-6);
551
+ @lime-header-tallglyph-titleRow-height: 246px;
552
+ @lime-header-tallglyph-centered-titleRow-height: 306px;
541
553
  // STOP! READ THE FOLLOWING BEFORE EDITING.
542
554
  //
543
555
  // Panel imposes no padding so Header is fully responsible for its own positioning. The code below
@@ -562,21 +574,7 @@
562
574
  .extract(#guide.header[standard-padding], left)[];
563
575
  @lime-header-standard-title-padding: 0;
564
576
  @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;
577
+ @lime-header-standard-subtitle-margin: 0;
580
578
  @lime-header-standard-slotbefore-margin-end: var(--primitive-spacing-36);
581
579
  @lime-header-standard-slotafter-margin-start: var(--primitive-spacing-36);
582
580
  @lime-header-compact-margin: 0;
@@ -606,7 +604,7 @@
606
604
  @lime-header-compact-slotbefore-margin-end: var(--primitive-spacing-24);
607
605
  @lime-header-compact-slotafter-margin-start: var(--primitive-spacing-30);
608
606
  @lime-header-mini-margin:
609
- 6px
607
+ var(--primitive-spacing-6)
610
608
  @lime-component-spacing
611
609
  .extract(#guide.header[mini-padding], bottom)[]
612
610
  @lime-component-spacing; // 6px top to account for a focused button, so it doesn't clip.
@@ -630,7 +628,7 @@
630
628
  )[@result]
631
629
  )
632
630
  .extract(#guide.header[mini-padding], left)[];
633
- @lime-header-wizard-nosubtitle-padding-bottom: ~"calc("@lime-header-subtitle-height ~"+ var(--primitive-spacing-6))";
631
+ @lime-header-wizard-nosubtitle-padding-bottom: ~"calc(@{lime-header-subtitle-height} + var(--primitive-spacing-6))";
634
632
  @lime-header-wizard-margin: 0;
635
633
  @lime-header-wizard-padding:
636
634
  (
@@ -646,7 +644,7 @@
646
644
  .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
645
  @lime-header-wizard-title-padding: 0;
648
646
  @lime-header-wizard-subtitle-padding: 0;
649
- @lime-header-back-container-width: (@lime-button-small-height + @lime-button-icon-small-h-margin);
647
+ @lime-header-back-container-width: ~"calc(@{lime-button-small-height} + @{lime-button-icon-small-h-margin})";
650
648
 
651
649
  // Heading
652
650
  // ---------------------------------------
@@ -659,7 +657,7 @@
659
657
  @lime-heading-spacing-large: 78px;
660
658
  @lime-heading-spacing-medium: 42px;
661
659
  @lime-heading-spacing-small: 18px;
662
- @lime-heading-spacing-small-margin-bottom: ~"calc(var(--primitive-spacing-36) -" @lime-heading-border-width ~")";
660
+ @lime-heading-spacing-small-margin-bottom: ~"calc(var(--primitive-spacing-36) - @{lime-heading-border-width})";
663
661
 
664
662
  // HolePunchScrim
665
663
  // ---------------------------------------
@@ -670,7 +668,7 @@
670
668
  @lime-icon-medium-size: 78px;
671
669
  @lime-icon-small-size: 72px;
672
670
  @lime-icon-tiny-size: 60px;
673
- @lime-icon-margin: 24px;
671
+ @lime-icon-margin: var(--primitive-spacing-24);
674
672
  @lime-icon-large-size-large: (@lime-icon-large-size * 1.2);
675
673
  @lime-icon-small-size-large: (@lime-icon-small-size * 1.2);
676
674
 
@@ -682,7 +680,6 @@
682
680
  @lime-iconitem-border-radius: var(--semantic-radius-container);
683
681
  @lime-iconitem-border-style: solid;
684
682
  @lime-iconitem-border-width: 4px;
685
- @lime-iconitem-focus-transform: scale(1.1);
686
683
  @lime-iconitem-icon-margin: 0;
687
684
  @lime-iconitem-icon-height: 120px;
688
685
  @lime-iconitem-icon-width: @lime-iconitem-icon-height;
@@ -703,7 +700,7 @@
703
700
  @lime-imageitem-label-line-height: 60px;
704
701
  @lime-imageitem-placeholder-caption-height: 102px;
705
702
  @lime-imageitem-placeholder-label-height: 66px;
706
- @lime-imageitem-horizontal-padding: 30px;
703
+ @lime-imageitem-horizontal-padding: var(--primitive-spacing-30);
707
704
  @lime-imageitem-horizontal-image-width: 180px;
708
705
  @lime-imageitem-horizontal-image-height: @lime-imageitem-horizontal-image-width;
709
706
  @lime-imageitem-horizontal-image-margin: var(--primitive-spacing-48);
@@ -713,7 +710,7 @@
713
710
  @lime-imageitem-horizontal-wideimage-image-width: 426px;
714
711
  @lime-imageitem-horizontal-wideimage-image-height: 240px;
715
712
  @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)
713
+ @lime-imageitem-vertical-full-image-padding: var(--primitive-spacing-60); // 24px(for expanding) + 36px(for showing shadow)
717
714
  @lime-imageitem-vertical-full-image-border-width: 2px;
718
715
  @lime-imageitem-vertical-full-image-focus-border-width: 6px;
719
716
  @lime-imageitem-vertical-captions-margin-top: var(--primitive-spacing-30);
@@ -730,8 +727,14 @@
730
727
  @lime-input-keypad-key-padding: var(--primitive-spacing-24);
731
728
  @lime-input-keypad-key-height: 168px;
732
729
  @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)[]);
730
+ @lime-input-fullscreen-padding-top: .extract(@lime-popup-padding, top)[];
731
+ @lime-input-fullscreen-padding-right: .extract(@lime-popup-padding, right)[];
732
+ @lime-input-fullscreen-padding-left: .extract(@lime-popup-padding, left)[];
733
+ @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})";
734
+ @lime-portrait-input-fullscreen-padding-top: .extract(@lime-popup-padding, top)[];
735
+ @lime-portrait-input-fullscreen-padding-right: .extract(@lime-popup-padding, right)[];
736
+ @lime-portrait-input-fullscreen-padding-left: .extract(@lime-popup-padding, left)[];
737
+ @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
738
  @lime-input-fullscreen-title-height: 228px;
736
739
  @lime-input-fullscreen-vkb-height: 876px;
737
740
  @lime-input-fullscreen-footer-height: 240px;
@@ -741,7 +744,7 @@
741
744
  @lime-input-fullscreen-numbercell-width: 180px;
742
745
  @lime-input-fullscreen-numbercell-height: 240px;
743
746
  @lime-input-fullscreen-numbercell-margin: 0;
744
- @lime-input-fullscreen-numbercell-gap: 60px;
747
+ @lime-input-fullscreen-numbercell-gap: var(--primitive-spacing-60);
745
748
  @lime-input-fullscreen-numberfield-width: 1104px;
746
749
  @lime-input-fullscreen-numberfield-height: 132px;
747
750
  @lime-input-fullscreen-numberfield-margin: auto;
@@ -750,14 +753,14 @@
750
753
  @lime-input-fullscreen-keypad-margin: var(--primitive-spacing-132) auto 0 auto;
751
754
  @lime-input-fullscreen-buttonarea-margin: 0;
752
755
  @lime-input-fullscreen-invalid-tooltip-width: 3240px;
753
- @lime-input-fullscreen-back-button-top: 108px;
754
- @lime-input-fullscreen-back-button-start: 132px;
756
+ @lime-input-fullscreen-back-button-top: var(--primitive-spacing-108);
757
+ @lime-input-fullscreen-back-button-start: var(--primitive-spacing-132);
755
758
  @lime-portrait-input-fullscreen-keypad-margin: var(--primitive-spacing-132) auto 0 auto;
756
759
  @lime-portrait-input-fullscreen-number-inputarea-margin: var(--primitive-spacing-96) 0 0 0;
757
760
  @lime-input-overlay-body-padding: var(--primitive-spacing-84) var(--primitive-spacing-60);
758
761
  @lime-input-overlay-border-radius: var(--semantic-radius-popup);
759
762
  @lime-input-overlay-width: 1320px;
760
- @lime-input-overlay-inputarea-margin: var(--primitive-spacing-60) 0 0 0;
763
+ @lime-input-overlay-inputarea-margin: var(--primitive-spacing-60) 0 var(--primitive-spacing-24);
761
764
  @lime-input-overlay-numbercell-margin: 0 var(--primitive-spacing-24);
762
765
  @lime-input-overlay-numbercell-width: 132px;
763
766
  @lime-input-overlay-numbercell-height: 156px;
@@ -767,13 +770,14 @@
767
770
  @lime-input-overlay-numberfield-padding: 0 var(--primitive-spacing-48);
768
771
  @lime-input-overlay-numberfield-letter-spacing: var(--primitive-spacing-30);
769
772
  @lime-input-overlay-keypad-gap: var(--primitive-spacing-60);
770
- @lime-input-overlay-keypad-margin: var(--primitive-spacing-132) 198px 60px 198px;
773
+ @lime-input-overlay-keypad-margin: var(--primitive-spacing-132) 198px var(--primitive-spacing-60) 198px;
771
774
  @lime-input-overlay-keypad-width: 624px;
772
775
  @lime-input-overlay-keypad-width-large: 120px + (@lime-button-height-large * 3);
773
776
  @lime-input-overlay-buttonarea-margin: 0;
774
777
  @lime-input-overlay-submitbutton-margin: var(--primitive-spacing-60) auto 0 auto;
775
778
  @lime-input-overlay-invalid-tooltip-width: 738px;
776
779
  @lime-input-overlay-textfield-width: 1032px;
780
+ @lime-input-overlay-no-title-height: 120px;
777
781
  @lime-input-overlay-title-margin: 0 var(--primitive-spacing-144) 0 var(--primitive-spacing-144);
778
782
  @lime-input-invalid-tooltip-margin-top: var(--primitive-spacing-24);
779
783
  @lime-input-invalid-tooltip-line-height: 60px;
@@ -790,9 +794,13 @@
790
794
  @lime-inputfield-invalid-tooltip-margin-top: var(--primitive-spacing-30);
791
795
  @lime-inputfield-height: 168px;
792
796
  @lime-inputfield-width: 1560px;
797
+ @lime-inputfield-withoneicon-width: 1386px;
798
+ @lime-inputfield-withtwoicons-width: 1272px;
793
799
  @lime-inputfield-small-height: 132px;
794
800
  @lime-inputfield-highlight-height: 100%;
795
801
  @lime-inputfield-small-width: 1200px;
802
+ @lime-inputfield-small-withoneicon-width: 990px;
803
+ @lime-inputfield-small-withtwoicons-width: 876px;
796
804
 
797
805
  // Item
798
806
  // ---------------------------------------
@@ -822,7 +830,7 @@
822
830
  @lime-keyguide-icon-icon-margin-right: var(--primitive-spacing-48);
823
831
  @lime-keyguide-icon-gap: var(--primitive-spacing-42);
824
832
  @lime-keyguide-icon-padding: var(--primitive-spacing-48);
825
- @lime-keyguide-icon-position-bottom: 120px;
833
+ @lime-keyguide-icon-position-bottom: var(--primitive-spacing-120);
826
834
  @lime-keyguide-icon-position-right: 150px;
827
835
  @lime-keyguide-icon-width: 750px;
828
836
  @lime-keyguide-image-padding: var(--primitive-spacing-32) var(--primitive-spacing-42);
@@ -849,12 +857,11 @@
849
857
  @lime-mediaoverlay-text-margin-bottom: var(--primitive-spacing-36);
850
858
  @lime-mediaoverlay-textlayout-margin: var(--primitive-spacing-24) var(--primitive-spacing-60);
851
859
  @lime-mediaoverlay-width: 768px;
852
- @lime-mediaoverlay-focus-media-transform: scale(1.1);
853
860
  @lime-mediaoverlay-focus-media-outline-width: 6px;
854
861
 
855
862
  // MediaPlayer
856
863
  // ---------------------------------------
857
- @lime-mediaplayer-button-client-padding: 0 18px;
864
+ @lime-mediaplayer-button-client-padding: 0 var(--primitive-spacing-18);
858
865
  @lime-mediaplayer-button-border-radius: 96px;
859
866
  @lime-mediaplayer-button-height: 180px;
860
867
  @lime-mediaplayer-button-icon-size: 108px;
@@ -863,16 +870,15 @@
863
870
  @lime-mediaplayer-controls-actionguide-padding-bottom: 0;
864
871
  @lime-mediaplayer-controls-actionguide-padding-top: var(--primitive-spacing-72);
865
872
  @lime-mediaplayer-controls-actionguide-time: 0.2s; // Length of the animation
866
- @lime-mediaplayer-controls-button-margin-start: 90px;
873
+ @lime-mediaplayer-controls-button-margin-start: var(--primitive-spacing-90);
867
874
  @lime-mediaplayer-controls-gap: var(--primitive-spacing-120);
868
875
  @lime-mediaplayer-controls-height: 180px;
869
- @lime-mediaplayer-controls-margin-top: 36px;
876
+ @lime-mediaplayer-controls-margin-top: var(--primitive-spacing-36);
870
877
  @lime-mediaplayer-controls-moreComponents-gap: 204px;
871
- @lime-mediaplayer-controls-moreComponents-margin-top: 60px;
878
+ @lime-mediaplayer-controls-moreComponents-margin-top: var(--primitive-spacing-60);
872
879
  @lime-mediaplayer-controls-moreComponents-time: 0.3s; // Length of the animation
873
880
  @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;
881
+ @lime-mediaplayer-slider-knob-size: 36px;
876
882
  @lime-mediaplayer-slider-tap-area: 60px;
877
883
  @lime-mediaplayer-times-line-height: 60px;
878
884
  @lime-mediaplayer-times-min-width: 192px;
@@ -899,11 +905,14 @@
899
905
  // ---------------------------------------
900
906
  @lime-panel-padding: 0;
901
907
  @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);
908
+ @lime-panel-body-padding-right: .extract(#guide.panel[body-padding], right)[];
909
+ @lime-panel-body-padding: @lime-panel-body-padding-top ~"calc(@{lime-panel-body-padding-right} - @{lime-component-spacing})";
903
910
 
904
911
  // Picker
905
912
  // ----------------------------------------
906
- @lime-picker-title-margin-left: @lime-component-spacing + .extract(@lime-button-margin, left)[] + .extract(@lime-button-icon-small-padding, left)[];
913
+ @lime-picker-title-margin-left-button: .extract(@lime-button-margin, left)[];
914
+ @lime-picker-title-margin-left-icon: .extract(@lime-button-icon-small-padding, left)[];
915
+ @lime-picker-title-margin-left: ~"calc(@{lime-component-spacing} + @{lime-picker-title-margin-left-button} + @{lime-picker-title-margin-left-icon})";
907
916
  @lime-picker-title-max-width: 480px;
908
917
  @lime-picker-margin: 0 @lime-component-spacing;
909
918
  @lime-picker-item-padding: 0 @lime-spotlight-outset;
@@ -932,23 +941,25 @@
932
941
 
933
942
  // Popup
934
943
  // ---------------------------------------
935
- @lime-popup-padding: 48px 72px;
936
- @lime-popup-border-radius: 24px;
944
+ @lime-popup-padding: var(--primitive-spacing-48) var(--primitive-spacing-72);
945
+ @lime-popup-border-radius: var(--primitive-radius-24);
937
946
  // 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;
947
+ @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.
948
+ @lime-popup-position-right-margin: var(--primitive-spacing-120) var(--primitive-spacing-60) var(--primitive-spacing-120) @lime-component-spacing;
949
+ @lime-popup-position-bottom-margin: 0 var(--primitive-spacing-120) 150px var(--primitive-spacing-120);
950
+ @lime-popup-position-left-margin: var(--primitive-spacing-120) @lime-component-spacing var(--primitive-spacing-120) var(--primitive-spacing-60);
951
+ @lime-popup-position-corner-margin: var(--primitive-spacing-60);
943
952
 
944
953
  // PopupTabLayout
945
954
  // ---------------------------------------
946
- @lime-popuptablayout-margin: 60px auto 132px 60px;
955
+ @lime-popuptablayout-margin: var(--primitive-spacing-60) auto var(--primitive-spacing-132) var(--primitive-spacing-60);
956
+ @lime-popuptablayout-tab-icon-size: 96px;
947
957
  @lime-popuptablayout-tabs-border-radius: var(--semantic-radius-container);
948
958
  @lime-popuptablayout-tabs-content-spacing: var(--primitive-spacing-36);
949
959
  @lime-popuptablayout-content-border-radius: var(--semantic-radius-popup);
950
960
  @lime-popuptablayout-content-margin: 0;
951
961
  @lime-popuptablayout-panel-body-padding: var(--primitive-spacing-60);
962
+ @lime-popuptablayout-panel-min-height: 996px;
952
963
 
953
964
  // ProgressBar
954
965
  // ---------------------------------------
@@ -960,8 +971,8 @@
960
971
  @lime-progressbar-radial-thickness: 6px;
961
972
  @lime-progressbar-anchor-width: 6px;
962
973
  @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);
974
+ @lime-progressbar-tooltip-offset: var(--primitive-spacing-12);
975
+ @lime-progressbar-tooltip-above-offset: ~"calc(@{lime-progressbar-tooltip-offset} + @{lime-progressbar-bar-thickness})";
965
976
  @lime-progressbar-tooltip-below-offset: @lime-progressbar-tooltip-above-offset;
966
977
  @lime-progressbar-tooltip-before-offset: @lime-progressbar-tooltip-below-offset;
967
978
  @lime-progressbar-tooltip-after-offset: @lime-progressbar-tooltip-above-offset;
@@ -982,8 +993,8 @@
982
993
  )[@result]
983
994
  ) + 10px;
984
995
  @lime-quickguidepanels-close-button-margin-end: 150px;
985
- @lime-quickguidepanels-navigation-button-margin: 0 12px;
986
- @lime-quickguidepanels-steps-margin-top: 90px;
996
+ @lime-quickguidepanels-navigation-button-margin: 0 var(--primitive-spacing-12);
997
+ @lime-quickguidepanels-steps-margin-top: var(--primitive-spacing-90);
987
998
  @lime-quickguidepanels-steps-min-height: 48px;
988
999
 
989
1000
  // RadioItem
@@ -1001,11 +1012,11 @@
1001
1012
 
1002
1013
  // Scrollbar
1003
1014
  // ---------------------------------------
1004
- @lime-scrollbar-padding: 12px;
1015
+ @lime-scrollbar-padding: var(--primitive-spacing-12);
1005
1016
  @lime-scrollbar-size: 36px;
1006
1017
  @lime-scrollbar-focusable-size: 60px;
1007
- @lime-scrollbar-track-margin: 12px;
1008
- @lime-scrollbar-track-focusable-margin: 24px;
1018
+ @lime-scrollbar-track-margin: var(--primitive-spacing-12);
1019
+ @lime-scrollbar-track-focusable-margin: var(--primitive-spacing-24);
1009
1020
  @lime-scrollbar-track-width: 12px;
1010
1021
  @lime-scrollbar-track-border-radius: var(--semantic-radius-full);
1011
1022
  @lime-scrollbar-thumb-border-radius: var(--semantic-radius-full);
@@ -1016,30 +1027,39 @@
1016
1027
  @lime-scrollbar-thumb-focus-direction-indicator-width: 18px;
1017
1028
  @lime-scrollbar-thumb-focus-direction-indicator-height: 12px;
1018
1029
  @lime-scrollbar-thumb-focus-direction-indicator-top: 9px;
1019
- @lime-scrollbar-thumb-focus-direction-indicator-left: 6px;
1030
+ @lime-scrollbar-thumb-focus-direction-indicator-left: var(--primitive-spacing-6);
1020
1031
 
1021
1032
  // Scroller
1022
1033
  // ---------------------------------------
1023
1034
  @lime-scroll-fade-out-size: 48px;
1024
- @lime-scroll-fade-out-offset: 24px;
1035
+ @lime-scroll-fade-out-offset: var(--primitive-spacing-24);
1025
1036
  @lime-scroll-vertical-fade-out-padding: @lime-scroll-fade-out-size 0;
1026
1037
  @lime-scroll-horizontal-fade-out-padding: 0 @lime-scroll-fade-out-size;
1027
1038
  @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;
1039
+ @lime-scroll-focusablebody-padding: var(--primitive-spacing-72) var(--primitive-spacing-48) var(--primitive-spacing-72) var(--primitive-spacing-90);
1040
+ @lime-scroll-focusablebody-padding-rtl: var(--primitive-spacing-72) var(--primitive-spacing-90) var(--primitive-spacing-72) var(--primitive-spacing-48);
1041
+ @lime-scroll-focusablebody-focus-border-radius: var(--primitive-radius-12);
1031
1042
 
1032
1043
  // Slider
1033
1044
  // ---------------------------------------
1045
+ @lime-slider-focusin-transform: scale(1.33);
1046
+ @lime-slider-focusout-transform: scale(1);
1047
+ @lime-slider-press-transform: scale(1.16);
1048
+ @lime-slider-release-transform: @lime-slider-focusin-transform;
1034
1049
  @lime-slider-bar-height: @lime-progressbar-bar-thickness;
1035
1050
  @lime-slider-bar-vertical-min-height: 240px;
1036
- @lime-slider-bar-padding: 24px;
1037
- @lime-slider-knob-width: 48px;
1051
+ @lime-slider-bar-min-max-padding-bottom: var(--primitive-spacing-84);
1052
+ @lime-slider-bar-padding: var(--primitive-spacing-24);
1053
+ @lime-slider-knob-width: 36px;
1038
1054
  @lime-slider-knob-width-large: @lime-slider-knob-width;
1039
1055
  @lime-slider-knob-height: @lime-slider-knob-width;
1040
1056
  @lime-slider-knob-height-large: @lime-slider-knob-height;
1041
1057
  @lime-slider-tooltip-offset: (@lime-slider-knob-height / 2);
1042
- @lime-slider-knob-resting-state-scale: 0.75;
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);