@namelivia/vue-components 0.1.7 → 0.1.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.
- package/dist/index.esm.js +28 -4
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +28 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/MobileMenuButton.vue +16 -33
- package/src/MobileNavigationLinks.vue +22 -9
- package/src/Navbar.vue +13 -3
package/dist/index.esm.js
CHANGED
|
@@ -283,7 +283,7 @@ staticRenderFns: [],
|
|
|
283
283
|
};
|
|
284
284
|
|
|
285
285
|
var MobileNavigationLinks = {
|
|
286
|
-
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)])},
|
|
286
|
+
render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"enter-active-class":"transition-all","leave-active-class":"transition-all","enter-class":"opacity-0 scale-70","enter-to-class":"opacity-100 scale-100","leave-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-70"}},[(_vm.open)?_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)]):_vm._e()])},
|
|
287
287
|
staticRenderFns: [],
|
|
288
288
|
components: {
|
|
289
289
|
MobileNavigationLink: MobileNavigationLink,
|
|
@@ -292,6 +292,10 @@ staticRenderFns: [],
|
|
|
292
292
|
links: {
|
|
293
293
|
type: Array,
|
|
294
294
|
},
|
|
295
|
+
open: {
|
|
296
|
+
type: Boolean,
|
|
297
|
+
default: false,
|
|
298
|
+
},
|
|
295
299
|
},
|
|
296
300
|
};
|
|
297
301
|
|
|
@@ -352,13 +356,23 @@ staticRenderFns: [],
|
|
|
352
356
|
};
|
|
353
357
|
|
|
354
358
|
var MobileMenuButton = {
|
|
355
|
-
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",
|
|
359
|
+
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"},on:{"click":_vm.onClick}},[_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"}},[_c('path',{attrs:{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2","d":"M4 6h16M4 12h16M4 18h16"}})])])},
|
|
356
360
|
staticRenderFns: [],
|
|
357
|
-
|
|
361
|
+
props: {
|
|
362
|
+
open: {
|
|
363
|
+
type: Boolean,
|
|
364
|
+
default: false
|
|
365
|
+
},
|
|
366
|
+
},
|
|
367
|
+
methods: {
|
|
368
|
+
onClick(evt) {
|
|
369
|
+
this.$emit('click', evt);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
358
372
|
};
|
|
359
373
|
|
|
360
374
|
var Navbar = {
|
|
361
|
-
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)},
|
|
375
|
+
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',{attrs:{"open":_vm.mobileMenuOpen},on:{"click":_vm.onMobileMenuClick}})],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,"open":_vm.mobileMenuOpen}})],1)},
|
|
362
376
|
staticRenderFns: [],
|
|
363
377
|
components: {
|
|
364
378
|
NavbarTitle: NavbarTitle,
|
|
@@ -367,6 +381,11 @@ staticRenderFns: [],
|
|
|
367
381
|
RightContent: RightContent,
|
|
368
382
|
MobileMenuButton: MobileMenuButton,
|
|
369
383
|
},
|
|
384
|
+
data() {
|
|
385
|
+
return {
|
|
386
|
+
mobileMenuOpen: false,
|
|
387
|
+
}
|
|
388
|
+
},
|
|
370
389
|
props: {
|
|
371
390
|
links: {
|
|
372
391
|
type: Array,
|
|
@@ -378,6 +397,11 @@ staticRenderFns: [],
|
|
|
378
397
|
type: String,
|
|
379
398
|
},
|
|
380
399
|
},
|
|
400
|
+
methods: {
|
|
401
|
+
onMobileMenuClick() {
|
|
402
|
+
this.mobileMenuOpen = !this.mobileMenuOpen;
|
|
403
|
+
},
|
|
404
|
+
}
|
|
381
405
|
};
|
|
382
406
|
|
|
383
407
|
export { Card, CardBody, CardGrid, CardImage, CheckBoxInput, DangerButton, ImageInput, Loading, Navbar, NumberInput, RegularButton, ResetButton, SecondaryButton, SectionTitle, Selector, SubmitButton, TextInput };
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +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/CheckBoxInput.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 <input\n :id=\"id\"\n :name=\"id\"\n :required=\"required\"\n :value=\"checked\"\n @input=\"onInput\"\n type=\"checkbox\"\n unchecked-value=\"false\"\n />\n <label class=\"block text-gray-700 text-sm font-bold\" :for=\"id\">\n {{ label }}\n </label>\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 checked: {\n type: Boolean,\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=\"amount\"\n :min=\"min\"\n :step=\"step\"\n @input=\"onInput\"\n type=\"number\"\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 amount: {\n type: Number,\n },\n min: {\n type: String,\n },\n step: {\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=\"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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"}
|
|
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/CheckBoxInput.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 <input\n :id=\"id\"\n :name=\"id\"\n :required=\"required\"\n :value=\"checked\"\n @input=\"onInput\"\n type=\"checkbox\"\n unchecked-value=\"false\"\n />\n <label class=\"block text-gray-700 text-sm font-bold\" :for=\"id\">\n {{ label }}\n </label>\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 checked: {\n type: Boolean,\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=\"amount\"\n :min=\"min\"\n :step=\"step\"\n @input=\"onInput\"\n type=\"number\"\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 amount: {\n type: Number,\n },\n min: {\n type: String,\n },\n step: {\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=\"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 <transition\n enter-active-class=\"transition-all\"\n leave-active-class=\"transition-all\"\n enter-class=\"opacity-0 scale-70\"\n enter-to-class=\"opacity-100 scale-100\"\n leave-class=\"opacity-100 scale-100\"\n leave-to-class=\"opacity-0 scale-70\"\n >\n <div id=\"mobile-menu\" class=\"sm:hidden\" v-if=\"open\">\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 </transition>\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 open: {\n type: Boolean,\n default: false,\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 v-on:click=\"onClick\"\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 >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M4 6h16M4 12h16M4 18h16\"\n />\n </svg>\n </button>\n</template>\n<script lang=\"js\">\nexport default {\n props: {\n open: {\n type: Boolean,\n default: false\n },\n },\n methods: {\n onClick(evt) {\n this.$emit('click', evt)\n }\n }\n}\n</script>\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 @click=\"onMobileMenuClick\" :open=\"mobileMenuOpen\"/>\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\" :open=\"mobileMenuOpen\" />\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 data() {\n return {\n mobileMenuOpen: false,\n }\n },\n props: {\n links: {\n type: Array,\n },\n locale: {\n type: String,\n },\n currentUserEmail: {\n type: String,\n },\n },\n methods: {\n onMobileMenuClick() {\n this.mobileMenuOpen = !this.mobileMenuOpen\n },\n }\n}\n</script>\n"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -287,7 +287,7 @@ staticRenderFns: [],
|
|
|
287
287
|
};
|
|
288
288
|
|
|
289
289
|
var MobileNavigationLinks = {
|
|
290
|
-
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)])},
|
|
290
|
+
render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"enter-active-class":"transition-all","leave-active-class":"transition-all","enter-class":"opacity-0 scale-70","enter-to-class":"opacity-100 scale-100","leave-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-70"}},[(_vm.open)?_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)]):_vm._e()])},
|
|
291
291
|
staticRenderFns: [],
|
|
292
292
|
components: {
|
|
293
293
|
MobileNavigationLink: MobileNavigationLink,
|
|
@@ -296,6 +296,10 @@ staticRenderFns: [],
|
|
|
296
296
|
links: {
|
|
297
297
|
type: Array,
|
|
298
298
|
},
|
|
299
|
+
open: {
|
|
300
|
+
type: Boolean,
|
|
301
|
+
default: false,
|
|
302
|
+
},
|
|
299
303
|
},
|
|
300
304
|
};
|
|
301
305
|
|
|
@@ -356,13 +360,23 @@ staticRenderFns: [],
|
|
|
356
360
|
};
|
|
357
361
|
|
|
358
362
|
var MobileMenuButton = {
|
|
359
|
-
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",
|
|
363
|
+
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"},on:{"click":_vm.onClick}},[_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"}},[_c('path',{attrs:{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2","d":"M4 6h16M4 12h16M4 18h16"}})])])},
|
|
360
364
|
staticRenderFns: [],
|
|
361
|
-
|
|
365
|
+
props: {
|
|
366
|
+
open: {
|
|
367
|
+
type: Boolean,
|
|
368
|
+
default: false
|
|
369
|
+
},
|
|
370
|
+
},
|
|
371
|
+
methods: {
|
|
372
|
+
onClick(evt) {
|
|
373
|
+
this.$emit('click', evt);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
362
376
|
};
|
|
363
377
|
|
|
364
378
|
var Navbar = {
|
|
365
|
-
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)},
|
|
379
|
+
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',{attrs:{"open":_vm.mobileMenuOpen},on:{"click":_vm.onMobileMenuClick}})],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,"open":_vm.mobileMenuOpen}})],1)},
|
|
366
380
|
staticRenderFns: [],
|
|
367
381
|
components: {
|
|
368
382
|
NavbarTitle: NavbarTitle,
|
|
@@ -371,6 +385,11 @@ staticRenderFns: [],
|
|
|
371
385
|
RightContent: RightContent,
|
|
372
386
|
MobileMenuButton: MobileMenuButton,
|
|
373
387
|
},
|
|
388
|
+
data() {
|
|
389
|
+
return {
|
|
390
|
+
mobileMenuOpen: false,
|
|
391
|
+
}
|
|
392
|
+
},
|
|
374
393
|
props: {
|
|
375
394
|
links: {
|
|
376
395
|
type: Array,
|
|
@@ -382,6 +401,11 @@ staticRenderFns: [],
|
|
|
382
401
|
type: String,
|
|
383
402
|
},
|
|
384
403
|
},
|
|
404
|
+
methods: {
|
|
405
|
+
onMobileMenuClick() {
|
|
406
|
+
this.mobileMenuOpen = !this.mobileMenuOpen;
|
|
407
|
+
},
|
|
408
|
+
}
|
|
385
409
|
};
|
|
386
410
|
|
|
387
411
|
exports.Card = Card;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.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/CheckBoxInput.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 <input\n :id=\"id\"\n :name=\"id\"\n :required=\"required\"\n :value=\"checked\"\n @input=\"onInput\"\n type=\"checkbox\"\n unchecked-value=\"false\"\n />\n <label class=\"block text-gray-700 text-sm font-bold\" :for=\"id\">\n {{ label }}\n </label>\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 checked: {\n type: Boolean,\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=\"amount\"\n :min=\"min\"\n :step=\"step\"\n @input=\"onInput\"\n type=\"number\"\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 amount: {\n type: Number,\n },\n min: {\n type: String,\n },\n step: {\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=\"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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"}
|
|
1
|
+
{"version":3,"file":"index.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/CheckBoxInput.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 <input\n :id=\"id\"\n :name=\"id\"\n :required=\"required\"\n :value=\"checked\"\n @input=\"onInput\"\n type=\"checkbox\"\n unchecked-value=\"false\"\n />\n <label class=\"block text-gray-700 text-sm font-bold\" :for=\"id\">\n {{ label }}\n </label>\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 checked: {\n type: Boolean,\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=\"amount\"\n :min=\"min\"\n :step=\"step\"\n @input=\"onInput\"\n type=\"number\"\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 amount: {\n type: Number,\n },\n min: {\n type: String,\n },\n step: {\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=\"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 <transition\n enter-active-class=\"transition-all\"\n leave-active-class=\"transition-all\"\n enter-class=\"opacity-0 scale-70\"\n enter-to-class=\"opacity-100 scale-100\"\n leave-class=\"opacity-100 scale-100\"\n leave-to-class=\"opacity-0 scale-70\"\n >\n <div id=\"mobile-menu\" class=\"sm:hidden\" v-if=\"open\">\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 </transition>\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 open: {\n type: Boolean,\n default: false,\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 v-on:click=\"onClick\"\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 >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M4 6h16M4 12h16M4 18h16\"\n />\n </svg>\n </button>\n</template>\n<script lang=\"js\">\nexport default {\n props: {\n open: {\n type: Boolean,\n default: false\n },\n },\n methods: {\n onClick(evt) {\n this.$emit('click', evt)\n }\n }\n}\n</script>\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 @click=\"onMobileMenuClick\" :open=\"mobileMenuOpen\"/>\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\" :open=\"mobileMenuOpen\" />\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 data() {\n return {\n mobileMenuOpen: false,\n }\n },\n props: {\n links: {\n type: Array,\n },\n locale: {\n type: String,\n },\n currentUserEmail: {\n type: String,\n },\n },\n methods: {\n onMobileMenuClick() {\n this.mobileMenuOpen = !this.mobileMenuOpen\n },\n }\n}\n</script>\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/MobileMenuButton.vue
CHANGED
|
@@ -2,24 +2,14 @@
|
|
|
2
2
|
<button
|
|
3
3
|
type="button"
|
|
4
4
|
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"
|
|
5
|
-
|
|
6
|
-
aria-expanded="false"
|
|
5
|
+
v-on:click="onClick"
|
|
7
6
|
>
|
|
8
|
-
<span class="sr-only">Open main menu</span>
|
|
9
|
-
<!--
|
|
10
|
-
Icon when menu is closed.
|
|
11
|
-
|
|
12
|
-
Heroicon name: outline/menu
|
|
13
|
-
|
|
14
|
-
Menu open: "hidden", Menu closed: "block"
|
|
15
|
-
-->
|
|
16
7
|
<svg
|
|
17
8
|
class="block h-6 w-6"
|
|
18
9
|
xmlns="http://www.w3.org/2000/svg"
|
|
19
10
|
fill="none"
|
|
20
11
|
viewBox="0 0 24 24"
|
|
21
12
|
stroke="currentColor"
|
|
22
|
-
aria-hidden="true"
|
|
23
13
|
>
|
|
24
14
|
<path
|
|
25
15
|
stroke-linecap="round"
|
|
@@ -28,27 +18,20 @@
|
|
|
28
18
|
d="M4 6h16M4 12h16M4 18h16"
|
|
29
19
|
/>
|
|
30
20
|
</svg>
|
|
31
|
-
<!--
|
|
32
|
-
Icon when menu is open.
|
|
33
|
-
|
|
34
|
-
Heroicon name: outline/x
|
|
35
|
-
|
|
36
|
-
Menu open: "block", Menu closed: "hidden"
|
|
37
|
-
-->
|
|
38
|
-
<svg
|
|
39
|
-
class="hidden h-6 w-6"
|
|
40
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
41
|
-
fill="none"
|
|
42
|
-
viewBox="0 0 24 24"
|
|
43
|
-
stroke="currentColor"
|
|
44
|
-
aria-hidden="true"
|
|
45
|
-
>
|
|
46
|
-
<path
|
|
47
|
-
stroke-linecap="round"
|
|
48
|
-
stroke-linejoin="round"
|
|
49
|
-
stroke-width="2"
|
|
50
|
-
d="M6 18L18 6M6 6l12 12"
|
|
51
|
-
/>
|
|
52
|
-
</svg>
|
|
53
21
|
</button>
|
|
54
22
|
</template>
|
|
23
|
+
<script lang="js">
|
|
24
|
+
export default {
|
|
25
|
+
props: {
|
|
26
|
+
open: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: false
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
methods: {
|
|
32
|
+
onClick(evt) {
|
|
33
|
+
this.$emit('click', evt)
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
</script>
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
<transition
|
|
3
|
+
enter-active-class="transition-all"
|
|
4
|
+
leave-active-class="transition-all"
|
|
5
|
+
enter-class="opacity-0 scale-70"
|
|
6
|
+
enter-to-class="opacity-100 scale-100"
|
|
7
|
+
leave-class="opacity-100 scale-100"
|
|
8
|
+
leave-to-class="opacity-0 scale-70"
|
|
9
|
+
>
|
|
10
|
+
<div id="mobile-menu" class="sm:hidden" v-if="open">
|
|
11
|
+
<div class="px-2 pt-2 pb-3 space-y-1">
|
|
12
|
+
<mobile-navigation-link
|
|
13
|
+
v-for="link in links"
|
|
14
|
+
:key="link.id"
|
|
15
|
+
:href="link.href"
|
|
16
|
+
:text="link.text"
|
|
17
|
+
/>
|
|
18
|
+
</div>
|
|
10
19
|
</div>
|
|
11
|
-
</
|
|
20
|
+
</transition>
|
|
12
21
|
</template>
|
|
13
22
|
<script>
|
|
14
23
|
import MobileNavigationLink from './MobileNavigationLink.vue'
|
|
@@ -21,6 +30,10 @@ export default {
|
|
|
21
30
|
links: {
|
|
22
31
|
type: Array,
|
|
23
32
|
},
|
|
33
|
+
open: {
|
|
34
|
+
type: Boolean,
|
|
35
|
+
default: false,
|
|
36
|
+
},
|
|
24
37
|
},
|
|
25
38
|
}
|
|
26
39
|
</script>
|
package/src/Navbar.vue
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
<div class="max-w-7xl mx-auto px-2 sm:px-6 lg:px-8">
|
|
4
4
|
<div class="relative flex items-center justify-between h-16">
|
|
5
5
|
<div class="absolute inset-y-0 left-0 flex items-center sm:hidden">
|
|
6
|
-
<mobile-menu-button />
|
|
6
|
+
<mobile-menu-button @click="onMobileMenuClick" :open="mobileMenuOpen"/>
|
|
7
7
|
</div>
|
|
8
8
|
<div
|
|
9
9
|
class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"
|
|
10
10
|
>
|
|
11
11
|
<navbar-title />
|
|
12
|
-
<navigation-links :links="links"
|
|
12
|
+
<navigation-links :links="links"/>
|
|
13
13
|
</div>
|
|
14
14
|
<right-content
|
|
15
15
|
:locale="locale"
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
/>
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
|
-
<mobile-navigation-links :links="links" />
|
|
20
|
+
<mobile-navigation-links :links="links" :open="mobileMenuOpen" />
|
|
21
21
|
</nav>
|
|
22
22
|
</template>
|
|
23
23
|
<script>
|
|
@@ -35,6 +35,11 @@ export default {
|
|
|
35
35
|
RightContent: RightContent,
|
|
36
36
|
MobileMenuButton: MobileMenuButton,
|
|
37
37
|
},
|
|
38
|
+
data() {
|
|
39
|
+
return {
|
|
40
|
+
mobileMenuOpen: false,
|
|
41
|
+
}
|
|
42
|
+
},
|
|
38
43
|
props: {
|
|
39
44
|
links: {
|
|
40
45
|
type: Array,
|
|
@@ -46,5 +51,10 @@ export default {
|
|
|
46
51
|
type: String,
|
|
47
52
|
},
|
|
48
53
|
},
|
|
54
|
+
methods: {
|
|
55
|
+
onMobileMenuClick() {
|
|
56
|
+
this.mobileMenuOpen = !this.mobileMenuOpen
|
|
57
|
+
},
|
|
58
|
+
}
|
|
49
59
|
}
|
|
50
60
|
</script>
|