@namelivia/vue-components 0.1.0 → 0.1.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.
@@ -0,0 +1,350 @@
1
+ var SectionTitle = {
2
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{staticClass:"text-center text-6xl leading-relaxed"},[_vm._v(" "+_vm._s(_vm.text)+" ")])},
3
+ staticRenderFns: [],
4
+ props: {
5
+ text: String,
6
+ },
7
+ };
8
+
9
+ var Loading = {
10
+ render: function(){var _vm=this;var _h=_vm.$createElement;_vm._self._c||_h;return _vm._m(0)},
11
+ staticRenderFns: [function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:"text-center.text-1xl.leading-relaxed"},[_vm._v(" Loading... ")]),_vm._v(" "),_c('div',{staticClass:"flex items-center justify-center space-x-2 animate-bounce"},[_c('div',{staticClass:"w-8 h-8 bg-blue-400 rounded-full"}),_vm._v(" "),_c('div',{staticClass:"w-8 h-8 bg-green-400 rounded-full"}),_vm._v(" "),_c('div',{staticClass:"w-8 h-8 bg-red-400 rounded-full"})])])}],
12
+ props: {
13
+ text: String,
14
+ },
15
+ };
16
+
17
+ var ResetButton = {
18
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:"bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded",attrs:{"type":"reset"}},[_vm._v(" "+_vm._s(_vm.text)+" ")])},
19
+ staticRenderFns: [],
20
+ props: {
21
+ text: String,
22
+ },
23
+ };
24
+
25
+ var SubmitButton = {
26
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded",attrs:{"type":"submit"}},[_vm._v(" "+_vm._s(_vm.text)+" ")])},
27
+ staticRenderFns: [],
28
+ props: {
29
+ text: String,
30
+ },
31
+ };
32
+
33
+ var RegularButton = {
34
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded",on:{"click":_vm.onClick}},[_vm._v(" "+_vm._s(_vm.text)+" ")])},
35
+ staticRenderFns: [],
36
+ props: {
37
+ text: String,
38
+ },
39
+ methods: {
40
+ onClick(evt) {
41
+ this.$emit('click', evt);
42
+ }
43
+ }
44
+ };
45
+
46
+ var SecondaryButton = {
47
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:"bg-gray-500 hover:bg-gray-700 text-white font-bold py-2 px-4 rounded",on:{"click":_vm.onClick}},[_vm._v(" "+_vm._s(_vm.text)+" ")])},
48
+ staticRenderFns: [],
49
+ props: {
50
+ text: String,
51
+ },
52
+ methods: {
53
+ onClick(evt) {
54
+ this.$emit('click', evt);
55
+ }
56
+ }
57
+ };
58
+
59
+ var DangerButton = {
60
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:"bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded",on:{"click":_vm.onClick}},[_vm._v(" "+_vm._s(_vm.text)+" ")])},
61
+ staticRenderFns: [],
62
+ props: {
63
+ text: String,
64
+ },
65
+ methods: {
66
+ onClick(evt) {
67
+ this.$emit('click', evt);
68
+ }
69
+ }
70
+ };
71
+
72
+ var Card = {
73
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"max-w-sm rounded overflow-hidden shadow-lg"},[_vm._t("default")],2)},
74
+ staticRenderFns: [],
75
+ stub: 1
76
+ };
77
+
78
+ var CardImage = {
79
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('img',{ref:"image",staticClass:"w-full",attrs:{"src":_vm.src,"alt":_vm.alt}})},
80
+ staticRenderFns: [],
81
+ props: {
82
+ src: String,
83
+ alt: String,
84
+ },
85
+ data: function () {
86
+ return {
87
+ imageWidth: 0,
88
+ }
89
+ },
90
+ methods: {
91
+ calculateWidth() {
92
+ return this.$refs.image.clientWidth
93
+ },
94
+ },
95
+ mounted: function () {
96
+ this.$emit('width', this.calculateWidth());
97
+ },
98
+ };
99
+
100
+ var CardBody = {
101
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"px-6 py-4"},[_c('div',{staticClass:"font-bold text-xl mb-2"},[_vm._v(_vm._s(_vm.title))]),_vm._v(" "),_c('p',{staticClass:"text-gray-700 text-base"},[_vm._t("default")],2)])},
102
+ staticRenderFns: [],
103
+ props: {
104
+ title: String,
105
+ },
106
+ };
107
+
108
+ var Selector = {
109
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"mb-4"},[_c('label',{staticClass:"block text-gray-700 text-sm font-bold mb-2",attrs:{"for":_vm.id}},[_vm._v("\n "+_vm._s(_vm.label)+"\n ")]),_vm._v(" "),_c('div',{staticClass:"relative"},[_c('select',{directives:[{name:"model",rawName:"v-model",value:(_vm.selected),expression:"selected"}],staticClass:"block appearance-none w-full bg-gray-200 border border-gray-200 text-gray-700 py-3 px-4 pr-8 rounded leading-tight focus:outline-none focus:bg-white focus:border-gray-500",attrs:{"id":_vm.id},on:{"change":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return val}); _vm.selected=$event.target.multiple ? $$selectedVal : $$selectedVal[0];},_vm.onChange]}},_vm._l((_vm.options),function(option){return _c('option',{key:option.value,attrs:{"disabled":option.disabled},domProps:{"value":option.value}},[_vm._v("\n "+_vm._s(option.text)+"\n ")])}),0),_vm._v(" "),_c('div',{staticClass:"pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700"},[_c('svg',{staticClass:"fill-current h-4 w-4",attrs:{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 20 20"}},[_c('path',{attrs:{"d":"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z"}})])])])])},
110
+ staticRenderFns: [],
111
+ props: {
112
+ id: {
113
+ type: String,
114
+ },
115
+ label: {
116
+ type: String,
117
+ },
118
+ options: {
119
+ type: Array,
120
+ },
121
+ },
122
+ data() {
123
+ return {
124
+ selected: '',
125
+ }
126
+ },
127
+ methods: {
128
+ onChange() {
129
+ this.$emit('selected', this.selected);
130
+ },
131
+ },
132
+ };
133
+
134
+ var TextInput = {
135
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"mb-4"},[_c('label',{staticClass:"block text-gray-700 text-sm font-bold mb-2",attrs:{"for":_vm.id}},[_vm._v("\n "+_vm._s(_vm.label)+"\n ")]),_vm._v(" "),_c('input',{staticClass:"shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline",attrs:{"id":_vm.id,"name":_vm.id,"required":_vm.required,"placeholder":_vm.placeholder,"type":"text"},domProps:{"value":_vm.text},on:{"input":_vm.onInput}})])},
136
+ staticRenderFns: [],
137
+ props: {
138
+ id: {
139
+ type: String,
140
+ },
141
+ required: {
142
+ type: Boolean,
143
+ },
144
+ placeholder: {
145
+ type: String,
146
+ },
147
+ label: {
148
+ type: String,
149
+ },
150
+ text: {
151
+ type: String,
152
+ },
153
+ },
154
+ methods: {
155
+ onInput(event) {
156
+ this.$emit('update', event.target.value);
157
+ },
158
+ },
159
+
160
+ };
161
+
162
+ var NumberInput = {
163
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"mb-4"},[_c('label',{staticClass:"block text-gray-700 text-sm font-bold mb-2",attrs:{"for":_vm.id}},[_vm._v("\n "+_vm._s(_vm.label)+"\n ")]),_vm._v(" "),_c('input',{staticClass:"shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline",attrs:{"id":_vm.id,"name":_vm.id,"required":_vm.required,"placeholder":_vm.placeholder,"type":"number","min":"1"},domProps:{"value":_vm.value},on:{"input":_vm.onInput}})])},
164
+ staticRenderFns: [],
165
+ props: {
166
+ id: {
167
+ type: String,
168
+ },
169
+ required: {
170
+ type: Boolean,
171
+ },
172
+ placeholder: {
173
+ type: String,
174
+ },
175
+ label: {
176
+ type: String,
177
+ },
178
+ value: {
179
+ type: Number,
180
+ },
181
+ },
182
+ methods: {
183
+ onInput(event) {
184
+ this.$emit('update', event.target.value);
185
+ },
186
+ },
187
+
188
+ };
189
+
190
+ var ImageInput = {
191
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"mb-4"},[_c('label',{staticClass:"block text-gray-700 text-sm font-bold mb-2",attrs:{"for":_vm.id}},[_vm._v("\n "+_vm._s(_vm.label)+"\n ")]),_vm._v(" "),_c('input',{staticClass:"shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline",attrs:{"id":_vm.id,"name":_vm.id,"required":_vm.required,"placeholder":_vm.placeholder,"drop-placeholder":_vm.dropPlaceholder,"type":"file","accept":"image/*"},domProps:{"value":_vm.file},on:{"input":_vm.onInput}})])},
192
+ staticRenderFns: [],
193
+ props: {
194
+ id: {
195
+ type: String,
196
+ },
197
+ required: {
198
+ type: Boolean,
199
+ },
200
+ placeholder: {
201
+ type: String,
202
+ },
203
+ dropPlaceholder: {
204
+ type: String,
205
+ },
206
+ label: {
207
+ type: String,
208
+ },
209
+ file: {
210
+ type: Object,
211
+ }
212
+ },
213
+ methods: {
214
+ onInput(event) {
215
+ this.$emit('update', event.target.files[0]);
216
+ },
217
+ },
218
+
219
+ };
220
+
221
+ var CardGrid = {
222
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"flex flex-wrap"},[_vm._t("default")],2)},
223
+ staticRenderFns: [],
224
+ stub: 1
225
+ };
226
+
227
+ var MobileNavigationLink = {
228
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{class:_vm.linkClass,attrs:{"href":_vm.href,"aria-current":"page"}},[_vm._v("\n "+_vm._s(_vm.text)+"\n")])},
229
+ staticRenderFns: [],
230
+ props: {
231
+ text: {
232
+ type: String,
233
+ },
234
+ href: {
235
+ type: String,
236
+ },
237
+ current: {
238
+ type: Boolean,
239
+ },
240
+ },
241
+ computed: {
242
+ linkClass: function () {
243
+ if (this.current) {
244
+ return 'bg-gray-900 text-white block px-3 py-2 rounded-md text-base font-medium'
245
+ }
246
+ return 'text-gray-300 hover:bg-gray-700 hover:text-white block px-3 py-2 rounded-md text-base font-medium'
247
+ },
248
+ },
249
+ };
250
+
251
+ var MobileNavigationLinks = {
252
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"sm:hidden",attrs:{"id":"mobile-menu"}},[_c('div',{staticClass:"px-2 pt-2 pb-3 space-y-1"},_vm._l((_vm.links),function(link){return _c('mobile-navigation-link',{key:link.id,attrs:{"href":link.href,"text":link.text}})}),1)])},
253
+ staticRenderFns: [],
254
+ components: {
255
+ MobileNavigationLink: MobileNavigationLink,
256
+ },
257
+ props: {
258
+ links: {
259
+ type: Array,
260
+ },
261
+ },
262
+ };
263
+
264
+ var NavigationLink = {
265
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{class:_vm.linkClass,attrs:{"href":_vm.href,"aria-current":"page"}},[_vm._v("\n "+_vm._s(_vm.text)+"\n")])},
266
+ staticRenderFns: [],
267
+ props: {
268
+ text: {
269
+ type: String,
270
+ },
271
+ href: {
272
+ type: String,
273
+ },
274
+ current: {
275
+ type: Boolean,
276
+ },
277
+ },
278
+ computed: {
279
+ linkClass: function () {
280
+ if (this.current) {
281
+ return 'bg-gray-900 text-white px-3 py-2 rounded-md text-sm font-medium'
282
+ }
283
+ return 'text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium'
284
+ },
285
+ },
286
+ };
287
+
288
+ var NavigationLinks = {
289
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"hidden sm:block sm:ml-6"},[_c('div',{staticClass:"flex space-x-4"},_vm._l((_vm.links),function(link){return _c('navigation-link',{key:link.id,attrs:{"href":link.href,"text":link.text}})}),1)])},
290
+ staticRenderFns: [],
291
+ components: {
292
+ NavigationLink: NavigationLink,
293
+ },
294
+ props: {
295
+ links: {
296
+ type: Array,
297
+ },
298
+ },
299
+ };
300
+
301
+ var NavbarTitle = {
302
+ render: function(){var _vm=this;var _h=_vm.$createElement;_vm._self._c||_h;return _vm._m(0)},
303
+ staticRenderFns: [function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"flex-shrink-0 flex items-center"},[_c('img',{staticClass:"block lg:hidden h-8 w-auto",attrs:{"src":"https://tailwindui.com/img/logos/workflow-mark-indigo-500.svg","alt":"Workflow"}}),_vm._v(" "),_c('img',{staticClass:"hidden lg:block h-8 w-auto",attrs:{"src":"https://tailwindui.com/img/logos/workflow-logo-indigo-500-mark-white-text.svg","alt":"Workflow"}})])}],
304
+ stub: 1
305
+ };
306
+
307
+ var RightContent = {
308
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"absolute inset-y-0 right-0 flex items-center pr-2 sm:static sm:inset-auto sm:ml-6 sm:pr-0"},[_c('span',{staticClass:"bg-gray-800 p-1 text-gray-400"},[_vm._v(" "+_vm._s(_vm.$i18n.locale))]),_vm._v(" "),_c('span',{staticClass:"bg-gray-800 p-1 text-gray-400"},[_vm._v(" "+_vm._s(_vm.currentUserEmail)+" ")])])},
309
+ staticRenderFns: [],
310
+ props: {
311
+ locale: {
312
+ type: String,
313
+ },
314
+ currentUserEmail: {
315
+ type: String,
316
+ },
317
+ },
318
+ };
319
+
320
+ var MobileMenuButton = {
321
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:"inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white",attrs:{"type":"button","aria-controls":"mobile-menu","aria-expanded":"false"}},[_c('span',{staticClass:"sr-only"},[_vm._v("Open main menu")]),_vm._v(" "),_c('svg',{staticClass:"block h-6 w-6",attrs:{"xmlns":"http://www.w3.org/2000/svg","fill":"none","viewBox":"0 0 24 24","stroke":"currentColor","aria-hidden":"true"}},[_c('path',{attrs:{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2","d":"M4 6h16M4 12h16M4 18h16"}})]),_vm._v(" "),_c('svg',{staticClass:"hidden h-6 w-6",attrs:{"xmlns":"http://www.w3.org/2000/svg","fill":"none","viewBox":"0 0 24 24","stroke":"currentColor","aria-hidden":"true"}},[_c('path',{attrs:{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2","d":"M6 18L18 6M6 6l12 12"}})])])},
322
+ staticRenderFns: [],
323
+ stub: 1
324
+ };
325
+
326
+ var Navbar = {
327
+ render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:"bg-gray-800"},[_c('div',{staticClass:"max-w-7xl mx-auto px-2 sm:px-6 lg:px-8"},[_c('div',{staticClass:"relative flex items-center justify-between h-16"},[_c('div',{staticClass:"absolute inset-y-0 left-0 flex items-center sm:hidden"},[_c('mobile-menu-button')],1),_vm._v(" "),_c('div',{staticClass:"flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"},[_c('navbar-title'),_vm._v(" "),_c('navigation-links',{attrs:{"links":_vm.links}})],1),_vm._v(" "),_c('right-content',{attrs:{"locale":_vm.locale,"current-user-email":_vm.currentUserEmail}})],1)]),_vm._v(" "),_c('mobile-navigation-links',{attrs:{"links":_vm.links}})],1)},
328
+ staticRenderFns: [],
329
+ components: {
330
+ NavbarTitle: NavbarTitle,
331
+ NavigationLinks: NavigationLinks,
332
+ MobileNavigationLinks: MobileNavigationLinks,
333
+ RightContent: RightContent,
334
+ MobileMenuButton: MobileMenuButton,
335
+ },
336
+ props: {
337
+ links: {
338
+ type: Array,
339
+ },
340
+ locale: {
341
+ type: String,
342
+ },
343
+ currentUserEmail: {
344
+ type: String,
345
+ },
346
+ },
347
+ };
348
+
349
+ export { Card, CardBody, CardGrid, CardImage, DangerButton, ImageInput, Loading, Navbar, NumberInput, RegularButton, ResetButton, SecondaryButton, SectionTitle, Selector, SubmitButton, TextInput };
350
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../src/SectionTitle.vue","../src/Loading.vue","../src/ResetButton.vue","../src/SubmitButton.vue","../src/RegularButton.vue","../src/SecondaryButton.vue","../src/DangerButton.vue","../src/Card.vue","../src/CardImage.vue","../src/CardBody.vue","../src/Selector.vue","../src/TextInput.vue","../src/NumberInput.vue","../src/ImageInput.vue","../src/CardGrid.vue","../src/MobileNavigationLink.vue","../src/MobileNavigationLinks.vue","../src/NavigationLink.vue","../src/NavigationLinks.vue","../src/NavbarTitle.vue","../src/RightContent.vue","../src/MobileMenuButton.vue","../src/Navbar.vue"],"sourcesContent":["<template>\n <h1 class=\"text-center text-6xl leading-relaxed\"> {{text}} </h1>\n</template>\n\n<script lang=\"js\">\nexport default {\n props: {\n text: String,\n },\n}\n</script>\n","<template>\n<div>\n <h1 class=\"text-center.text-1xl.leading-relaxed\"> Loading... </h1>\n <div class=\"flex items-center justify-center space-x-2 animate-bounce\">\n <div class=\"w-8 h-8 bg-blue-400 rounded-full\" />\n <div class=\"w-8 h-8 bg-green-400 rounded-full\" />\n <div class=\"w-8 h-8 bg-red-400 rounded-full\" />\n </div>\n</div>\n</template>\n\n<script lang=\"js\">\nexport default {\n props: {\n text: String,\n },\n}\n</script>\n","<template>\n <button type=\"reset\" class=\"bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded\"> {{text}} </button>\n</template>\n\n<script lang=\"js\">\nexport default {\n props: {\n text: String,\n },\n}\n</script>\n","<template>\n <button type=\"submit\" class=\"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\"> {{text}} </button>\n</template>\n\n<script lang=\"js\">\nexport default {\n props: {\n text: String,\n },\n}\n</script>\n","<template>\n <button v-on:click=\"onClick\" class=\"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\"> {{text}} </button>\n</template>\n\n<script lang=\"js\">\nexport default {\n props: {\n text: String,\n },\n methods: {\n onClick(evt) {\n this.$emit('click', evt)\n }\n }\n}\n</script>\n","<template>\n <button v-on:click=\"onClick\" class=\"bg-gray-500 hover:bg-gray-700 text-white font-bold py-2 px-4 rounded\"> {{text}} </button>\n</template>\n\n<script lang=\"js\">\nexport default {\n props: {\n text: String,\n },\n methods: {\n onClick(evt) {\n this.$emit('click', evt)\n }\n }\n}\n</script>\n","<template>\n <button v-on:click=\"onClick\" class=\"bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded\"> {{text}} </button>\n</template>\n\n<script lang=\"js\">\nexport default {\n props: {\n text: String,\n },\n methods: {\n onClick(evt) {\n this.$emit('click', evt)\n }\n }\n}\n</script>\n","<template>\n <div class=\"max-w-sm rounded overflow-hidden shadow-lg\">\n <slot></slot>\n </div>\n</template>\n","<template>\n <img class=\"w-full\" :src=\"src\" :alt=\"alt\" ref=\"image\"/>\n</template>\n\n<script lang=\"js\">\nexport default {\n props: {\n src: String,\n alt: String,\n },\n data: function () {\n return {\n imageWidth: 0,\n }\n },\n methods: {\n calculateWidth() {\n return this.$refs.image.clientWidth\n },\n },\n mounted: function () {\n this.$emit('width', this.calculateWidth())\n },\n}\n</script>\n","<template>\n <div class=\"px-6 py-4\">\n <div class=\"font-bold text-xl mb-2\">{{ title }}</div>\n <p class=\"text-gray-700 text-base\">\n <slot></slot>\n </p>\n </div>\n</template>\n\n<script lang=\"js\">\nexport default {\n props: {\n title: String,\n },\n}\n</script>\n","<template>\n <div class=\"mb-4\">\n <label class=\"block text-gray-700 text-sm font-bold mb-2\" :for=\"id\">\n {{ label }}\n </label>\n <div class=\"relative\">\n <select\n :id=\"id\"\n v-model=\"selected\"\n class=\"block appearance-none w-full bg-gray-200 border border-gray-200 text-gray-700 py-3 px-4 pr-8 rounded leading-tight focus:outline-none focus:bg-white focus:border-gray-500\"\n @change=\"onChange\"\n >\n <option\n v-for=\"option in options\"\n :key=\"option.value\"\n :value=\"option.value\"\n :disabled=\"option.disabled\"\n >\n {{ option.text }}\n </option>\n </select>\n <div\n class=\"pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700\"\n >\n <svg\n class=\"fill-current h-4 w-4\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n >\n <path\n d=\"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z\"\n />\n </svg>\n </div>\n </div>\n </div>\n</template>\n<script>\nexport default {\n props: {\n id: {\n type: String,\n },\n label: {\n type: String,\n },\n options: {\n type: Array,\n },\n },\n data() {\n return {\n selected: '',\n }\n },\n methods: {\n onChange() {\n this.$emit('selected', this.selected)\n },\n },\n}\n</script>\n","<template>\n <div class=\"mb-4\">\n <label class=\"block text-gray-700 text-sm font-bold mb-2\" :for=\"id\">\n {{ label }}\n </label>\n <input\n class=\"shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline\"\n :id=\"id\"\n :name=\"id\"\n :required=\"required\"\n :placeholder=\"placeholder\"\n :value=\"text\"\n @input=\"onInput\"\n type=\"text\"\n />\n </div>\n</template>\n<script>\nexport default {\n props: {\n id: {\n type: String,\n },\n required: {\n type: Boolean,\n },\n placeholder: {\n type: String,\n },\n label: {\n type: String,\n },\n text: {\n type: String,\n },\n },\n methods: {\n onInput(event) {\n this.$emit('update', event.target.value)\n },\n },\n\n}\n</script>\n","<template>\n <div class=\"mb-4\">\n <label class=\"block text-gray-700 text-sm font-bold mb-2\" :for=\"id\">\n {{ label }}\n </label>\n <input\n class=\"shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline\"\n :id=\"id\"\n :name=\"id\"\n :required=\"required\"\n :placeholder=\"placeholder\"\n :value=\"value\"\n @input=\"onInput\"\n type=\"number\"\n min=\"1\"\n />\n </div>\n</template>\n<script>\nexport default {\n props: {\n id: {\n type: String,\n },\n required: {\n type: Boolean,\n },\n placeholder: {\n type: String,\n },\n label: {\n type: String,\n },\n value: {\n type: Number,\n },\n },\n methods: {\n onInput(event) {\n this.$emit('update', event.target.value)\n },\n },\n\n}\n</script>\n","<template>\n <div class=\"mb-4\">\n <label class=\"block text-gray-700 text-sm font-bold mb-2\" :for=\"id\">\n {{ label }}\n </label>\n <input\n class=\"shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline\"\n :id=\"id\"\n :name=\"id\"\n :required=\"required\"\n :placeholder=\"placeholder\"\n :value=\"file\"\n :drop-placeholder=\"dropPlaceholder\"\n @input=\"onInput\"\n type=\"file\"\n accept=\"image/*\"\n />\n </div>\n</template>\n<script>\nexport default {\n props: {\n id: {\n type: String,\n },\n required: {\n type: Boolean,\n },\n placeholder: {\n type: String,\n },\n dropPlaceholder: {\n type: String,\n },\n label: {\n type: String,\n },\n file: {\n type: Object,\n }\n },\n methods: {\n onInput(event) {\n this.$emit('update', event.target.files[0])\n },\n },\n\n}\n</script>\n","<template>\n <div class=\"flex flex-wrap\">\n <slot></slot>\n </div>\n</template>\n","<template>\n <a :href=\"href\" :class=\"linkClass\" aria-current=\"page\">\n {{ text }}\n </a>\n</template>\n<script>\nexport default {\n props: {\n text: {\n type: String,\n },\n href: {\n type: String,\n },\n current: {\n type: Boolean,\n },\n },\n computed: {\n linkClass: function () {\n if (this.current) {\n return 'bg-gray-900 text-white block px-3 py-2 rounded-md text-base font-medium'\n }\n return 'text-gray-300 hover:bg-gray-700 hover:text-white block px-3 py-2 rounded-md text-base font-medium'\n },\n },\n}\n</script>\n","<template>\n <div id=\"mobile-menu\" class=\"sm:hidden\">\n <div class=\"px-2 pt-2 pb-3 space-y-1\">\n <mobile-navigation-link\n v-for=\"link in links\"\n :key=\"link.id\"\n :href=\"link.href\"\n :text=\"link.text\"\n />\n </div>\n </div>\n</template>\n<script>\nimport MobileNavigationLink from './MobileNavigationLink.vue'\n\nexport default {\n components: {\n MobileNavigationLink: MobileNavigationLink,\n },\n props: {\n links: {\n type: Array,\n },\n },\n}\n</script>\n","<template>\n <a :href=\"href\" :class=\"linkClass\" aria-current=\"page\">\n {{ text }}\n </a>\n</template>\n<script>\nexport default {\n props: {\n text: {\n type: String,\n },\n href: {\n type: String,\n },\n current: {\n type: Boolean,\n },\n },\n computed: {\n linkClass: function () {\n if (this.current) {\n return 'bg-gray-900 text-white px-3 py-2 rounded-md text-sm font-medium'\n }\n return 'text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium'\n },\n },\n}\n</script>\n","<template>\n <div class=\"hidden sm:block sm:ml-6\">\n <div class=\"flex space-x-4\">\n <navigation-link\n v-for=\"link in links\"\n :key=\"link.id\"\n :href=\"link.href\"\n :text=\"link.text\"\n />\n </div>\n </div>\n</template>\n<script>\nimport NavigationLink from './NavigationLink.vue'\n\nexport default {\n components: {\n NavigationLink: NavigationLink,\n },\n props: {\n links: {\n type: Array,\n },\n },\n}\n</script>\n","<template>\n <div class=\"flex-shrink-0 flex items-center\">\n <img\n class=\"block lg:hidden h-8 w-auto\"\n src=\"https://tailwindui.com/img/logos/workflow-mark-indigo-500.svg\"\n alt=\"Workflow\"\n />\n <img\n class=\"hidden lg:block h-8 w-auto\"\n src=\"https://tailwindui.com/img/logos/workflow-logo-indigo-500-mark-white-text.svg\"\n alt=\"Workflow\"\n />\n </div>\n</template>\n","<template>\n <div\n class=\"absolute inset-y-0 right-0 flex items-center pr-2 sm:static sm:inset-auto sm:ml-6 sm:pr-0\"\n >\n <span class=\"bg-gray-800 p-1 text-gray-400\"> {{ $i18n.locale }}</span>\n <span class=\"bg-gray-800 p-1 text-gray-400\"> {{ currentUserEmail }} </span>\n </div>\n</template>\n<script>\nexport default {\n props: {\n locale: {\n type: String,\n },\n currentUserEmail: {\n type: String,\n },\n },\n}\n</script>\n","<template>\n <button\n type=\"button\"\n class=\"inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white\"\n aria-controls=\"mobile-menu\"\n aria-expanded=\"false\"\n >\n <span class=\"sr-only\">Open main menu</span>\n <!--\n Icon when menu is closed.\n\n Heroicon name: outline/menu\n\n Menu open: \"hidden\", Menu closed: \"block\"\n-->\n <svg\n class=\"block h-6 w-6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M4 6h16M4 12h16M4 18h16\"\n />\n </svg>\n <!--\n Icon when menu is open.\n\n Heroicon name: outline/x\n\n Menu open: \"block\", Menu closed: \"hidden\"\n-->\n <svg\n class=\"hidden h-6 w-6\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M6 18L18 6M6 6l12 12\"\n />\n </svg>\n </button>\n</template>\n","<template>\n <nav class=\"bg-gray-800\">\n <div class=\"max-w-7xl mx-auto px-2 sm:px-6 lg:px-8\">\n <div class=\"relative flex items-center justify-between h-16\">\n <div class=\"absolute inset-y-0 left-0 flex items-center sm:hidden\">\n <mobile-menu-button />\n </div>\n <div\n class=\"flex-1 flex items-center justify-center sm:items-stretch sm:justify-start\"\n >\n <navbar-title />\n <navigation-links :links=\"links\" />\n </div>\n <right-content\n :locale=\"locale\"\n :current-user-email=\"currentUserEmail\"\n />\n </div>\n </div>\n <mobile-navigation-links :links=\"links\" />\n </nav>\n</template>\n<script>\nimport MobileNavigationLinks from './MobileNavigationLinks.vue'\nimport NavigationLinks from './NavigationLinks.vue'\nimport NavbarTitle from './NavbarTitle.vue'\nimport RightContent from './RightContent.vue'\nimport MobileMenuButton from './MobileMenuButton.vue'\n\nexport default {\n components: {\n NavbarTitle: NavbarTitle,\n NavigationLinks: NavigationLinks,\n MobileNavigationLinks: MobileNavigationLinks,\n RightContent: RightContent,\n MobileMenuButton: MobileMenuButton,\n },\n props: {\n links: {\n type: Array,\n },\n locale: {\n type: String,\n },\n currentUserEmail: {\n type: String,\n },\n },\n}\n</script>\n"],"names":[],"mappings":"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"}