@kiva/kv-components 0.20.0 → 0.20.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,41 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.20.4](https://github.com/kiva/kv-ui-elements/compare/@kiva/kv-components@0.20.3...@kiva/kv-components@0.20.4) (2021-09-23)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * Fix lightboxes being cut off vertically on mobile ([#116](https://github.com/kiva/kv-ui-elements/issues/116)) ([23dd4d9](https://github.com/kiva/kv-ui-elements/commit/23dd4d91ba9aa4178644afe1cbd2bdf98de0d05a))
12
+
13
+
14
+
15
+
16
+
17
+ ## [0.20.3](https://github.com/kiva/kv-ui-elements/compare/@kiva/kv-components@0.20.2...@kiva/kv-components@0.20.3) (2021-09-23)
18
+
19
+ **Note:** Version bump only for package @kiva/kv-components
20
+
21
+
22
+
23
+
24
+
25
+ ## [0.20.2](https://github.com/kiva/kv-ui-elements/compare/@kiva/kv-components@0.20.1...@kiva/kv-components@0.20.2) (2021-09-22)
26
+
27
+ **Note:** Version bump only for package @kiva/kv-components
28
+
29
+
30
+
31
+
32
+
33
+ ## [0.20.1](https://github.com/kiva/kv-ui-elements/compare/@kiva/kv-components@0.20.0...@kiva/kv-components@0.20.1) (2021-09-15)
34
+
35
+ **Note:** Version bump only for package @kiva/kv-components
36
+
37
+
38
+
39
+
40
+
6
41
  # [0.20.0](https://github.com/kiva/kv-ui-elements/compare/@kiva/kv-components@0.19.7...@kiva/kv-components@0.20.0) (2021-09-14)
7
42
 
8
43
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kiva/kv-components",
3
- "version": "0.20.0",
3
+ "version": "0.20.4",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -33,7 +33,7 @@
33
33
  "jest-axe": "^5.0.1",
34
34
  "postcss": "^8.3.0",
35
35
  "storybook-dark-mode": "^1.0.8",
36
- "tailwindcss": "2.2.4",
36
+ "tailwindcss": "2.2.15",
37
37
  "vue-jest": "^3.0.7",
38
38
  "vue-loader": "^15.9.6",
39
39
  "vue-template-compiler": "^2.6.12"
@@ -53,5 +53,5 @@
53
53
  "vue": "^2.6.12",
54
54
  "vue-focus-lock": "^1.4.1"
55
55
  },
56
- "gitHead": "ec5322df5984c3177697dd3756dd3c84eec89a01"
56
+ "gitHead": "3d58dc7299bf31a9d16581470576419acc5e53a1"
57
57
  }
@@ -1,6 +1,7 @@
1
1
  import './tailwind.css';
2
2
  import addons from '@storybook/addons';
3
3
  import KvThemeProvider from '../KvThemeProvider.vue';
4
+ import { defaultTheme, darkTheme } from '@kiva/kv-tokens/configs/kivaColors';
4
5
 
5
6
  export const parameters = {
6
7
  actions: { argTypesRegex: "^on[A-Z].*" },
@@ -32,7 +33,7 @@ export const decorators = [(story) => ({
32
33
  },
33
34
  methods: {
34
35
  setTheme(darkMode) {
35
- darkMode ? this.theme = 'dark' : this.theme = ''
36
+ darkMode ? this.theme = darkTheme : this.theme = defaultTheme
36
37
  }
37
38
  },
38
39
  mounted() {
@@ -18,6 +18,7 @@
18
18
  tw-bg-opacity-[75%]
19
19
  "
20
20
  :class="{'tw-min-h-screen' : variant === 'lightbox'}"
21
+ :style="webkitCSSFix"
21
22
  @click.stop.prevent="onScreenClick"
22
23
  >
23
24
  <focus-lock
@@ -44,17 +45,19 @@
44
45
  tw-bg-primary
45
46
  tw-flex tw-flex-col
46
47
  tw-mx-auto md:tw-my-auto
48
+
47
49
  "
48
50
  :class="{
51
+ 'tw-w-full md:tw-w-auto' : variant === 'lightbox',
49
52
  'tw-mt-auto md:tw-my-auto' : variant === 'lightbox',
50
53
  'tw-min-h-half-screen md:tw-min-h-0' : variant === 'lightbox',
51
54
  'tw-rounded-t md:tw-rounded' : variant === 'lightbox',
52
55
  'tw-my-auto tw-rounded' : variant === 'alert',
53
56
  }"
54
- style="max-width: 55.55rem; max-height: 90vh"
57
+ style="max-width: 55.55rem; max-height: 90%"
55
58
  aria-modal="true"
56
59
  :aria-label="title ? title : null"
57
- :aria-describedby="variant === 'alert' ? kvLightboxBody : null"
60
+ :aria-describedby="variant === 'alert' ? 'kvLightboxBody' : null"
58
61
  :role="role"
59
62
  @click.stop
60
63
  >
@@ -206,6 +209,13 @@ export default {
206
209
  };
207
210
  },
208
211
  computed: {
212
+ // Reference: https://allthingssmitty.com/2020/05/11/css-fix-for-100vh-in-mobile-webkit/
213
+ webkitCSSFix() {
214
+ if (this.variant === 'lightbox') {
215
+ return 'min-height: -webkit-fill-available';
216
+ }
217
+ return '';
218
+ },
209
219
  role() {
210
220
  if (this.variant === 'alert') {
211
221
  return 'alertdialog';
@@ -56,6 +56,75 @@ const DefaultTemplate = (args, { argTypes }) => ({
56
56
  },
57
57
  });
58
58
 
59
+ const VeryShortTemplate = (args, { argTypes }) => ({
60
+ props: Object.keys(argTypes),
61
+ components: { KvLightbox, KvButton },
62
+ template: `
63
+ <div>
64
+ <kv-button @click="isLightboxVisible = true;">Show {{variant}}</kv-button>
65
+ <p>The lightbox is visible: {{isLightboxVisible}}</p>
66
+
67
+ <kv-lightbox
68
+ :visible="isLightboxVisible"
69
+ :title="title"
70
+ :variant="variant"
71
+ :prevent-close="preventClose"
72
+ @lightbox-closed="isLightboxVisible = false"
73
+ >
74
+ <p class="tw-mb-2">The lightbox content is very short.</p>
75
+ <template #controls>
76
+ <kv-button variant="secondary" @click="isLightboxVisible = false" ref="dontDoItRef">Don't do it!</kv-button>
77
+ <kv-button @click="isLightboxVisible = false" ref="doItRef">Do it!</kv-button>
78
+ </template>
79
+ </kv-lightbox>
80
+ </div>
81
+ `,
82
+ data() {
83
+ return {
84
+ isLightboxVisible: args.visible,
85
+ };
86
+ },
87
+ });
88
+
89
+ const VeryLongTemplate = (args, { argTypes }) => ({
90
+ props: Object.keys(argTypes),
91
+ components: { KvLightbox, KvButton },
92
+ template: `
93
+ <div>
94
+ <kv-button @click="isLightboxVisible = true;">Show {{variant}}</kv-button>
95
+ <p>The lightbox is visible: {{isLightboxVisible}}</p>
96
+
97
+ <kv-lightbox
98
+ :visible="isLightboxVisible"
99
+ :title="title"
100
+ :variant="variant"
101
+ :prevent-close="preventClose"
102
+ @lightbox-closed="isLightboxVisible = false"
103
+ >
104
+ <p class="tw-mb-2">Lorem ipsum dolor sit amet consectetur adipisicing elit. Exercitationem voluptatum quod illum minima alias quae non architecto ipsum sunt repudiandae eius ipsa commodi adipisci nam, magni praesentium error, deleniti impedit!
105
+ Qui sint repudiandae incidunt odit distinctio neque repellendus, soluta culpa. Vero rem, odit laudantium autem quis facilis ratione omnis aut voluptas, velit vitae adipisci? Magni iure animi doloribus illum soluta.
106
+ Enim aspernatur non accusantium aut minima, quos maxime? Perferendis suscipit enim laborum, recusandae fugit praesentium fugiat animi cumque voluptatum voluptate labore dolore quaerat libero esse quasi magnam tempore id autem.
107
+ Nisi voluptas architecto dolores aut perspiciatis itaque, est reprehenderit tempora. Animi dicta laudantium repudiandae facere atque omnis voluptatem, incidunt ipsum, accusantium minima aspernatur modi soluta molestiae neque quam doloremque nemo.
108
+ Neque delectus quidem sapiente facere consequuntur maiores molestiae vel! Quidem, veniam. Libero labore voluptatibus id corporis molestias cumque magnam maiores praesentium laborum? Voluptate, porro eum. Recusandae earum rerum quis quos.
109
+ Cupiditate ea quas non ut adipisci illum dolorem eligendi sequi quod, doloribus suscipit assumenda ullam aliquid ad repudiandae dignissimos optio, possimus molestiae voluptate vel! Esse fuga praesentium maxime animi nihil.
110
+ Sint, est? Maiores commodi adipisci minus itaque nisi dolorum, velit fugiat est quia saepe ipsum quo nobis mollitia repellendus facilis, quos hic facere! Tenetur sint corporis dignissimos molestias saepe ipsa?
111
+ Excepturi, praesentium quisquam veritatis quaerat eligendi explicabo vitae sit minima recusandae. Dolorum molestiae, vero nulla eum sunt exercitationem dolore ipsum quos ea doloribus reprehenderit aliquam quibusdam vel veniam ex quis.
112
+ Corporis, neque cum pariatur saepe inventore sunt, maiores sed deserunt beatae quasi non sint vitae error incidunt odio nam amet quisquam! Mollitia, suscipit earum. Molestiae nesciunt fugit ea cupiditate rerum?
113
+ Placeat, atque sit unde sunt fugit reprehenderit tenetur provident similique odio accusamus, suscipit quod doloribus aliquam animi quia quae laboriosam natus aspernatur repellendus tempore itaque expedita! Optio adipisci amet excepturi!</p>
114
+ <template #controls>
115
+ <kv-button variant="secondary" @click="isLightboxVisible = false" ref="dontDoItRef">Don't do it!</kv-button>
116
+ <kv-button @click="isLightboxVisible = false" ref="doItRef">Do it!</kv-button>
117
+ </template>
118
+ </kv-lightbox>
119
+ </div>
120
+ `,
121
+ data() {
122
+ return {
123
+ isLightboxVisible: args.visible,
124
+ };
125
+ },
126
+ });
127
+
59
128
  const AlertTemplate = (args, { argTypes }) => ({
60
129
  props: Object.keys(argTypes),
61
130
  components: { KvLightbox, KvButton },
@@ -91,6 +160,16 @@ Lightbox.args = {
91
160
  title: 'Lightbox Title',
92
161
  };
93
162
 
163
+ export const ShortContentLightbox = VeryShortTemplate.bind({});
164
+ ShortContentLightbox.args = {
165
+ title: 'Short Lightbox Title',
166
+ };
167
+
168
+ export const LongContentLightbox = VeryLongTemplate.bind({});
169
+ LongContentLightbox.args = {
170
+ title: 'Long Lightbox Title',
171
+ };
172
+
94
173
  export const Alert = AlertTemplate.bind({});
95
174
  Alert.args = {
96
175
  title: 'Delete credit card?',
@@ -236,7 +236,7 @@ export const Primitives = (args, { argTypes }) => ({
236
236
  >
237
237
  <button
238
238
  class="tw-text-left tw-font-book hover:tw-text-action-highlight"
239
- @click="copy(buildClassName('text', typeStyle))"
239
+ @click="copy(buildClassName('tw-text', typeStyle))"
240
240
  >
241
241
  <p
242
242
  class="tw-mb-1"