@leaflink/stash 44.0.0-beta.7 → 44.0.0-beta.8

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 (148) hide show
  1. package/README.md +107 -39
  2. package/dist/ActionsDropdown.js +2 -2
  3. package/dist/ActionsDropdown.js.map +1 -1
  4. package/dist/AddressSelect.js +2 -2
  5. package/dist/AppNavigationItem.js +1 -1
  6. package/dist/AppSidebar.js +13 -13
  7. package/dist/AppSidebar.js.map +1 -1
  8. package/dist/Badge.vue.d.ts +1 -1
  9. package/dist/Button.js +1 -1
  10. package/dist/Button.js.map +1 -1
  11. package/dist/Button.vue_used_vue_type_style_index_0_lang.module-63d31dc0.js +17 -0
  12. package/dist/Button.vue_used_vue_type_style_index_0_lang.module-63d31dc0.js.map +1 -0
  13. package/dist/ButtonGroup.js +19 -19
  14. package/dist/ButtonGroup.js.map +1 -1
  15. package/dist/Checkbox.js +57 -46
  16. package/dist/Checkbox.js.map +1 -1
  17. package/dist/Checkbox.vue.d.ts +2 -0
  18. package/dist/Checkbox.vue_used_vue_type_style_index_0_lang.module-fa8d9c06.js +9 -0
  19. package/dist/Checkbox.vue_used_vue_type_style_index_0_lang.module-fa8d9c06.js.map +1 -0
  20. package/dist/ChevronToggle.js +1 -1
  21. package/dist/Copy.js +1 -1
  22. package/dist/CurrencyInput.js +2 -2
  23. package/dist/DataView.js +1 -1
  24. package/dist/DataViewFilters.js +4 -4
  25. package/dist/DataViewSortButton.js +47 -38
  26. package/dist/DataViewSortButton.js.map +1 -1
  27. package/dist/DataViewToolbar.js +2 -2
  28. package/dist/DatePicker.js +8 -8
  29. package/dist/DatePicker.js.map +1 -1
  30. package/dist/DescriptionListTerm.js +1 -1
  31. package/dist/DescriptionListTerm.js.map +1 -1
  32. package/dist/Dialog.js +33 -33
  33. package/dist/Dialog.js.map +1 -1
  34. package/dist/Divider.js +4 -4
  35. package/dist/Divider.js.map +1 -1
  36. package/dist/Expand.js +1 -1
  37. package/dist/{Expand.vue_vue_type_script_setup_true_lang-b6a57ae9.js → Expand.vue_vue_type_script_setup_true_lang-1751f4a6.js} +12 -13
  38. package/dist/Expand.vue_vue_type_script_setup_true_lang-1751f4a6.js.map +1 -0
  39. package/dist/Field.js +2 -2
  40. package/dist/Field.vue.d.ts +1 -1
  41. package/dist/{Field.vue_vue_type_script_setup_true_lang-4483019d.js → Field.vue_vue_type_script_setup_true_lang-42ba3c5a.js} +2 -2
  42. package/dist/Field.vue_vue_type_script_setup_true_lang-42ba3c5a.js.map +1 -0
  43. package/dist/FileUpload.js +7 -7
  44. package/dist/FileUpload.js.map +1 -1
  45. package/dist/FilterChip.js +30 -30
  46. package/dist/FilterChip.js.map +1 -1
  47. package/dist/FilterDropdown.js +2 -2
  48. package/dist/FilterSelect.js +2 -2
  49. package/dist/Filters.js +39 -39
  50. package/dist/Filters.js.map +1 -1
  51. package/dist/HttpError.js +6 -6
  52. package/dist/IconLabel.js +6 -6
  53. package/dist/IconLabel.js.map +1 -1
  54. package/dist/IconLabel.vue.d.ts +1 -1
  55. package/dist/Illustration.js +10 -60
  56. package/dist/Illustration.js.map +1 -1
  57. package/dist/Illustration.vue_vue_type_script_setup_true_lang-d6a94e17.js +56 -0
  58. package/dist/Illustration.vue_vue_type_script_setup_true_lang-d6a94e17.js.map +1 -0
  59. package/dist/Image.js +67 -72
  60. package/dist/Image.js.map +1 -1
  61. package/dist/InlineEdit.js +2 -2
  62. package/dist/Input.js +53 -53
  63. package/dist/Input.js.map +1 -1
  64. package/dist/InputOptions.js +2 -2
  65. package/dist/Label.js +1 -1
  66. package/dist/Label.vue.d.ts +13 -2
  67. package/dist/{Label.vue_vue_type_script_setup_true_lang-2de35913.js → Label.vue_vue_type_script_setup_true_lang-4b02087f.js} +12 -11
  68. package/dist/Label.vue_vue_type_script_setup_true_lang-4b02087f.js.map +1 -0
  69. package/dist/ListItem.js +11 -11
  70. package/dist/ListItem.js.map +1 -1
  71. package/dist/ListItemCell.js +9 -9
  72. package/dist/ListItemCell.js.map +1 -1
  73. package/dist/ListView.js +83 -80
  74. package/dist/ListView.js.map +1 -1
  75. package/dist/Loading.js +17 -10
  76. package/dist/Loading.js.map +1 -1
  77. package/dist/Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js +8 -0
  78. package/dist/Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js.map +1 -0
  79. package/dist/MenuItem.js +20 -14
  80. package/dist/MenuItem.js.map +1 -1
  81. package/dist/Modal.js +2 -2
  82. package/dist/Modal.js.map +1 -1
  83. package/dist/ObfuscateText.js +30 -32
  84. package/dist/ObfuscateText.js.map +1 -1
  85. package/dist/ObfuscateText.vue.d.ts +1 -1
  86. package/dist/PageContent.js +9 -9
  87. package/dist/PageContent.js.map +1 -1
  88. package/dist/PageHeader.js +22 -22
  89. package/dist/PageHeader.js.map +1 -1
  90. package/dist/Paginate.js +1 -1
  91. package/dist/Paginate.js.map +1 -1
  92. package/dist/Paginate.vue_used_vue_type_style_index_0_lang.module-18343da7.js +11 -0
  93. package/dist/Paginate.vue_used_vue_type_style_index_0_lang.module-18343da7.js.map +1 -0
  94. package/dist/Radio.js +24 -19
  95. package/dist/Radio.js.map +1 -1
  96. package/dist/RadioGroup.js +43 -43
  97. package/dist/RadioGroup.js.map +1 -1
  98. package/dist/SearchBar.js +32 -32
  99. package/dist/SearchBar.js.map +1 -1
  100. package/dist/Select.js +5 -5
  101. package/dist/Select.js.map +1 -1
  102. package/dist/SelectStatus.js +2 -2
  103. package/dist/Switch.js +41 -34
  104. package/dist/Switch.js.map +1 -1
  105. package/dist/Table.js +6 -6
  106. package/dist/Table.keys-cf93df19.js +27 -0
  107. package/dist/{Table.keys-75e99266.js.map → Table.keys-cf93df19.js.map} +1 -1
  108. package/dist/TableCell.js +5 -5
  109. package/dist/TableCell.js.map +1 -1
  110. package/dist/TableHeaderCell.js +32 -32
  111. package/dist/TableHeaderCell.js.map +1 -1
  112. package/dist/TableHeaderRow.js +10 -10
  113. package/dist/TableHeaderRow.js.map +1 -1
  114. package/dist/TableRow.js +6 -6
  115. package/dist/TableRow.js.map +1 -1
  116. package/dist/Textarea.js +49 -41
  117. package/dist/Textarea.js.map +1 -1
  118. package/dist/Toast.js +23 -23
  119. package/dist/Toast.js.map +1 -1
  120. package/dist/components.css +1 -1
  121. package/dist/constants.d.ts +26 -19
  122. package/dist/constants.js +41 -26
  123. package/dist/constants.js.map +1 -1
  124. package/dist/index.js +1 -1
  125. package/dist/tailwind-base.d.ts +16 -16
  126. package/dist/tailwind-base.js +7 -4
  127. package/dist/tailwind-base.js.map +1 -1
  128. package/package.json +1 -1
  129. package/styles/backwards-compat.css +41 -104
  130. package/styles/base.css +258 -112
  131. package/tailwind-base.ts +3 -0
  132. package/dist/Button.vue_used_vue_type_style_index_0_lang.module-b2ee90e6.js +0 -17
  133. package/dist/Button.vue_used_vue_type_style_index_0_lang.module-b2ee90e6.js.map +0 -1
  134. package/dist/Checkbox.vue_vue_type_style_index_0_scoped_dbd26d7f_lang-4ed993c7.js +0 -2
  135. package/dist/Checkbox.vue_vue_type_style_index_0_scoped_dbd26d7f_lang-4ed993c7.js.map +0 -1
  136. package/dist/Expand.vue_vue_type_script_setup_true_lang-b6a57ae9.js.map +0 -1
  137. package/dist/Field.vue_vue_type_script_setup_true_lang-4483019d.js.map +0 -1
  138. package/dist/Label.vue_vue_type_script_setup_true_lang-2de35913.js.map +0 -1
  139. package/dist/Loading.vue_vue_type_style_index_0_scoped_bb8d5f15_lang-4ed993c7.js +0 -2
  140. package/dist/Loading.vue_vue_type_style_index_0_scoped_bb8d5f15_lang-4ed993c7.js.map +0 -1
  141. package/dist/Paginate.vue_used_vue_type_style_index_0_lang.module-1a2084f9.js +0 -11
  142. package/dist/Paginate.vue_used_vue_type_style_index_0_lang.module-1a2084f9.js.map +0 -1
  143. package/dist/Table.keys-75e99266.js +0 -27
  144. package/styles/_base.scss +0 -493
  145. package/styles/elements/_links.scss +0 -32
  146. package/styles/elements/_lists.scss +0 -31
  147. package/styles/elements/_misc.scss +0 -16
  148. package/styles/main.scss +0 -38
package/styles/base.css CHANGED
@@ -23,10 +23,25 @@
23
23
  }
24
24
 
25
25
  /**
26
- * General styles and/or reset css could go here.
26
+ * This is a legacy grid class that conflicts with tailwinds out of the box grid class.
27
+ * Placed here before tw utilities, and specifically not within @layer components, so that it is
28
+ * always included in the output css.
29
+ *
30
+ * @deprecated - Todo: Migrate to tailwind grid classes. Too tricky to do in one find/replace cause you may have
31
+ * conflicts with other grid classes meant to override ll-grid.
32
+ */
33
+ .ll-grid {
34
+ @apply tw-grid tw-grid-cols-1 tw-gap-x-gutter tw-gap-y-6 md:tw-grid-cols-12;
35
+
36
+ --deprecated: "WARNING: Use `tw-grid` instead";
37
+ }
38
+
39
+ /**
40
+ * Variables
27
41
  */
28
42
 
29
43
  :root {
44
+ --height-topbar: 56px;
30
45
  --grid-gutter: 12px;
31
46
 
32
47
  /* The tooltips position relative to the toggle element */
@@ -35,11 +50,126 @@
35
50
  /* Centers arrow horizontally or vertically along tooltip on arrow's center */
36
51
  --arrow-position-centered: calc(50% - theme('spacing[1.5]'));
37
52
 
38
- @media screen(lg) {
53
+ @media screen('lg') {
39
54
  --grid-gutter: 24px;
40
55
  }
56
+
57
+ /* Stash colors */
58
+ --color-purple-900: #06040F;
59
+ --color-purple-800: #0C091E;
60
+ --color-purple-700: #120D2D;
61
+ --color-purple-600: #18123C;
62
+ --color-purple-500: #1E164B;
63
+ --color-purple-400: #4B456F;
64
+ --color-purple-300: #787393;
65
+ --color-purple-200: #A5A2B7;
66
+ --color-purple-100: #D2D0DB;
67
+
68
+ --color-royal-900: #0A0C24;
69
+ --color-royal-800: #131747;
70
+ --color-royal-700: #1D236B;
71
+ --color-royal-600: #262E8E;
72
+ --color-royal-500: #303AB2;
73
+ --color-royal-400: #5961C1;
74
+ --color-royal-300: #8389D1;
75
+ --color-royal-200: #ACB0E0;
76
+ --color-royal-100: #D6D8F0;
77
+
78
+ --color-blue-900: #001730;
79
+ --color-blue-800: #002E60;
80
+ --color-blue-700: #004490;
81
+ --color-blue-600: #005BC0;
82
+ --color-blue-500: #0072F0;
83
+ --color-blue-400: #338EF3;
84
+ --color-blue-300: #66AAF6;
85
+ --color-blue-200: #99C7F9;
86
+ --color-blue-100: #CCE3FC;
87
+
88
+ --color-teal-900: #002528;
89
+ --color-teal-800: #004B50;
90
+ --color-teal-700: #017078;
91
+ --color-teal-600: #0196A0;
92
+ --color-teal-500: #01BBC8;
93
+ --color-teal-400: #34C9D3;
94
+ --color-teal-300: #67D6DE;
95
+ --color-teal-200: #99E4E9;
96
+ --color-teal-100: #CCF1F4;
97
+
98
+ --color-green-900: #062313;
99
+ --color-green-800: #0C4627;
100
+ --color-green-700: #11683A;
101
+ --color-green-600: #178B4E;
102
+ --color-green-500: #1DAE61;
103
+ --color-green-400: #4ABE81;
104
+ --color-green-300: #77CEA0;
105
+ --color-green-200: #A5DFC0;
106
+ --color-green-100: #D2EFDF;
107
+
108
+ --color-seafoam-900: #0C2C26;
109
+ --color-seafoam-800: #18584D;
110
+ --color-seafoam-700: #248373;
111
+ --color-seafoam-600: #30AF9A;
112
+ --color-seafoam-500: #3CDBC0;
113
+ --color-seafoam-400: #63E2CD;
114
+ --color-seafoam-300: #8AE9D9;
115
+ --color-seafoam-200: #B1F1E6;
116
+ --color-seafoam-100: #D8F8F2;
117
+
118
+ --color-yellow-900: #332A00;
119
+ --color-yellow-800: #650;
120
+ --color-yellow-700: #997F00;
121
+ --color-yellow-600: #CA0;
122
+ --color-yellow-500: #FFD400;
123
+ --color-yellow-400: #FD3;
124
+ --color-yellow-300: #FFE566;
125
+ --color-yellow-200: #FE9;
126
+ --color-yellow-100: #FFF6CC;
127
+
128
+ --color-orange-900: #331E07;
129
+ --color-orange-800: #663B0F;
130
+ --color-orange-700: #995916;
131
+ --color-orange-600: #CC761E;
132
+ --color-orange-500: #FF9425;
133
+ --color-orange-400: #FFA951;
134
+ --color-orange-300: #FFBF7C;
135
+ --color-orange-200: #FFD4A8;
136
+ --color-orange-100: #FFEAD3;
137
+
138
+ --color-red-900: #2E0009;
139
+ --color-red-800: #5B0011;
140
+ --color-red-700: #89001A;
141
+ --color-red-600: #B60022;
142
+ --color-red-500: #E4002B;
143
+ --color-red-400: #E93355;
144
+ --color-red-300: #EF6680;
145
+ --color-red-200: #F499AA;
146
+ --color-red-100: #FACCD5;
147
+
148
+ --color-ice-900: #27282A;
149
+ --color-ice-800: #4F5055;
150
+ --color-ice-700: #76797F;
151
+ --color-ice-600: #9EA1AA;
152
+ --color-ice-500: #C5C9D4;
153
+ --color-ice-400: #D1D4DD;
154
+ --color-ice-300: #DCDFE5;
155
+ --color-ice-200: #E8E9EE;
156
+ --color-ice-100: #F3F4F6;
157
+ --color-white: #fff;
158
+ --color-black: #000;
159
+
160
+ /* Deprecated colors */
161
+ --color-blue-hover: rgb(0 114 240 / 74.9%);
162
+ --color-red-hover: rgb(228 0 43 / 74.9%);
163
+ --color-ice-700-hover: rgb(118 121 127 / 11.8%);
164
+ --color-white-hover: rgb(255 255 255 / 11.8%);
165
+ --button-secondary-blue-hover: rgb(0 114 240 / 11.8%);
166
+ --button-secondary-red-hover: rgb(228 0 43 / 11.8%);
41
167
  }
42
168
 
169
+ /**
170
+ * General styles and/or reset css could go here.
171
+ */
172
+
43
173
  @layer base {
44
174
  @font-face {
45
175
  font-family: Sofia;
@@ -126,7 +256,7 @@
126
256
  @apply tw-text-2xl tw-font-medium tw-text-ice-900;
127
257
  }
128
258
 
129
- @media screen(md) {
259
+ @media screen('md') {
130
260
  .heading-jumbo {
131
261
  font-size: theme('fontSize.5xl');
132
262
  }
@@ -173,7 +303,7 @@
173
303
  *
174
304
  * Add LeafLink's base styles to fix issues on localhost
175
305
  */
176
- a {
306
+ a, .link {
177
307
  @apply tw-text-blue-500;
178
308
 
179
309
  background-color: transparent;
@@ -474,6 +604,33 @@
474
604
  content: "—";
475
605
  }
476
606
 
607
+ /**
608
+ * Legacy button-grid class.
609
+ *
610
+ * Todo: Create ButtonGrid component with styles below and remove button grid styles from Button.vue
611
+ * https://leaflink.atlassian.net/browse/STASH-230
612
+ */
613
+ .button-grid {
614
+ display: flex;
615
+ grid-column-end: -1 !important;
616
+
617
+ > .button {
618
+ width: 50%;
619
+ }
620
+
621
+ > .button + .button {
622
+ margin-left: theme('spacing.6')
623
+ }
624
+
625
+ @media screen('md') {
626
+ display: inline-flex;
627
+
628
+ > .button {
629
+ width: auto;
630
+ }
631
+ }
632
+ }
633
+
477
634
  /**
478
635
  * Stash's v-tooltip styles.
479
636
  */
@@ -483,7 +640,7 @@
483
640
 
484
641
  background: var(--color-ice-900);
485
642
  border-radius: theme('borderRadius.DEFAULT');
486
- box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25);
643
+ box-shadow: 0 0 0 1px rgb(255 255 255 / 25%);
487
644
  color: var(--color-white);
488
645
  font-size: 0.75rem;
489
646
  line-height: calc(16 / 12);
@@ -510,59 +667,59 @@
510
667
  z-index: theme('zIndex.behind');
511
668
  width: 12px;
512
669
  }
670
+ }
513
671
 
514
- &--bottom,
515
- &--top {
516
- left: calc(50% + calc(var(--offset) * 1px));
517
- transform: translateX(-50%);
672
+ .tooltip--bottom,
673
+ .tooltip--top {
674
+ left: calc(50% + calc(var(--offset) * 1px));
675
+ transform: translateX(-50%);
518
676
 
519
- &::after {
520
- left: calc(#{$arrow-position-centered} + calc(var(--offset) * -1px));
521
- }
677
+ &::after {
678
+ left: calc(#{$arrow-position-centered} + calc(var(--offset) * -1px));
522
679
  }
680
+ }
523
681
 
524
- &--bottom {
525
- top: var(--tooltip-position);
682
+ .tooltip--bottom {
683
+ top: var(--tooltip-position);
526
684
 
527
- &::after {
528
- transform: rotate(-45deg);
529
- }
685
+ &::after {
686
+ transform: rotate(-45deg);
530
687
  }
688
+ }
531
689
 
532
- &--top {
533
- bottom: var(--tooltip-position);
690
+ .tooltip--top {
691
+ bottom: var(--tooltip-position);
534
692
 
535
- &::after {
536
- top: calc(100% - theme('spacing[1.5]'));
537
- }
693
+ &::after {
694
+ top: calc(100% - theme('spacing[1.5]'));
538
695
  }
696
+ }
539
697
 
540
- &--left,
541
- &--right {
542
- top: 50%;
543
- transform: translateY(-50%);
698
+ .tooltip--left,
699
+ .tooltip--right {
700
+ top: 50%;
701
+ transform: translateY(-50%);
544
702
 
545
- &::after {
546
- top: var(--arrow-position-centered);
547
- }
703
+ &::after {
704
+ top: var(--arrow-position-centered);
548
705
  }
706
+ }
549
707
 
550
- &--left {
551
- right: var(--tooltip-position);
708
+ .tooltip--left {
709
+ right: var(--tooltip-position);
552
710
 
553
- &::after {
554
- left: calc(100% - theme('spacing[1.5]'));
555
- transform: rotate(45deg);
556
- }
711
+ &::after {
712
+ left: calc(100% - theme('spacing[1.5]'));
713
+ transform: rotate(45deg);
557
714
  }
715
+ }
558
716
 
559
- &--right {
560
- left: var(--tooltip-position);
717
+ .tooltip--right {
718
+ left: var(--tooltip-position);
561
719
 
562
- &::after {
563
- left: calc(-1 * theme('spacing[1.5]'));
564
- transform: rotate(-135deg);
565
- }
720
+ &::after {
721
+ left: calc(-1 * theme('spacing[1.5]'));
722
+ transform: rotate(-135deg);
566
723
  }
567
724
  }
568
725
 
@@ -589,8 +746,8 @@
589
746
  */
590
747
 
591
748
  @keyframes shake {
592
- from,
593
- to {
749
+ 0%,
750
+ 100% {
594
751
  transform: translate3d(0, 0, 0);
595
752
  }
596
753
 
@@ -616,7 +773,7 @@
616
773
 
617
774
 
618
775
  @keyframes pulse {
619
- from {
776
+ 0% {
620
777
  transform: scale3d(1, 1, 1);
621
778
  }
622
779
 
@@ -624,7 +781,7 @@
624
781
  transform: scale3d(1.25, 1.25, 1.25);
625
782
  }
626
783
 
627
- to {
784
+ 100% {
628
785
  transform: scale3d(1, 1, 1);
629
786
  }
630
787
  }
@@ -655,7 +812,7 @@
655
812
  }
656
813
 
657
814
  @keyframes flash {
658
- from {
815
+ 0% {
659
816
  opacity: 1;
660
817
  }
661
818
 
@@ -663,7 +820,7 @@
663
820
  opacity: 0;
664
821
  }
665
822
 
666
- to {
823
+ 100% {
667
824
  opacity: 1;
668
825
  }
669
826
  }
@@ -679,89 +836,78 @@
679
836
  * See: https://tailwindcss.com/docs/transition-property
680
837
  */
681
838
 
682
- .scale {
683
- &-enter-active,
684
- &-leave-active {
685
- transition: theme('transitionDuration.300') theme('transitionTimingFunction.ease-in-out');
686
- }
839
+ .scale-enter-active,
840
+ .scale-leave-active {
841
+ transition: theme('transitionDuration.300') theme('transitionTimingFunction.ease-in-out');
842
+ }
687
843
 
688
- &-enter-from,
689
- &-leave-from,
690
- &-leave-to {
691
- opacity: 0;
692
- transform: scale(0);
693
- }
844
+ .scale-enter-from,
845
+ .scale-leave-from,
846
+ .scale-leave-to {
847
+ opacity: 0;
848
+ transform: scale(0);
694
849
  }
695
850
 
696
- .slide-y {
697
- &-enter-active,
698
- &-leave-active {
699
- transition: theme('transitionDuration.150') theme('transitionTimingFunction.swing');
700
- }
701
851
 
702
- &-enter-from,
703
- &-leave-to {
704
- opacity: 0;
705
- transform: translateY(-0.875rem);
706
- }
852
+ .slide-y-enter-active,
853
+ .slide-y-leave-active {
854
+ transition: theme('transitionDuration.150') theme('transitionTimingFunction.swing');
707
855
  }
708
856
 
709
- .slide-x {
710
- &-enter-active,
711
- &-leave-active {
712
- transition: theme('transitionDuration.150') theme('transitionTimingFunction.swing');
713
- }
857
+ .slide-y-enter-from,
858
+ .slide-y-leave-to {
859
+ opacity: 0;
860
+ transform: translateY(-0.875rem);
861
+ }
714
862
 
715
- &-enter-from,
716
- &-leave-to {
717
- opacity: 0;
718
- transform: translateX(-0.875rem);
719
- }
863
+ .slide-x-enter-active,
864
+ .slide-x-leave-active {
865
+ transition: theme('transitionDuration.150') theme('transitionTimingFunction.swing');
720
866
  }
721
867
 
722
- .fade {
723
- &-enter-active,
724
- &-leave-active {
725
- transition: opacity theme('transitionDuration.150') theme('transitionTimingFunction.swing');
726
- }
868
+ .slide-x-enter-from,
869
+ .slide-x-leave-to {
870
+ opacity: 0;
871
+ transform: translateX(-0.875rem);
872
+ }
727
873
 
728
- &-enter-from,
729
- &-leave-to {
730
- opacity: 0;
731
- }
874
+ .fade-enter-active,
875
+ .fade-leave-active {
876
+ transition: opacity theme('transitionDuration.150') theme('transitionTimingFunction.swing');
877
+ }
732
878
 
733
- &-enter-to {
734
- opacity: 1;
735
- }
879
+ .fade-enter-from,
880
+ .fade-leave-to {
881
+ opacity: 0;
882
+ }
883
+
884
+ .fade-enter-to {
885
+ opacity: 1;
736
886
  }
737
887
 
738
- .expand {
739
- &-enter-active,
740
- &-leave-active {
741
- transition:
888
+ .expand-enter-active,
889
+ .expand-leave-active {
890
+ transition:
742
891
  height theme('transitionDuration.300') theme('transitionTimingFunction.ease-in-out'),
743
892
  opacity theme('transitionDuration.500') theme('transitionDuration.150'),
744
893
  transform theme('transitionDuration.500') theme('transitionDuration.150');
745
- }
894
+ }
746
895
 
747
- &-enter-from,
748
- &-leave-to {
749
- height: 0;
750
- opacity: 0;
751
- transform: translateY(-0.875rem);
752
- transition-delay: 0s;
753
- }
896
+ .expand-enter-from,
897
+ .expand-leave-to {
898
+ height: 0;
899
+ opacity: 0;
900
+ transform: translateY(-0.875rem);
901
+ transition-delay: 0s;
902
+ }
754
903
 
755
- &-leave-from,
756
- &-enter-to {
757
- height: auto;
758
- opacity: 1;
759
- transform: translateY(0);
760
- }
904
+ .expand-leave-from,
905
+ .expand-enter-to {
906
+ height: auto;
907
+ opacity: 1;
908
+ transform: translateY(0);
761
909
  }
762
910
 
763
- .move {
764
- &-move {
765
- transition: transform theme('transitionDuration.150') theme('transitionTimingFunction.swing');
766
- }
911
+ .move-move {
912
+ transition: transform theme('transitionDuration.150') theme('transitionTimingFunction.swing');
767
913
  }
package/tailwind-base.ts CHANGED
@@ -289,6 +289,9 @@ export default {
289
289
  // .tw-leading-*
290
290
  lineHeight: {
291
291
  initial: 'initial',
292
+ '2xl': 'calc(32/24)',
293
+ xl: 'calc(28/20)',
294
+ base: 'calc(24/16)',
292
295
  // for backwards compatibility with LL typography line-heights
293
296
  body: '20/14',
294
297
  small: '16/12',
@@ -1,17 +0,0 @@
1
- const t = "_button_trcic_2", o = {
2
- button: t,
3
- "button--solid": "_button--solid_trcic_36",
4
- "button--ghost": "_button--ghost_trcic_58",
5
- "button--primary": "_button--primary_trcic_81 _button--solid_trcic_36",
6
- "button--secondary": "_button--secondary_trcic_88 _button--ghost_trcic_58",
7
- "button--tertiary": "_button--tertiary_trcic_95 _button--ghost_trcic_58",
8
- "button--icon": "_button--icon_trcic_102",
9
- "button--iconLabel": "_button--iconLabel_trcic_103",
10
- "button--inline": "_button--inline_trcic_143",
11
- "button--blue": "_button--blue_trcic_161",
12
- "button--red": "_button--red_trcic_175"
13
- };
14
- export {
15
- o as s
16
- };
17
- //# sourceMappingURL=Button.vue_used_vue_type_style_index_0_lang.module-b2ee90e6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button.vue_used_vue_type_style_index_0_lang.module-b2ee90e6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=Checkbox.vue_vue_type_style_index_0_scoped_dbd26d7f_lang-4ed993c7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Checkbox.vue_vue_type_style_index_0_scoped_dbd26d7f_lang-4ed993c7.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Expand.vue_vue_type_script_setup_true_lang-b6a57ae9.js","sources":["../src/components/Expand/Expand.vue"],"sourcesContent":["<script lang=\"ts\">\n export default {\n name: 'll-expand',\n };\n</script>\n\n<script setup lang=\"ts\">\n import { onMounted, ref } from 'vue';\n\n export type ExpandOuterElement = 'div' | 'td' | 'li';\n\n export interface ExpandProps {\n /**\n * The root element to use as the root element the expand transition gets applied to\n */\n is?: ExpandOuterElement;\n /**\n * Dictates whether the content is expanded or collapsed\n */\n isExpanded?: boolean;\n /**\n * Whether to only render content on expand\n */\n isLazy?: boolean;\n /**\n * The name of the transition to pass to the transition component\n * @see: https://vuejs.org/guide/built-ins/transition.html#css-based-transitions\n */\n transitionName?: string;\n }\n\n const props = withDefaults(defineProps<ExpandProps>(), {\n is: 'div',\n isExpanded: false,\n isLazy: false,\n transitionName: 'expand',\n });\n\n const emit =\n defineEmits<{\n (e: 'after-expand'): void;\n }>();\n\n const contentRef = ref<HTMLElement | null>(null);\n\n onMounted(() => {\n if (!props.isExpanded && contentRef.value) {\n contentRef.value.style.overflow = 'hidden';\n }\n });\n\n /**\n * Expands the element\n * @param {object} element - the element being expanded\n * @returns {void}\n */\n const onExpand = (element) => {\n // Trick to calculate the height of the hidden element\n element.style.visibility = 'hidden';\n element.style.height = 'auto';\n\n const height = element.offsetHeight;\n\n // Restore default styling\n element.style.visibility = '';\n element.style.display = '';\n\n // Set height on the element to zero\n element.style.height = 0;\n\n // Set expanded height after the other height change takes affect\n requestAnimationFrame(() => {\n element.style.height = `${height}px`;\n });\n };\n\n /**\n * Resores default styling after the expand animation is completed\n * @param {object} element - the element being expanded\n * @returns {void}\n */\n const afterExpand = (element) => {\n element.style.height = '';\n element.style.overflow = '';\n emit('after-expand');\n };\n\n /**\n * Collapses the element\n * @param {object} element - the element being expanded\n * @returns {void}\n */\n const onCollapse = (element) => {\n const height = element.offsetHeight;\n\n // Set height to the expanded height\n element.style.height = `${height}px`;\n element.style.overflow = 'hidden';\n\n // Set height to zero after the other height change takes affect\n requestAnimationFrame(() => {\n element.style.height = 0;\n });\n };\n</script>\n\n<template>\n <component\n :is=\"props.is\"\n class=\"stash-expand\"\n data-test=\"stash-expand\"\n :class=\"{\n 'stash-expand--expanded': isExpanded,\n 'stash-expand--collapsed': !isExpanded,\n }\"\n >\n <transition :name=\"transitionName\" @after-enter=\"afterExpand\" @enter=\"onExpand\" @leave=\"onCollapse\">\n <template v-if=\"isLazy\">\n <div v-if=\"isExpanded\" ref=\"contentRef\">\n <slot></slot>\n </div>\n </template>\n <template v-else>\n <div v-show=\"isExpanded\" ref=\"contentRef\">\n <slot></slot>\n </div>\n </template>\n </transition>\n </component>\n</template>\n"],"names":["contentRef","ref","onMounted","props","onExpand","element","height","afterExpand","emit","onCollapse"],"mappings":";AACE,UAAe;AAAA,EACb,MAAM;AACR;;;;;;;;;;iBAwCMA,IAAaC,EAAwB,IAAI;AAE/C,IAAAC,EAAU,MAAM;AACd,MAAI,CAACC,EAAM,cAAcH,EAAW,UACvBA,EAAA,MAAM,MAAM,WAAW;AAAA,IACpC,CACD;AAOK,UAAAI,IAAW,CAACC,MAAY;AAE5B,MAAAA,EAAQ,MAAM,aAAa,UAC3BA,EAAQ,MAAM,SAAS;AAEvB,YAAMC,IAASD,EAAQ;AAGvB,MAAAA,EAAQ,MAAM,aAAa,IAC3BA,EAAQ,MAAM,UAAU,IAGxBA,EAAQ,MAAM,SAAS,GAGvB,sBAAsB,MAAM;AAClB,QAAAA,EAAA,MAAM,SAAS,GAAGC,CAAM;AAAA,MAAA,CACjC;AAAA,IAAA,GAQGC,IAAc,CAACF,MAAY;AAC/B,MAAAA,EAAQ,MAAM,SAAS,IACvBA,EAAQ,MAAM,WAAW,IACzBG,EAAK,cAAc;AAAA,IAAA,GAQfC,IAAa,CAACJ,MAAY;AAC9B,YAAMC,IAASD,EAAQ;AAGf,MAAAA,EAAA,MAAM,SAAS,GAAGC,CAAM,MAChCD,EAAQ,MAAM,WAAW,UAGzB,sBAAsB,MAAM;AAC1B,QAAAA,EAAQ,MAAM,SAAS;AAAA,MAAA,CACxB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Field.vue_vue_type_script_setup_true_lang-4483019d.js","sources":["../src/components/Field/Field.vue"],"sourcesContent":["<script lang=\"ts\">\n export default {\n inheritAttrs: false,\n };\n</script>\n\n<script setup lang=\"ts\">\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, useAttrs, useSlots } from 'vue';\n\n import Label from '../Label/Label.vue';\n\n export interface FieldProps {\n /**\n * Adds spacing under the field that is consistent whether or not hint/error text is displayed.\n */\n addBottomSpace?: boolean;\n\n /**\n * Error text to display. Replaces `hintText` (if provided) & adds error styling.\n */\n errorText?: string;\n\n /**\n * Displays text below the input; hidden when the isReadOnly prop is truthy.\n */\n hintText?: string;\n\n /**\n * ID for the Label and Input; must be unique\n */\n id?: string;\n\n /**\n * ID for the error text element; useful for aria-errormessage\n */\n errorId?: string;\n\n /**\n * Whether it's a readonly field.\n */\n isReadOnly?: boolean;\n\n /**\n * Whether the field is required.\n */\n isRequired?: boolean;\n\n /**\n * Label to render above the input.\n */\n label?: string;\n\n /**\n * Show \"(optional)\" to the right of the label text\n */\n showOptionalInLabel?: boolean;\n\n /**\n * Indicates wheter the field is a fieldset or not\n */\n fieldset?: boolean;\n }\n\n const props = withDefaults(defineProps<FieldProps>(), {\n addBottomSpace: false,\n errorText: undefined,\n hintText: undefined,\n id: undefined,\n errorId: undefined,\n isRequired: false,\n label: undefined,\n showOptionalInLabel: false,\n fieldset: false,\n });\n const attrs = useAttrs();\n const slots = useSlots();\n const fieldId = computed(() => props.id || uniqueId('field-'));\n const fieldErrorId = computed(() => props.errorId || uniqueId('field-error-'));\n const labelId = computed(() => uniqueId('field-label-'));\n const hasError = computed(() => !!props.errorText);\n const wrapperElement = computed(() => (props.fieldset ? 'fieldset' : 'div'));\n\n // Any attributes that are unique to form elements, you want to exclude from\n // being bound from the root element.\n const rootAttrs = computed(() => {\n const { placeholder, ...otherAttrs } = attrs;\n\n return otherAttrs;\n });\n</script>\n\n<template>\n <component\n v-bind=\"rootAttrs\"\n :is=\"wrapperElement\"\n :class=\"[\n { 'tw-p-0': props.fieldset },\n { 'tw-mb-9': props.addBottomSpace && !props.errorText && !props.hintText && !slots.hint },\n { 'tw-mb-4': props.addBottomSpace && (props.errorText || props.hintText || slots.hint) },\n ]\"\n >\n <Label\n v-if=\"props.label\"\n :id=\"labelId\"\n :class=\"{ 'tw-mb-1.5': !!props.isReadOnly }\"\n :for=\"fieldId\"\n :has-error=\"hasError\"\n :is-required=\"isRequired\"\n :show-optional=\"props.showOptionalInLabel\"\n :legend=\"props.fieldset\"\n >\n {{ props.label }}\n </Label>\n\n <!-- @slot for the form field; the Label can also be rendered here instead of using the label prop -->\n <template v-if=\"props.isReadOnly\">\n <div :aria-labelledby=\"labelId\">\n <slot\n :field-id=\"fieldId\"\n :field-error-id=\"fieldErrorId\"\n :has-error=\"hasError\"\n :is-required=\"isRequired\"\n :label-id=\"labelId\"\n :show-optional-in-label=\"props.showOptionalInLabel\"\n ></slot>\n </div>\n </template>\n <template v-else>\n <slot\n :field-id=\"fieldId\"\n :field-error-id=\"fieldErrorId\"\n :has-error=\"hasError\"\n :is-required=\"isRequired\"\n :label-id=\"labelId\"\n :show-optional-in-label=\"props.showOptionalInLabel\"\n ></slot>\n </template>\n\n <span\n v-if=\"props.errorText\"\n :id=\"fieldErrorId\"\n class=\"tw-mt-1 tw-block tw-whitespace-pre-line tw-text-xs tw-text-red-500\"\n data-test=\"field-error\"\n >\n {{ props.errorText }}\n </span>\n\n <span v-else-if=\"props.hintText\" class=\"tw-mt-1 tw-block tw-whitespace-pre-line tw-text-xs\" data-test=\"field-hint\">\n <span v-if=\"!props.isReadOnly\">{{ props.hintText }}</span>\n </span>\n\n <div v-else-if=\"slots.hint\" class=\"tw-mt-1 tw-whitespace-pre-line tw-text-xs\" data-test=\"field-hint\">\n <!-- @slot for displaying hint text below the field -->\n <slot v-if=\"!props.isReadOnly\" name=\"hint\"></slot>\n </div>\n </component>\n</template>\n"],"names":["attrs","useAttrs","slots","useSlots","fieldId","computed","props","uniqueId","fieldErrorId","labelId","hasError","wrapperElement","rootAttrs","placeholder","otherAttrs"],"mappings":";;;;;;;;;;;OACiB;AAAA,EACb,cAAc;AAChB;;;;;;;;;;;;;;;;iBAwEMA,IAAQC,KACRC,IAAQC,KACRC,IAAUC,EAAS,MAAMC,EAAM,MAAMC,EAAS,QAAQ,CAAC,GACvDC,IAAeH,EAAS,MAAMC,EAAM,WAAWC,EAAS,cAAc,CAAC,GACvEE,IAAUJ,EAAS,MAAME,EAAS,cAAc,CAAC,GACjDG,IAAWL,EAAS,MAAM,CAAC,CAACC,EAAM,SAAS,GAC3CK,IAAiBN,EAAS,MAAOC,EAAM,WAAW,aAAa,KAAM,GAIrEM,IAAYP,EAAS,MAAM;AAC/B,YAAM,EAAE,aAAAQ,GAAa,GAAGC,EAAA,IAAed;AAEhC,aAAAc;AAAA,IAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Label.vue_vue_type_script_setup_true_lang-2de35913.js","sources":["../src/components/Label/Label.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed } from 'vue';\n\n import { t } from '../../locale';\n\n export interface LabelProps {\n for?: string;\n hasError?: boolean;\n isRequired?: boolean;\n showOptional?: boolean;\n /**\n * Indicates whether the wrapper element to be rendered\n * should be a label or a legend.\n */\n legend?: boolean;\n }\n\n const props = withDefaults(defineProps<LabelProps>(), {\n for: undefined,\n hasError: false,\n isRequired: false,\n showOptional: false,\n legend: false,\n });\n\n const wrapperElement = computed(() => {\n return props.legend ? 'legend' : 'label';\n });\n</script>\n\n<template>\n <component\n :is=\"wrapperElement\"\n class=\"stash-label tw-block tw-truncate tw-text-sm tw-font-medium tw-leading-6 tw-text-ice-900\"\n :class=\"{ 'animate-shake': props.hasError }\"\n :for=\"props.for\"\n >\n <!-- @slot the label text -->\n <slot></slot>\n <span v-if=\"props.isRequired\" class=\"font-weight-bold tw-text-red-500\" title=\"Required\" aria-label=\"required\">\n *\n </span>\n <span v-else-if=\"props.showOptional\" class=\"tw-text-ice-700\"> ({{ t('ll.optional') }}) </span>\n </component>\n</template>\n"],"names":["wrapperElement","computed","props"],"mappings":";;;;;;;;;;;;;;;;;;;;iBAyBQA,IAAiBC,EAAS,MACvBC,EAAM,SAAS,WAAW,OAClC;;;;;;;;;;;;;"}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=Loading.vue_vue_type_style_index_0_scoped_bb8d5f15_lang-4ed993c7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Loading.vue_vue_type_style_index_0_scoped_bb8d5f15_lang-4ed993c7.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- const s = "_pagination_1s7z5_2", _ = "_prev_1s7z5_20", i = "_next_1s7z5_25", t = {
2
- pagination: s,
3
- prev: _,
4
- next: i,
5
- "is-active": "_is-active_1s7z5_38",
6
- "is-disabled": "_is-disabled_1s7z5_51"
7
- };
8
- export {
9
- t as s
10
- };
11
- //# sourceMappingURL=Paginate.vue_used_vue_type_style_index_0_lang.module-1a2084f9.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Paginate.vue_used_vue_type_style_index_0_lang.module-1a2084f9.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,27 +0,0 @@
1
- const o = "_root_jdd28_2", t = {
2
- root: o,
3
- "layout--scroll": "_layout--scroll_jdd28_6",
4
- "has-actions": "_has-actions_jdd28_12",
5
- "layout--stack": "_layout--stack_jdd28_16",
6
- "is-control": "_is-control_jdd28_28",
7
- "root--density-comfortable": "_root--density-comfortable_jdd28_52"
8
- }, _ = "_root_10hu1_2", e = {
9
- root: _,
10
- "is-expandable": "_is-expandable_10hu1_9",
11
- "root--hidden-divider": "_root--hidden-divider_10hu1_14",
12
- "is-expanded": "_is-expanded_10hu1_14",
13
- "layout--scroll": "_layout--scroll_10hu1_22",
14
- "layout--stack": "_layout--stack_10hu1_36",
15
- "row-selection-checkbox": "_row-selection-checkbox_10hu1_56",
16
- "row-control-cell": "_row-control-cell_10hu1_62",
17
- "row-expansion-content": "_row-expansion-content_10hu1_73",
18
- "row-expansion": "_row-expansion_10hu1_73"
19
- }, s = Object.freeze({
20
- key: Symbol("TABLE_INJECTION_KEY")
21
- });
22
- export {
23
- s as T,
24
- e as a,
25
- t as s
26
- };
27
- //# sourceMappingURL=Table.keys-75e99266.js.map