diff --git a/package-lock.json b/package-lock.json index 33c2a51..da6f44a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@headlessui/vue": "^1.7.16", "@heroicons/vue": "^2.0.18", "@lottiefiles/lottie-player": "^2.0.2", + "@phosphor-icons/vue": "^2.1.6", "@types/qs": "^6.9.9", "@types/uuid": "^9.0.2", "devextreme": "23.1.5", @@ -500,9 +501,9 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", - "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.22.13", @@ -1191,6 +1192,17 @@ "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", "dev": true }, + "node_modules/@phosphor-icons/vue": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@phosphor-icons/vue/-/vue-2.1.6.tgz", + "integrity": "sha512-j4iVvNT4JbDR2udIVfakKZHd14i3jCvO4b24OC0W/1rasftU8qVg1Tnb3QDwAT0teNU+UxvaM+kCWxfGHC2dUg==", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "vue": ">=3.2.39" + } + }, "node_modules/@pkgr/utils": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", @@ -9492,9 +9504,9 @@ } }, "@babel/traverse": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", - "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "requires": { "@babel/code-frame": "^7.22.13", @@ -9917,6 +9929,12 @@ "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", "dev": true }, + "@phosphor-icons/vue": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@phosphor-icons/vue/-/vue-2.1.6.tgz", + "integrity": "sha512-j4iVvNT4JbDR2udIVfakKZHd14i3jCvO4b24OC0W/1rasftU8qVg1Tnb3QDwAT0teNU+UxvaM+kCWxfGHC2dUg==", + "requires": {} + }, "@pkgr/utils": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", diff --git a/package.json b/package.json index 6076041..1c9a2ab 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "@headlessui/vue": "^1.7.16", "@heroicons/vue": "^2.0.18", "@lottiefiles/lottie-player": "^2.0.2", + "@phosphor-icons/vue": "^2.1.6", "@types/qs": "^6.9.9", "@types/uuid": "^9.0.2", "devextreme": "23.1.5", diff --git a/src/assets/css/style.css b/src/assets/css/style.css index 6ddbd1a..d2c872c 100644 --- a/src/assets/css/style.css +++ b/src/assets/css/style.css @@ -705,6 +705,40 @@ select { --tw-backdrop-sepia: ; } +.container { + width: 100%; +} + +@media (min-width: 640px) { + .container { + max-width: 640px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 768px; + } +} + +@media (min-width: 1024px) { + .container { + max-width: 1024px; + } +} + +@media (min-width: 1280px) { + .container { + max-width: 1280px; + } +} + +@media (min-width: 1536px) { + .container { + max-width: 1536px; + } +} + /* NavBar */ .menu-item { @@ -925,6 +959,10 @@ select { top: 50%; } +.top-16 { + top: 4rem; +} + .top-3 { top: 0.75rem; } @@ -1026,6 +1064,10 @@ select { margin-bottom: 2rem; } +.me-1 { + margin-inline-end: 0.25rem; +} + .ml-1 { margin-left: 0.25rem; } @@ -1278,6 +1320,10 @@ select { width: 1.5rem; } +.w-72 { + width: 18rem; +} + .w-8 { width: 2rem; } @@ -1414,6 +1460,16 @@ select { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } +@keyframes spin { + to { + transform: rotate(360deg); + } +} + +.animate-spin { + animation: spin 1s linear infinite; +} + .cursor-default { cursor: default; } @@ -1485,6 +1541,14 @@ select { gap: 0.25rem; } +.gap-2 { + gap: 0.5rem; +} + +.gap-3 { + gap: 0.75rem; +} + .gap-4 { gap: 1rem; } @@ -1581,6 +1645,10 @@ select { border-radius: 0.25rem; } +.rounded-2xl { + border-radius: 1rem; +} + .rounded-full { border-radius: 9999px; } @@ -1682,6 +1750,11 @@ select { border-color: rgb(209 213 219 / var(--tw-border-opacity)); } +.border-primary-500 { + --tw-border-opacity: 1; + border-color: rgb(3 91 113 / var(--tw-border-opacity)); +} + .border-transparent { border-color: transparent; } @@ -1696,6 +1769,11 @@ select { background-color: rgb(243 244 246 / var(--tw-bg-opacity)); } +.bg-gray-200 { + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity)); +} + .bg-gray-300 { --tw-bg-opacity: 1; background-color: rgb(209 213 219 / var(--tw-bg-opacity)); @@ -1825,6 +1903,14 @@ select { --tw-bg-opacity: 0.8; } +.bg-none { + background-image: none; +} + +.fill-gray-400 { + fill: #9ca3af; +} + .bg-opacity-100 { --tw-bg-opacity: 1; } @@ -1878,6 +1964,10 @@ select { padding: 1rem; } +.p-5 { + padding: 1.25rem; +} + .\!px-2 { padding-left: 0.5rem !important; padding-right: 0.5rem !important; @@ -2359,6 +2449,10 @@ select { opacity: 1; } +.opacity-25 { + opacity: 0.25; +} + .opacity-30 { opacity: 0.3; } @@ -2371,6 +2465,10 @@ select { opacity: 0.5; } +.opacity-75 { + opacity: 0.75; +} + .shadow { --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); @@ -2412,6 +2510,10 @@ select { --tw-shadow: var(--tw-shadow-colored); } +.outline { + outline-style: solid; +} + .outline-0 { outline-width: 0px; } @@ -2572,6 +2674,11 @@ select { color: rgb(75 85 99 / var(--tw-text-opacity)); } +.hover\:border-primary-500:hover { + --tw-border-opacity: 1; + border-color: rgb(3 91 113 / var(--tw-border-opacity)); +} + .hover\:bg-gray-200:hover { --tw-bg-opacity: 1; background-color: rgb(229 231 235 / var(--tw-bg-opacity)); @@ -2597,6 +2704,16 @@ select { background-color: rgb(205 222 227 / var(--tw-bg-opacity)); } +.hover\:bg-primary-200:hover { + --tw-bg-opacity: 1; + background-color: rgb(154 189 198 / var(--tw-bg-opacity)); +} + +.hover\:bg-primary-600:hover { + --tw-bg-opacity: 1; + background-color: rgb(2 73 90 / var(--tw-bg-opacity)); +} + .hover\:bg-red-500:hover { --tw-bg-opacity: 1; background-color: rgb(255 0 0 / var(--tw-bg-opacity)); @@ -2768,11 +2885,38 @@ select { cursor: not-allowed; } +.disabled\:border-primary-300:disabled { + --tw-border-opacity: 1; + border-color: rgb(104 157 170 / var(--tw-border-opacity)); +} + +.disabled\:bg-primary-200:disabled { + --tw-bg-opacity: 1; + background-color: rgb(154 189 198 / var(--tw-bg-opacity)); +} + +.disabled\:bg-primary-300:disabled { + --tw-bg-opacity: 1; + background-color: rgb(104 157 170 / var(--tw-bg-opacity)); +} + .disabled\:bg-primary-400:disabled { --tw-bg-opacity: 1; background-color: rgb(53 124 141 / var(--tw-bg-opacity)); } +.disabled\:text-primary-300:disabled { + --tw-text-opacity: 1; + color: rgb(104 157 170 / var(--tw-text-opacity)); +} + +.disabled\:text-primary-400:disabled { + --tw-text-opacity: 1; + color: rgb(53 124 141 / var(--tw-text-opacity)); +} + +.group:hover .group-hover\:fill-gray-500 { + fill: #6b7280; .group:hover .group-hover\:block { display: block; } @@ -3348,6 +3492,10 @@ select { width: fit-content; } + .lg\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .lg\:flex-nowrap { flex-wrap: nowrap; } diff --git a/src/components/Button.vue b/src/components/Button.vue new file mode 100644 index 0000000..300a4e3 --- /dev/null +++ b/src/components/Button.vue @@ -0,0 +1,88 @@ + + + diff --git a/src/components/Form/Filters.vue b/src/components/Form/Filters.vue new file mode 100644 index 0000000..c320c86 --- /dev/null +++ b/src/components/Form/Filters.vue @@ -0,0 +1,44 @@ + + + \ No newline at end of file diff --git a/src/components/Form/FiltersType/Type1.vue b/src/components/Form/FiltersType/Type1.vue new file mode 100644 index 0000000..b649876 --- /dev/null +++ b/src/components/Form/FiltersType/Type1.vue @@ -0,0 +1,67 @@ + \ No newline at end of file diff --git a/src/components/Form/FiltersType/Type2.vue b/src/components/Form/FiltersType/Type2.vue new file mode 100644 index 0000000..5d35270 --- /dev/null +++ b/src/components/Form/FiltersType/Type2.vue @@ -0,0 +1,61 @@ + + + \ No newline at end of file diff --git a/src/components/Input.vue b/src/components/Input.vue new file mode 100644 index 0000000..68a87b9 --- /dev/null +++ b/src/components/Input.vue @@ -0,0 +1,58 @@ + + + \ No newline at end of file diff --git a/src/components/InputText.vue b/src/components/InputText.vue index f09040e..e51eb58 100644 --- a/src/components/InputText.vue +++ b/src/components/InputText.vue @@ -46,7 +46,7 @@ const switchInputType = () => {
+ :class="['w-full px-4 py-2 text-sm leading-6 placeholder:text-gray-400 text-gray-900 border-0 border-transparent rounded-lg outline-0 bg-gray-200 focus:outline-0 focus:border-0 focus:ring-0']" /> + import Filters from '@/components/Form/Filters.vue' + import Type2 from '@/components/Form/FiltersType/Type2.vue' + + +
+ + + +
+ + + +