mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-29 12:41:10 -04:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			dark-empty
			...
			dark-table
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 443743c3ed | 
| @ -437,22 +437,21 @@ export default { | |||||||
|       required: false, |       required: false, | ||||||
|       default: () => ({ |       default: () => ({ | ||||||
|         container: |         container: | ||||||
|           'p-0 relative mx-auto w-full flex items-center justify-end box-border cursor-pointer border border-gray-200 dark:border-gray-600 rounded-md bg-white dark:bg-gray-700 text-sm leading-snug outline-none max-h-10', |           'p-0 relative mx-auto w-full flex items-center justify-end box-border cursor-pointer border border-gray-200 rounded-md bg-white text-sm leading-snug outline-none max-h-10', | ||||||
|         containerDisabled: |         containerDisabled: | ||||||
|           'bg-gray-200 bg-opacity-50 !text-gray-400 dark:!text-gray-800 !dark:text-gray-500 !cursor-default dark:opacity-25', |           'cursor-default bg-gray-200 bg-opacity-50 !text-gray-400', | ||||||
|         containerOpen: '', |         containerOpen: '', | ||||||
|         containerOpenTop: '', |         containerOpenTop: '', | ||||||
|         containerActive: 'ring-1 ring-primary-400 border-primary-400', |         containerActive: 'ring-1 ring-primary-400 border-primary-400', | ||||||
|         containerInvalid: |         containerInvalid: | ||||||
|           'border-red-500 ring-red-500 focus:ring-red-500 focus:border-red-500 dark:border-red-500 dark:ring-red-500 dark:focus:ring-red-500 dark:focus:border-red-500', |           'border-red-400 ring-red-400 focus:ring-red-400 focus:border-red-400', | ||||||
|         containerInvalidActive: |         containerInvalidActive: 'ring-1 border-red-400 ring-red-400', | ||||||
|           'ring-1 border-red-500 ring-red-500 dark:ring-1 dark:border-red-500 dark:ring-red-500', |  | ||||||
|         singleLabel: |         singleLabel: | ||||||
|           'flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5 dark:text-white', |           'flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5', | ||||||
|         multipleLabel: |         multipleLabel: | ||||||
|           'flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5 dark:text-white', |           'flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5', | ||||||
|         search: |         search: | ||||||
|           'w-full absolute inset-0 outline-none appearance-none box-border border-0 text-sm font-sans bg-white rounded-md pl-3.5 border-transparent focus:border-transparent focus:ring-0 dark:bg-gray-700 dark:text-white', |           'w-full absolute inset-0 outline-none appearance-none box-border border-0 text-sm font-sans bg-white rounded-md pl-3.5', | ||||||
|         tags: 'grow shrink flex flex-wrap mt-1 pl-2', |         tags: 'grow shrink flex flex-wrap mt-1 pl-2', | ||||||
|         tag: 'bg-primary-500 text-white text-sm font-semibold py-0.5 pl-2 rounded mr-1 mb-1 flex items-center whitespace-nowrap', |         tag: 'bg-primary-500 text-white text-sm font-semibold py-0.5 pl-2 rounded mr-1 mb-1 flex items-center whitespace-nowrap', | ||||||
|         tagDisabled: 'pr-2 !bg-gray-400 text-white', |         tagDisabled: 'pr-2 !bg-gray-400 text-white', | ||||||
| @ -462,12 +461,12 @@ export default { | |||||||
|           'bg-multiselect-remove text-white bg-center bg-no-repeat opacity-30 inline-block w-3 h-3 group-hover:opacity-60', |           'bg-multiselect-remove text-white bg-center bg-no-repeat opacity-30 inline-block w-3 h-3 group-hover:opacity-60', | ||||||
|         tagsSearchWrapper: 'inline-block relative mx-1 mb-1 grow shrink h-full', |         tagsSearchWrapper: 'inline-block relative mx-1 mb-1 grow shrink h-full', | ||||||
|         tagsSearch: |         tagsSearch: | ||||||
|           'absolute inset-0 border-0 focus:outline-none !shadow-none !focus:shadow-none appearance-none p-0 sm:text-sm font-sans box-border w-full dark:bg-gray-700', |           'absolute inset-0 border-0 focus:outline-none !shadow-none !focus:shadow-none appearance-none p-0 text-sm font-sans box-border w-full', | ||||||
|         tagsSearchCopy: 'invisible whitespace-pre-wrap inline-block h-px', |         tagsSearchCopy: 'invisible whitespace-pre-wrap inline-block h-px', | ||||||
|         placeholder: |         placeholder: | ||||||
|           'flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5 text-gray-400 sm:text-sm dark:text-gray-500', |           'flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5 text-gray-400 text-sm', | ||||||
|         caret: |         caret: | ||||||
|           'bg-multiselect-caret-black dark:bg-multiselect-caret-white bg-center bg-no-repeat w-5 h-5 py-px box-content z-5 relative mr-1 opacity-40 shrink-0 grow-0 transition-transform dark:text-white', |           'bg-multiselect-caret bg-center bg-no-repeat w-5 h-5 py-px box-content z-5 relative mr-1 opacity-40 shrink-0 grow-0 transition-transform', | ||||||
|         caretOpen: 'rotate-180 pointer-events-auto', |         caretOpen: 'rotate-180 pointer-events-auto', | ||||||
|         clear: |         clear: | ||||||
|           'pr-3.5 relative z-10 opacity-40 transition duration-300 shrink-0 grow-0 flex hover:opacity-80', |           'pr-3.5 relative z-10 opacity-40 transition duration-300 shrink-0 grow-0 flex hover:opacity-80', | ||||||
| @ -476,7 +475,7 @@ export default { | |||||||
|         spinner: |         spinner: | ||||||
|           'bg-multiselect-spinner bg-center bg-no-repeat w-4 h-4 z-10 mr-3.5 animate-spin shrink-0 grow-0', |           'bg-multiselect-spinner bg-center bg-no-repeat w-4 h-4 z-10 mr-3.5 animate-spin shrink-0 grow-0', | ||||||
|         dropdown: |         dropdown: | ||||||
|           'max-h-60 shadow-lg absolute -left-px -right-px -bottom-1 translate-y-full border border-gray-300 mt-1 overflow-y-auto z-50 bg-white dark:border-gray-600 flex flex-col rounded-md dark:bg-gray-800 dark:shadow-glass', |           'max-h-60 shadow-lg absolute -left-px -right-px -bottom-1 translate-y-full border border-gray-300 mt-1 overflow-y-auto z-50 bg-white flex flex-col rounded-md', | ||||||
|         dropdownTop: |         dropdownTop: | ||||||
|           '-translate-y-full -top-2 bottom-auto flex-col-reverse rounded-md', |           '-translate-y-full -top-2 bottom-auto flex-col-reverse rounded-md', | ||||||
|         dropdownHidden: 'hidden', |         dropdownHidden: 'hidden', | ||||||
| @ -484,7 +483,7 @@ export default { | |||||||
|         optionsTop: 'flex-col-reverse', |         optionsTop: 'flex-col-reverse', | ||||||
|         group: 'p-0 m-0', |         group: 'p-0 m-0', | ||||||
|         groupLabel: |         groupLabel: | ||||||
|           'flex text-sm box-border items-center justify-start text-left py-1 px-3 font-semibold bg-gray-200 dark:bg-gray-700 dark:text-gray-400 cursor-default leading-normal', |           'flex text-sm box-border items-center justify-start text-left py-1 px-3 font-semibold bg-gray-200 cursor-default leading-normal', | ||||||
|         groupLabelPointable: 'cursor-pointer', |         groupLabelPointable: 'cursor-pointer', | ||||||
|         groupLabelPointed: 'bg-gray-300 text-gray-700', |         groupLabelPointed: 'bg-gray-300 text-gray-700', | ||||||
|         groupLabelSelected: 'bg-primary-600 text-white', |         groupLabelSelected: 'bg-primary-600 text-white', | ||||||
| @ -494,18 +493,15 @@ export default { | |||||||
|           'text-primary-100 bg-primary-600 bg-opacity-50 cursor-not-allowed', |           'text-primary-100 bg-primary-600 bg-opacity-50 cursor-not-allowed', | ||||||
|         groupOptions: 'p-0 m-0', |         groupOptions: 'p-0 m-0', | ||||||
|         option: |         option: | ||||||
|           'flex items-center justify-start box-border text-left cursor-pointer text-sm leading-snug py-2 px-3 dark:text-gray-200', |           'flex items-center justify-start box-border text-left cursor-pointer text-sm leading-snug py-2 px-3', | ||||||
|         optionPointed: |         optionPointed: 'text-gray-800 bg-gray-100', | ||||||
|           'text-gray-800 bg-gray-100 dark:text-white dark:bg-gray-700/30', |  | ||||||
|         optionSelected: 'text-white bg-primary-500', |         optionSelected: 'text-white bg-primary-500', | ||||||
|         optionDisabled: 'text-gray-300 cursor-not-allowed dark:text-gray-400', |         optionDisabled: 'text-gray-300 cursor-not-allowed', | ||||||
|         optionSelectedPointed: 'text-white bg-primary-500 opacity-90', |         optionSelectedPointed: 'text-white bg-primary-500 opacity-90', | ||||||
|         optionSelectedDisabled: |         optionSelectedDisabled: | ||||||
|           'text-primary-100 bg-primary-500 bg-opacity-50 cursor-not-allowed', |           'text-primary-100 bg-primary-500 bg-opacity-50 cursor-not-allowed', | ||||||
|         noOptions: |         noOptions: 'py-2 px-3 text-gray-600 bg-white', | ||||||
|           'py-2 px-3 text-gray-600 bg-white dark:bg-gray-700 dark:text-gray-200', |         noResults: 'py-2 px-3 text-gray-600 bg-white', | ||||||
|         noResults: |  | ||||||
|           'py-2 px-3 text-gray-600 bg-white dark:bg-gray-700 dark:text-gray-200', |  | ||||||
|         fakeInput: |         fakeInput: | ||||||
|           'bg-transparent absolute left-0 right-0 -bottom-px w-full h-px border-0 p-0 appearance-none outline-none text-transparent', |           'bg-transparent absolute left-0 right-0 -bottom-px w-full h-px border-0 p-0 appearance-none outline-none text-transparent', | ||||||
|         spacer: 'h-9 py-px box-content', |         spacer: 'h-9 py-px box-content', | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| <template> | <template> | ||||||
|   <nav> |   <nav> | ||||||
|     <ol class="flex flex-wrap py-4 text-gray-900 rounded list-reset dark:text-gray-400"> |     <ol class="flex flex-wrap py-4 text-gray-900 rounded list-reset"> | ||||||
|       <slot /> |       <slot /> | ||||||
|     </ol> |     </ol> | ||||||
|   </nav> |   </nav> | ||||||
|  | |||||||
| @ -8,9 +8,7 @@ | |||||||
|         font-medium |         font-medium | ||||||
|         leading-5 |         leading-5 | ||||||
|         text-gray-900 |         text-gray-900 | ||||||
|         dark:text-gray-400 |  | ||||||
|         outline-none |         outline-none | ||||||
|         dark:focus:ring-offset-gray-900 |  | ||||||
|         focus:ring-2 focus:ring-offset-2 focus:ring-primary-400 |         focus:ring-2 focus:ring-offset-2 focus:ring-primary-400 | ||||||
|       " |       " | ||||||
|       :to="to" |       :to="to" | ||||||
|  | |||||||
| @ -1,7 +1,6 @@ | |||||||
| <script setup> | <script setup> | ||||||
| import { computed, ref } from 'vue' | import { computed, ref } from 'vue' | ||||||
| import SpinnerIcon from '@/scripts/components/icons/SpinnerIcon.vue' | import SpinnerIcon from '@/scripts/components/icons/SpinnerIcon.vue' | ||||||
|  |  | ||||||
| const props = defineProps({ | const props = defineProps({ | ||||||
|   contentLoading: { |   contentLoading: { | ||||||
|     type: Boolean, |     type: Boolean, | ||||||
| @ -10,7 +9,7 @@ const props = defineProps({ | |||||||
|   defaultClass: { |   defaultClass: { | ||||||
|     type: String, |     type: String, | ||||||
|     default: |     default: | ||||||
|       'inline-flex whitespace-nowrap items-center border font-medium focus:outline-none focus:ring-2 focus:ring-offset-2 dark:focus:ring-offset-gray-800', |       'inline-flex whitespace-nowrap items-center border font-medium focus:outline-none focus:ring-2 focus:ring-offset-2', | ||||||
|   }, |   }, | ||||||
|   tag: { |   tag: { | ||||||
|     type: String, |     type: String, | ||||||
| @ -28,10 +27,6 @@ const props = defineProps({ | |||||||
|     type: Boolean, |     type: Boolean, | ||||||
|     default: false, |     default: false, | ||||||
|   }, |   }, | ||||||
|   loadingRight: { |  | ||||||
|     type: Boolean, |  | ||||||
|     default: false, |  | ||||||
|   }, |  | ||||||
|   size: { |   size: { | ||||||
|     type: String, |     type: String, | ||||||
|     default: 'md', |     default: 'md', | ||||||
| @ -86,17 +81,17 @@ const placeHolderSize = computed(() => { | |||||||
|  |  | ||||||
| const variantClass = computed(() => { | const variantClass = computed(() => { | ||||||
|   return { |   return { | ||||||
|     'border-transparent shadow-sm text-white bg-primary-600 hover:bg-primary-700 focus:ring-primary-500 dark:bg-primary-500 dark:hover:bg-primary-600': |     'border-transparent shadow-sm text-white bg-primary-600 hover:bg-primary-700 focus:ring-primary-500': | ||||||
|       props.variant === 'primary', |       props.variant === 'primary', | ||||||
|     'border-transparent text-primary-700 bg-primary-100 hover:bg-primary-200 focus:ring-primary-500': |     'border-transparent text-primary-700 bg-primary-100 hover:bg-primary-200 focus:ring-primary-500': | ||||||
|       props.variant === 'secondary', |       props.variant === 'secondary', | ||||||
|     'border-transparent border-solid border-primary-500 font-normal transition ease-in-out duration-150 text-primary-500 hover:bg-primary-100 shadow-inner focus:ring-primary-500 dark:text-primary-400 dark:border-primary-400 dark:hover:bg-transparent dark:hover:text-primary-500 dark:hover:border-primary-500': |     'border-transparent  border-solid border-primary-500 font-normal transition ease-in-out duration-150 text-primary-500 hover:bg-primary-200 shadow-inner focus:ring-primary-500': | ||||||
|       props.variant == 'primary-outline', |       props.variant == 'primary-outline', | ||||||
|     'border-gray-200 text-gray-700 bg-white hover:bg-gray-50 focus:ring-primary-500 focus:ring-offset-0 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-900': |     'border-gray-200 text-gray-700 bg-white hover:bg-gray-50 focus:ring-primary-500 focus:ring-offset-0': | ||||||
|       props.variant == 'white', |       props.variant == 'white', | ||||||
|     'border-transparent shadow-sm text-white bg-red-600 hover:bg-red-700 focus:ring-red-500': |     'border-transparent shadow-sm text-white bg-red-600 hover:bg-red-700 focus:ring-red-500': | ||||||
|       props.variant === 'danger', |       props.variant === 'danger', | ||||||
|     'border-transparent bg-gray-200 border hover:bg-opacity-60 focus:ring-gray-500 focus:ring-offset-0 dark:bg-gray-600 dark:text-white dark:hover:bg-opacity-60': |     'border-transparent bg-gray-200 border hover:bg-opacity-60 focus:ring-gray-500 focus:ring-offset-0': | ||||||
|       props.variant === 'gray', |       props.variant === 'gray', | ||||||
|   } |   } | ||||||
| }) | }) | ||||||
| @ -129,13 +124,6 @@ const iconRightClass = computed(() => { | |||||||
|     'ml-3 -mr-1 h-5 w-5': props.size === 'lg' || props.size === 'xl', |     'ml-3 -mr-1 h-5 w-5': props.size === 'lg' || props.size === 'xl', | ||||||
|   } |   } | ||||||
| }) | }) | ||||||
|  |  | ||||||
| const buttonDisabledClass = computed(() => { |  | ||||||
|   if (props.disabled || props.loading) |  | ||||||
|     return 'cursor-not-allowed bg-opacity-70 dark:!bg-opacity-40 hover:!bg-opacity-70 pointer-event-none' |  | ||||||
|  |  | ||||||
|   return '' |  | ||||||
| }) |  | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
| <template> | <template> | ||||||
| @ -153,17 +141,15 @@ const buttonDisabledClass = computed(() => { | |||||||
|   <BaseCustomTag |   <BaseCustomTag | ||||||
|     v-else |     v-else | ||||||
|     :tag="tag" |     :tag="tag" | ||||||
|     :disabled="disabled || loading" |     :disabled="disabled" | ||||||
|     :class="[defaultClass, sizeClass, variantClass, roundedClass, buttonDisabledClass]" |     :class="[defaultClass, sizeClass, variantClass, roundedClass]" | ||||||
|   > |   > | ||||||
|     <SpinnerIcon v-if="loading && !loadingRight" :class="[iconLeftClass, iconVariantClass]" /> |     <SpinnerIcon v-if="loading" :class="[iconLeftClass, iconVariantClass]" /> | ||||||
|  |  | ||||||
|     <slot v-else name="left" :class="iconLeftClass" /> |     <slot v-else name="left" :class="iconLeftClass"></slot> | ||||||
|  |  | ||||||
|     <slot /> |     <slot /> | ||||||
|  |  | ||||||
|     <SpinnerIcon v-if="loading && loadingRight" :class="[iconRightClass, iconVariantClass]" /> |     <slot name="right" :class="[iconRightClass, iconVariantClass]"></slot> | ||||||
|  |  | ||||||
|     <slot v-else name="right" :class="[iconRightClass, iconVariantClass]" /> |  | ||||||
|   </BaseCustomTag> |   </BaseCustomTag> | ||||||
| </template> | </template> | ||||||
|  | |||||||
| @ -1,9 +1,5 @@ | |||||||
| <template> | <template> | ||||||
|   <div |   <div class="bg-white rounded-lg shadow"> | ||||||
|     class="bg-white rounded-lg shadow dark:bg-gray-800 dark:text-white dark:shadow-glass dark:border dark:border-white/10 dark:bg-gray-800/70 relative" |  | ||||||
|   > |  | ||||||
|     <BaseDarkHighlight class="z-[-1] mt-10" /> |  | ||||||
|  |  | ||||||
|     <div |     <div | ||||||
|       v-if="hasHeaderSlot" |       v-if="hasHeaderSlot" | ||||||
|       class="px-5 py-4 text-black border-b border-gray-100 border-solid" |       class="px-5 py-4 text-black border-b border-gray-100 border-solid" | ||||||
|  | |||||||
| @ -39,8 +39,6 @@ $base-content-placeholders-border-radius: 6px !default; | |||||||
| $base-content-placeholders-line-height: 15px !default; | $base-content-placeholders-line-height: 15px !default; | ||||||
| $base-content-placeholders-spacing: 10px !default; | $base-content-placeholders-spacing: 10px !default; | ||||||
|  |  | ||||||
| $base-content-placeholders-primary-color-dark: rgb(71, 85, 105) !default; |  | ||||||
| $base-content-placeholders-secondary-color-dark: rgb(71, 85, 105) !default; |  | ||||||
| // Animations | // Animations | ||||||
| @keyframes vueContentPlaceholdersAnimation { | @keyframes vueContentPlaceholdersAnimation { | ||||||
|   0% { |   0% { | ||||||
| @ -59,10 +57,6 @@ $base-content-placeholders-secondary-color-dark: rgb(71, 85, 105) !default; | |||||||
|   min-height: $base-content-placeholders-line-height; |   min-height: $base-content-placeholders-line-height; | ||||||
|   background: $base-content-placeholders-secondary-color; |   background: $base-content-placeholders-secondary-color; | ||||||
|  |  | ||||||
|   .dark & { |  | ||||||
|     background: $base-content-placeholders-secondary-color-dark; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   .base-content-placeholders-is-rounded & { |   .base-content-placeholders-is-rounded & { | ||||||
|     border-radius: $base-content-placeholders-border-radius; |     border-radius: $base-content-placeholders-border-radius; | ||||||
|   } |   } | ||||||
| @ -92,15 +86,6 @@ $base-content-placeholders-secondary-color-dark: rgb(71, 85, 105) !default; | |||||||
|     animation-name: vueContentPlaceholdersAnimation; |     animation-name: vueContentPlaceholdersAnimation; | ||||||
|     animation-timing-function: linear; |     animation-timing-function: linear; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   .dark .base-content-placeholders-is-animated &::before { |  | ||||||
|     background: linear-gradient( |  | ||||||
|       to right, |  | ||||||
|       transparent 0%, |  | ||||||
|       darken($base-content-placeholders-secondary-color-dark, 5%) 15%, |  | ||||||
|       transparent 30% |  | ||||||
|     ); |  | ||||||
|   } |  | ||||||
| } | } | ||||||
|  |  | ||||||
| @mixin base-content-placeholders-spacing { | @mixin base-content-placeholders-spacing { | ||||||
| @ -171,10 +156,6 @@ $base-content-placeholders-secondary-color-dark: rgb(71, 85, 105) !default; | |||||||
|   min-height: $base-content-placeholders-line-height; |   min-height: $base-content-placeholders-line-height; | ||||||
|   background: $base-content-placeholders-secondary-color; |   background: $base-content-placeholders-secondary-color; | ||||||
|  |  | ||||||
|   .dark & { |  | ||||||
|     background: $base-content-placeholders-secondary-color-dark; |  | ||||||
|   } |  | ||||||
|    |  | ||||||
|   .base-content-placeholders-is-animated &::before { |   .base-content-placeholders-is-animated &::before { | ||||||
|     content: ''; |     content: ''; | ||||||
|     position: absolute; |     position: absolute; | ||||||
| @ -196,14 +177,6 @@ $base-content-placeholders-secondary-color-dark: rgb(71, 85, 105) !default; | |||||||
|     animation-timing-function: linear; |     animation-timing-function: linear; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|     .dark .base-content-placeholders-is-animated &::before { |  | ||||||
|       background: linear-gradient( |  | ||||||
|       to right, |  | ||||||
|       transparent 0%, |  | ||||||
|       darken($base-content-placeholders-secondary-color-dark, 5%) 15%, |  | ||||||
|       transparent 30% |  | ||||||
|     ); |  | ||||||
|   } |  | ||||||
|   // @include base-content-placeholders-spacing; |   // @include base-content-placeholders-spacing; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,21 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <div |  | ||||||
|     class=" |  | ||||||
|       hidden |  | ||||||
|       top-0 |  | ||||||
|       w-full |  | ||||||
|       absolute |  | ||||||
|       ml-auto |  | ||||||
|       mr-auto |  | ||||||
|       left-0 |  | ||||||
|       right-0 |  | ||||||
|       text-center |  | ||||||
|       h-full |  | ||||||
|       rounded-full |  | ||||||
|       bg-highlight/[.10] |  | ||||||
|       blur-2xl |  | ||||||
|       dark:block |  | ||||||
|       z-[-1] |  | ||||||
|     " |  | ||||||
|   /> |  | ||||||
| </template> |  | ||||||
| @ -30,13 +30,8 @@ | |||||||
|           leave-to="opacity-0" |           leave-to="opacity-0" | ||||||
|         > |         > | ||||||
|           <DialogOverlay |           <DialogOverlay | ||||||
|             class="fixed inset-0 transition-opacity bg-gray-500 bg-opacity-75 dark:backdrop-blur-xl dark:bg-gray-900/80" |             class="fixed inset-0 transition-opacity bg-gray-500 bg-opacity-75" | ||||||
|           > |  | ||||||
|            <BaseDarkHighlight |  | ||||||
|             class="!bg-highlight/[.17] !top-1/2 h-60 -translate-y-1/2 mt-5" |  | ||||||
|             :class="dialogSizeClasses" |  | ||||||
|           /> |           /> | ||||||
|           </DialogOverlay> |  | ||||||
|         </TransitionChild> |         </TransitionChild> | ||||||
|  |  | ||||||
|         <!-- This element is to trick the browser into centering the modal contents. --> |         <!-- This element is to trick the browser into centering the modal contents. --> | ||||||
| @ -69,11 +64,6 @@ | |||||||
|               shadow-xl |               shadow-xl | ||||||
|               sm:my-8 sm:align-middle sm:w-full sm:p-6 |               sm:my-8 sm:align-middle sm:w-full sm:p-6 | ||||||
|               relative |               relative | ||||||
|               dark:backdrop-blur-xl |  | ||||||
|               dark:shadow-glass |  | ||||||
|               dark:border |  | ||||||
|               dark:border-white/10 |  | ||||||
|               dark:bg-gray-800 |  | ||||||
|             " |             " | ||||||
|             :class="dialogSizeClasses" |             :class="dialogSizeClasses" | ||||||
|           > |           > | ||||||
| @ -90,31 +80,31 @@ | |||||||
|                   rounded-full |                   rounded-full | ||||||
|                 " |                 " | ||||||
|                 :class="{ |                 :class="{ | ||||||
|                   'bg-green-100 dark:bg-primary-500': dialogStore.variant === 'primary', |                   'bg-green-100': dialogStore.variant === 'primary', | ||||||
|                   'bg-red-100 dark:bg-red-500': dialogStore.variant === 'danger', |                   'bg-red-100': dialogStore.variant === 'danger', | ||||||
|                 }" |                 }" | ||||||
|               > |               > | ||||||
|                 <BaseIcon |                 <BaseIcon | ||||||
|                   v-if="dialogStore.variant === 'primary'" |                   v-if="dialogStore.variant === 'primary'" | ||||||
|                   name="CheckIcon" |                   name="CheckIcon" | ||||||
|                   class="w-6 h-6 text-green-600 dark:text-white" |                   class="w-6 h-6 text-green-600" | ||||||
|                 /> |                 /> | ||||||
|                 <BaseIcon |                 <BaseIcon | ||||||
|                   v-else |                   v-else | ||||||
|                   name="ExclamationIcon" |                   name="ExclamationIcon" | ||||||
|                   class="w-6 h-6 text-red-600 dark:text-white" |                   class="w-6 h-6 text-red-600" | ||||||
|                   aria-hidden="true" |                   aria-hidden="true" | ||||||
|                 /> |                 /> | ||||||
|               </div> |               </div> | ||||||
|               <div class="mt-3 text-center sm:mt-5"> |               <div class="mt-3 text-center sm:mt-5"> | ||||||
|                 <DialogTitle |                 <DialogTitle | ||||||
|                   as="h3" |                   as="h3" | ||||||
|                   class="text-lg font-medium leading-6 text-gray-900 dark:text-white" |                   class="text-lg font-medium leading-6 text-gray-900" | ||||||
|                 > |                 > | ||||||
|                   {{ dialogStore.title }} |                   {{ dialogStore.title }} | ||||||
|                 </DialogTitle> |                 </DialogTitle> | ||||||
|                 <div class="mt-2"> |                 <div class="mt-2"> | ||||||
|                   <p class="text-sm text-gray-500 dark:text-gray-400"> |                   <p class="text-sm text-gray-500"> | ||||||
|                     {{ dialogStore.message }} |                     {{ dialogStore.message }} | ||||||
|                   </p> |                   </p> | ||||||
|                 </div> |                 </div> | ||||||
|  | |||||||
| @ -1,17 +1,13 @@ | |||||||
| <template> | <template> | ||||||
|   <div class="flex flex-col items-center justify-center mt-16"> |   <div class="flex flex-col items-center justify-center mt-16"> | ||||||
|     <div class="relative"> |  | ||||||
|       <BaseDarkHighlight class="bg-highlight/[.07] top-2" /> |  | ||||||
|  |  | ||||||
|       <div class="relative z-5 flex flex-col items-center"> |  | ||||||
|     <div class="flex flex-col items-center justify-center"> |     <div class="flex flex-col items-center justify-center"> | ||||||
|           <slot /> |       <slot></slot> | ||||||
|     </div> |     </div> | ||||||
|     <div class="mt-2"> |     <div class="mt-2"> | ||||||
|       <label class="font-medium">{{ title }}</label> |       <label class="font-medium">{{ title }}</label> | ||||||
|     </div> |     </div> | ||||||
|         <div class="mt-2 text-center md:text-left"> |     <div class="mt-2"> | ||||||
|           <label class="text-gray-500 dark:text-gray-400"> |       <label class="text-gray-500"> | ||||||
|         {{ description }} |         {{ description }} | ||||||
|       </label> |       </label> | ||||||
|     </div> |     </div> | ||||||
| @ -19,8 +15,6 @@ | |||||||
|       <slot name="actions" /> |       <slot name="actions" /> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
|     </div> |  | ||||||
|   </div> |  | ||||||
| </template> | </template> | ||||||
|  |  | ||||||
| <script setup> | <script setup> | ||||||
|  | |||||||
| @ -7,7 +7,7 @@ | |||||||
|     leave-from-class="opacity-100" |     leave-from-class="opacity-100" | ||||||
|     leave-to-class="opacity-0" |     leave-to-class="opacity-0" | ||||||
|   > |   > | ||||||
|     <div v-show="show" class="relative z-10 p-4 md:p-8 bg-gray-200 rounded dark:bg-gray-800"> |     <div v-show="show" class="relative z-10 p-4 md:p-8 bg-gray-200 rounded"> | ||||||
|       <slot name="filter-header" /> |       <slot name="filter-header" /> | ||||||
|  |  | ||||||
|       <label |       <label | ||||||
| @ -20,7 +20,6 @@ | |||||||
|           hover:text-gray-700 |           hover:text-gray-700 | ||||||
|           top-2.5 |           top-2.5 | ||||||
|           right-3.5 |           right-3.5 | ||||||
|           dark:text-gray-300 |  | ||||||
|         " |         " | ||||||
|         @click="$emit('clear')" |         @click="$emit('clear')" | ||||||
|       > |       > | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <template> | <template> | ||||||
|   <div class="flex flex-wrap justify-between"> |   <div class="flex flex-wrap justify-between"> | ||||||
|     <div> |     <div> | ||||||
|       <h3 class="text-2xl font-bold text-left text-black dark:text-white"> |       <h3 class="text-2xl font-bold text-left text-black"> | ||||||
|         {{ title }} |         {{ title }} | ||||||
|       </h3> |       </h3> | ||||||
|       <slot /> |       <slot /> | ||||||
|  | |||||||
| @ -7,7 +7,7 @@ | |||||||
|  |  | ||||||
|       <Switch |       <Switch | ||||||
|         v-model="enabled" |         v-model="enabled" | ||||||
|         :class="enabled ? 'bg-primary-500' : 'bg-gray-300 dark:bg-gray-900'" |         :class="enabled ? 'bg-primary-500' : 'bg-gray-300'" | ||||||
|         class=" |         class=" | ||||||
|           relative |           relative | ||||||
|           inline-flex |           inline-flex | ||||||
| @ -21,11 +21,7 @@ | |||||||
|         v-bind="$attrs" |         v-bind="$attrs" | ||||||
|       > |       > | ||||||
|         <span |         <span | ||||||
|           :class=" |           :class="enabled ? 'translate-x-6' : 'translate-x-1'" | ||||||
|             enabled |  | ||||||
|               ? 'translate-x-6 dark:bg-white' |  | ||||||
|               : 'translate-x-1 dark:bg-gray-500' |  | ||||||
|           " |  | ||||||
|           class=" |           class=" | ||||||
|             inline-block |             inline-block | ||||||
|             w-4 |             w-4 | ||||||
|  | |||||||
| @ -5,12 +5,12 @@ | |||||||
|     <div class="flex flex-col"> |     <div class="flex flex-col"> | ||||||
|       <SwitchLabel |       <SwitchLabel | ||||||
|         as="p" |         as="p" | ||||||
|         class="p-0 mb-1 text-sm leading-snug text-black font-medium dark:text-white" |         class="p-0 mb-1 text-sm leading-snug text-black font-medium" | ||||||
|         passive |         passive | ||||||
|       > |       > | ||||||
|         {{ title }} |         {{ title }} | ||||||
|       </SwitchLabel> |       </SwitchLabel> | ||||||
|       <SwitchDescription class="text-sm text-gray-500 dark:text-gray-400"> |       <SwitchDescription class="text-sm text-gray-500"> | ||||||
|         {{ description }} |         {{ description }} | ||||||
|       </SwitchDescription> |       </SwitchDescription> | ||||||
|     </div> |     </div> | ||||||
| @ -18,7 +18,7 @@ | |||||||
|       :disabled="disabled" |       :disabled="disabled" | ||||||
|       :model-value="modelValue" |       :model-value="modelValue" | ||||||
|       :class="[ |       :class="[ | ||||||
|         modelValue ? 'bg-primary-500' : 'bg-gray-200 dark:bg-gray-900', |         modelValue ? 'bg-primary-500' : 'bg-gray-200', | ||||||
|         'ml-4 relative inline-flex shrink-0 h-6 w-11 border-2 border-transparent rounded-full cursor-pointer transition-colors ease-in-out duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500', |         'ml-4 relative inline-flex shrink-0 h-6 w-11 border-2 border-transparent rounded-full cursor-pointer transition-colors ease-in-out duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500', | ||||||
|       ]" |       ]" | ||||||
|       @update:modelValue="onUpdate" |       @update:modelValue="onUpdate" | ||||||
| @ -26,7 +26,7 @@ | |||||||
|       <span |       <span | ||||||
|         aria-hidden="true" |         aria-hidden="true" | ||||||
|         :class="[ |         :class="[ | ||||||
|           modelValue ? 'translate-x-5 dark:bg-white' : 'translate-x-0 dark:bg-gray-500', |           modelValue ? 'translate-x-5' : 'translate-x-0', | ||||||
|           'inline-block h-5 w-5 rounded-full bg-white shadow ring-0 transition ease-in-out duration-200', |           'inline-block h-5 w-5 rounded-full bg-white shadow ring-0 transition ease-in-out duration-200', | ||||||
|         ]" |         ]" | ||||||
|       /> |       /> | ||||||
|  | |||||||
| @ -10,13 +10,14 @@ | |||||||
|       bg-white |       bg-white | ||||||
|       border-t border-gray-200 |       border-t border-gray-200 | ||||||
|       sm:px-6 |       sm:px-6 | ||||||
|  |       dark:bg-transparent dark:border-white/10 | ||||||
|     " |     " | ||||||
|   > |   > | ||||||
|     <div class="flex justify-between flex-1 sm:hidden"> |     <div class="flex justify-between flex-1 sm:hidden"> | ||||||
|       <a |       <a | ||||||
|         href="#" |         href="#" | ||||||
|         :class="{ |         :class="{ | ||||||
|           'disabled cursor-normal pointer-events-none !bg-gray-100 !text-gray-400': |           'disabled cursor-normal pointer-events-none !bg-gray-100 !text-gray-400 dark:!bg-gray-800 dark:!text-gray-500': | ||||||
|             pagination.currentPage === 1, |             pagination.currentPage === 1, | ||||||
|         }" |         }" | ||||||
|         class=" |         class=" | ||||||
| @ -32,6 +33,7 @@ | |||||||
|           border border-gray-300 |           border border-gray-300 | ||||||
|           rounded-md |           rounded-md | ||||||
|           hover:bg-gray-50 |           hover:bg-gray-50 | ||||||
|  |           dark:bg-gray-800 dark:border-gray-600 dark:text-gray-300 | ||||||
|         " |         " | ||||||
|         @click="pageClicked(pagination.currentPage - 1)" |         @click="pageClicked(pagination.currentPage - 1)" | ||||||
|       > |       > | ||||||
| @ -40,7 +42,7 @@ | |||||||
|       <a |       <a | ||||||
|         href="#" |         href="#" | ||||||
|         :class="{ |         :class="{ | ||||||
|           'disabled cursor-default pointer-events-none !bg-gray-100 !text-gray-400': |           'disabled cursor-default pointer-events-none !bg-gray-100 !text-gray-400 dark:!bg-gray-800 dark:!text-gray-500': | ||||||
|             pagination.currentPage === pagination.totalPages, |             pagination.currentPage === pagination.totalPages, | ||||||
|         }" |         }" | ||||||
|         class=" |         class=" | ||||||
| @ -57,6 +59,7 @@ | |||||||
|           border border-gray-300 |           border border-gray-300 | ||||||
|           rounded-md |           rounded-md | ||||||
|           hover:bg-gray-50 |           hover:bg-gray-50 | ||||||
|  |           dark:bg-gray-800 dark:border-gray-600 dark:text-gray-300 | ||||||
|         " |         " | ||||||
|         @click="pageClicked(pagination.currentPage + 1)" |         @click="pageClicked(pagination.currentPage + 1)" | ||||||
|       > |       > | ||||||
| @ -65,12 +68,12 @@ | |||||||
|     </div> |     </div> | ||||||
|     <div class="hidden sm:flex-1 sm:flex sm:items-center sm:justify-between"> |     <div class="hidden sm:flex-1 sm:flex sm:items-center sm:justify-between"> | ||||||
|       <div> |       <div> | ||||||
|         <p class="text-sm text-gray-700"> |         <p class="text-sm text-gray-700 dark:text-gray-400"> | ||||||
|           Showing |           Showing | ||||||
|           {{ ' ' }} |           {{ ' ' }} | ||||||
|           <span |           <span | ||||||
|             v-if="pagination.limit && pagination.currentPage" |             v-if="pagination.limit && pagination.currentPage" | ||||||
|             class="font-medium" |             class="font-medium dark:text-gray-200" | ||||||
|           > |           > | ||||||
|             {{ |             {{ | ||||||
|               pagination.currentPage * pagination.limit - (pagination.limit - 1) |               pagination.currentPage * pagination.limit - (pagination.limit - 1) | ||||||
| @ -81,7 +84,7 @@ | |||||||
|           {{ ' ' }} |           {{ ' ' }} | ||||||
|           <span |           <span | ||||||
|             v-if="pagination.limit && pagination.currentPage" |             v-if="pagination.limit && pagination.currentPage" | ||||||
|             class="font-medium" |             class="font-medium dark:text-gray-200" | ||||||
|           > |           > | ||||||
|             <span |             <span | ||||||
|               v-if=" |               v-if=" | ||||||
| @ -98,7 +101,7 @@ | |||||||
|           {{ ' ' }} |           {{ ' ' }} | ||||||
|           of |           of | ||||||
|           {{ ' ' }} |           {{ ' ' }} | ||||||
|           <span v-if="pagination.totalCount" class="font-medium"> |           <span v-if="pagination.totalCount" class="font-medium dark:text-gray-200"> | ||||||
|             {{ pagination.totalCount }} |             {{ pagination.totalCount }} | ||||||
|           </span> |           </span> | ||||||
|           {{ ' ' }} |           {{ ' ' }} | ||||||
| @ -113,7 +116,7 @@ | |||||||
|           <a |           <a | ||||||
|             href="#" |             href="#" | ||||||
|             :class="{ |             :class="{ | ||||||
|               'disabled cursor-normal pointer-events-none !bg-gray-100 !text-gray-400': |               'disabled cursor-normal pointer-events-none !bg-gray-100 !text-gray-400 dark:!bg-gray-800 dark:!text-gray-500': | ||||||
|                 pagination.currentPage === 1, |                 pagination.currentPage === 1, | ||||||
|             }" |             }" | ||||||
|             class=" |             class=" | ||||||
| @ -129,6 +132,7 @@ | |||||||
|               border border-gray-300 |               border border-gray-300 | ||||||
|               rounded-l-md |               rounded-l-md | ||||||
|               hover:bg-gray-50 |               hover:bg-gray-50 | ||||||
|  |               dark:border-gray-600 dark:bg-gray-800 dark:text-gray-300 | ||||||
|             " |             " | ||||||
|             @click="pageClicked(pagination.currentPage - 1)" |             @click="pageClicked(pagination.currentPage - 1)" | ||||||
|           > |           > | ||||||
| @ -140,9 +144,9 @@ | |||||||
|             href="#" |             href="#" | ||||||
|             aria-current="page" |             aria-current="page" | ||||||
|             :class="{ |             :class="{ | ||||||
|               'z-10 bg-primary-50 border-primary-500 text-primary-600': |               'z-10 bg-primary-50 border-primary-500 text-primary-600 dark:bg-primary-500 dark:text-white': | ||||||
|                 isActive(1), |                 isActive(1), | ||||||
|               'bg-white border-gray-300 text-gray-500 hover:bg-gray-50': |               'bg-white border-gray-300 text-gray-500 hover:bg-gray-50 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-300': | ||||||
|                 !isActive(1), |                 !isActive(1), | ||||||
|             }" |             }" | ||||||
|             class=" |             class=" | ||||||
| @ -173,6 +177,7 @@ | |||||||
|               text-gray-700 |               text-gray-700 | ||||||
|               bg-white |               bg-white | ||||||
|               border border-gray-300 |               border border-gray-300 | ||||||
|  |               dark:border-gray-600 dark:bg-gray-800 dark:text-gray-300 | ||||||
|             " |             " | ||||||
|           > |           > | ||||||
|             ... |             ... | ||||||
| @ -182,9 +187,9 @@ | |||||||
|             :key="page" |             :key="page" | ||||||
|             href="#" |             href="#" | ||||||
|             :class="{ |             :class="{ | ||||||
|               'z-10 bg-primary-50 border-primary-500 text-primary-600': |               'z-10 bg-primary-50 border-primary-500 text-primary-600 dark:bg-primary-500 dark:text-white': | ||||||
|                 isActive(page), |                 isActive(page), | ||||||
|               'bg-white border-gray-300 text-gray-500 hover:bg-gray-50': |               'bg-white border-gray-300 text-gray-500 hover:bg-gray-50 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-300': | ||||||
|                 !isActive(page), |                 !isActive(page), | ||||||
|               disabled: page === '...', |               disabled: page === '...', | ||||||
|             }" |             }" | ||||||
| @ -220,6 +225,7 @@ | |||||||
|               text-gray-700 |               text-gray-700 | ||||||
|               bg-white |               bg-white | ||||||
|               border border-gray-300 |               border border-gray-300 | ||||||
|  |               dark:border-gray-600 dark:bg-gray-800 dark:text-gray-300 | ||||||
|             " |             " | ||||||
|           > |           > | ||||||
|             ... |             ... | ||||||
| @ -229,9 +235,9 @@ | |||||||
|             href="#" |             href="#" | ||||||
|             aria-current="page" |             aria-current="page" | ||||||
|             :class="{ |             :class="{ | ||||||
|               'z-10 bg-primary-50 border-primary-500 text-primary-600': |               'z-10 bg-primary-50 border-primary-500 text-primary-600 dark:bg-primary-500 dark:text-white': | ||||||
|                 isActive(pagination.totalPages), |                 isActive(pagination.totalPages), | ||||||
|               'bg-white border-gray-300 text-gray-500 hover:bg-gray-50': |               'bg-white border-gray-300 text-gray-500 hover:bg-gray-50 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-300': | ||||||
|                 !isActive(pagination.totalPages), |                 !isActive(pagination.totalPages), | ||||||
|             }" |             }" | ||||||
|             class=" |             class=" | ||||||
| @ -263,9 +269,10 @@ | |||||||
|               border border-gray-300 |               border border-gray-300 | ||||||
|               rounded-r-md |               rounded-r-md | ||||||
|               hover:bg-gray-50 |               hover:bg-gray-50 | ||||||
|  |               dark:border-gray-600 dark:bg-gray-800 dark:text-gray-300 | ||||||
|             " |             " | ||||||
|             :class="{ |             :class="{ | ||||||
|               'disabled cursor-default pointer-events-none !bg-gray-100 !text-gray-400': |               'disabled cursor-default pointer-events-none !bg-gray-100 !text-gray-400 dark:!bg-gray-800 dark:!text-gray-500': | ||||||
|                 pagination.currentPage === pagination.totalPages, |                 pagination.currentPage === pagination.totalPages, | ||||||
|             }" |             }" | ||||||
|             @click="pageClicked(pagination.currentPage + 1)" |             @click="pageClicked(pagination.currentPage + 1)" | ||||||
|  | |||||||
| @ -36,7 +36,6 @@ module.exports = { | |||||||
|           900: withOpacityValue('--color-primary-900'), |           900: withOpacityValue('--color-primary-900'), | ||||||
|         }, |         }, | ||||||
|         black: '#040405', |         black: '#040405', | ||||||
|         highlight: 'rgb(56, 189, 248)', |  | ||||||
|         red: colors.red, |         red: colors.red, | ||||||
|         teal: colors.teal, |         teal: colors.teal, | ||||||
|         gray: colors.slate, |         gray: colors.slate, | ||||||
| @ -45,15 +44,10 @@ module.exports = { | |||||||
|         88: '22rem', |         88: '22rem', | ||||||
|       }, |       }, | ||||||
|       backgroundImage: (theme) => ({ |       backgroundImage: (theme) => ({ | ||||||
|         'multiselect-caret-black': `url("${svgToDataUri( |         'multiselect-caret': `url("${svgToDataUri( | ||||||
|           `<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="black"> |           `<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor"> | ||||||
|   <path fill-rule="evenodd" d="M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z" clip-rule="evenodd" /> |   <path fill-rule="evenodd" d="M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z" clip-rule="evenodd" /> | ||||||
|           </svg>`, | </svg>` | ||||||
|         )}")`, |  | ||||||
|         'multiselect-caret-white': `url("${svgToDataUri( |  | ||||||
|           `<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="white"> |  | ||||||
|             <path fill-rule="evenodd" d="M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z" clip-rule="evenodd" /> |  | ||||||
|           </svg>`, |  | ||||||
|         )}")`, |         )}")`, | ||||||
|         'multiselect-spinner': `url("${svgToDataUri( |         'multiselect-spinner': `url("${svgToDataUri( | ||||||
|           `<svg viewBox="0 0 512 512" fill="${theme( |           `<svg viewBox="0 0 512 512" fill="${theme( | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	