diff --git a/CHANGELOG.md b/CHANGELOG.md index 25e2ece..b132628 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.13] - 2025-07-29 +### Added +- Data table compoenent +- List style + ## [1.0.12] - 2025-07-28 ### Added - Modal compoenent diff --git a/README.md b/README.md index 3ee4794..9ba574f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # visua-vue -**Current version: v1.0.12** \ No newline at end of file +**Current version: v1.0.13** \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 195d81c..7eceb50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@cellule-financiere-pmo/visua-vue", - "version": "1.0.12", + "version": "1.0.13", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@cellule-financiere-pmo/visua-vue", - "version": "1.0.12", + "version": "1.0.13", "license": "ISC", "dependencies": { "@cellule-financiere-pmo/visua": "1.1.3", diff --git a/package.json b/package.json index 75bb529..2c21b5d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@cellule-financiere-pmo/visua-vue", - "version": "1.0.12", + "version": "1.0.13", "type": "module", "scripts": { "dev": "vite", diff --git a/src/App.vue b/src/App.vue index a6a508f..6abd524 100644 --- a/src/App.vue +++ b/src/App.vue @@ -12,7 +12,8 @@ // import VFileUploadView from '../template/VFileUploadView.vue'; // import VAlertView from '../template/VAlertView.vue'; // import VModalView from '../template/VModalView.vue'; -import VConfirmModalView from '../template/VConfirmModalView.vue'; +// import VConfirmModalView from '../template/VConfirmModalView.vue'; +import VDataTableView from '../template/VDataTableView.vue'; @@ -30,5 +31,6 @@ import VConfirmModalView from '../template/VConfirmModalView.vue'; - + + diff --git a/src/assets/style/global.css b/src/assets/style/global.css index 24a3cd9..b326de8 100644 --- a/src/assets/style/global.css +++ b/src/assets/style/global.css @@ -22,7 +22,7 @@ --input-padding-y: 0.5rem; --input-border-raduis: 0.25rem 0.25rem 0px 0px; /* datatable */ - --datatable-background: var(--background-contrast-grey); + --datatable-background: var(--background-default-grey); --datatable-alt-background: var(--background-alt-grey); --datatable-hover-background: var(--background-alt-grey-hover); --datatable-active-background: var(--background-alt-grey-active); diff --git a/src/assets/style/primevue-configuration.css b/src/assets/style/primevue-configuration.css index 9b3a74c..1a1ca2e 100644 --- a/src/assets/style/primevue-configuration.css +++ b/src/assets/style/primevue-configuration.css @@ -18,3 +18,6 @@ @import './primevue-style/toast.css'; @import './primevue-style/dialog.css'; @import './primevue-style/confirmdialog.css'; +@import './primevue-style/datatable.css'; +@import './primevue-style/paginator.css'; +@import './primevue-style/list.css'; diff --git a/src/assets/style/primevue-style/datatable.css b/src/assets/style/primevue-style/datatable.css new file mode 100644 index 0000000..dcb4066 --- /dev/null +++ b/src/assets/style/primevue-style/datatable.css @@ -0,0 +1,110 @@ +:root{ + --p-datatable-paginator-bottom-border-color: var(--p-datatable-border-color); + --p-datatable-paginator-bottom-border-width: 0 0 1px 0; + --p-datatable-paginator-top-border-color: var(--p-datatable-border-color); + --p-datatable-paginator-top-border-width: 0 0 1px 0; + --p-datatable-filter-inline-gap: 0.5rem; + --p-datatable-filter-constraint-focus-background: var(--p-list-option-focus-background); + --p-datatable-filter-constraint-selected-background: var(--p-list-option-selected-background); + --p-datatable-filter-constraint-selected-focus-background: var(--p-list-option-selected-focus-background); + --p-datatable-filter-constraint-color: var(--p-list-option-color); + --p-datatable-filter-constraint-focus-color: var(--p-list-option-focus-color); + --p-datatable-filter-constraint-selected-color: var(--p-list-option-selected-color); + --p-datatable-filter-constraint-selected-focus-color: var(--p-list-option-selected-focus-color); + --p-datatable-filter-constraint-padding: var(--p-list-option-padding); + --p-datatable-filter-constraint-border-radius: var(--p-list-option-border-radius); + --p-datatable-filter-constraint-separator-border-color: var(--p-content-border-color); + --p-datatable-filter-constraint-list-padding: var(--p-list-padding); + --p-datatable-filter-constraint-list-gap: var(--p-list-gap); + --p-datatable-filter-rule-border-color: var(--p-content-border-color); + --p-datatable-filter-overlay-popover-background: var(--p-overlay-popover-background); + --p-datatable-filter-overlay-popover-border-color: var(--p-overlay-popover-border-color); + --p-datatable-filter-overlay-popover-border-radius: var(--p-overlay-popover-border-radius); + --p-datatable-filter-overlay-popover-color: var(--p-overlay-popover-color); + --p-datatable-filter-overlay-popover-shadow: var(--p-overlay-popover-shadow); + --p-datatable-filter-overlay-popover-padding: var(--p-overlay-popover-padding); + --p-datatable-filter-overlay-popover-gap: 0.5rem; + --p-datatable-filter-overlay-select-background: var(--p-overlay-select-background); + --p-datatable-filter-overlay-select-border-color: var(--p-overlay-select-border-color); + --p-datatable-filter-overlay-select-border-radius: var(--p-overlay-select-border-radius); + --p-datatable-filter-overlay-select-color: var(--p-overlay-select-color); + --p-datatable-filter-overlay-select-shadow: var(--p-overlay-select-shadow); + --p-datatable-row-toggle-button-hover-background: var(--datatable-hover-background); + --p-datatable-row-toggle-button-selected-hover-background: var(--datatable-background); + --p-datatable-row-toggle-button-color: var(--datatable-row-color); + --p-datatable-row-toggle-button-hover-color: var(--datatable-row-color); + --p-datatable-row-toggle-button-selected-hover-color: var(--datatable-row-color); + --p-datatable-row-toggle-button-size: 1.75rem; + --p-datatable-row-toggle-button-border-radius: 0px; + --p-datatable-row-toggle-button-focus-ring-width: var(--focus-width); + --p-datatable-row-toggle-button-focus-ring-style: var(--focus-style); + --p-datatable-row-toggle-button-focus-ring-color: var(--focus-color); + --p-datatable-row-toggle-button-focus-ring-offset: var(--focus-offset); + /* --p-datatable-row-toggle-button-focus-ring-shadow: var(--p-focus-ring-shadow); */ + --p-datatable-loading-icon-size: 2rem; + --p-datatable-sort-icon-color: var(--datatable-row-color); + --p-datatable-sort-icon-hover-color: var(--datatable-row-color); + --p-datatable-sort-icon-size: 0.875rem; + --p-datatable-resize-indicator-width: 1px; + --p-datatable-resize-indicator-color: var(--p-primary-color); + --p-datatable-column-resizer-width: 0.5rem; + --p-datatable-drop-point-color: var(--p-primary-color); + --p-datatable-footer-background: var(--datatable-background); + --p-datatable-footer-border-color: var(--p-datatable-border-color); + --p-datatable-footer-color: var(--p-content-color); + --p-datatable-footer-border-width: 0 0 1px 0; + --p-datatable-footer-padding: 1rem; + --p-datatable-footer-lg-padding: 1.25rem; + --p-datatable-footer-sm-padding: 0.5rem; + --p-datatable-column-footer-font-weight: 600; + --p-datatable-footer-cell-background: var(--datatable-background); + --p-datatable-footer-cell-border-color: var(--p-datatable-border-color); + --p-datatable-footer-cell-color: var(--p-content-color); + --p-datatable-footer-cell-padding: 1rem; + --p-datatable-footer-cell-lg-padding: 1.25rem; + --p-datatable-footer-cell-sm-padding: 0.5rem; + --p-datatable-body-cell-border-color: var(--p-datatable-border-color); + --p-datatable-body-cell-padding: 1rem; + --p-datatable-body-cell-lg-padding: 1.25rem; + --p-datatable-body-cell-sm-padding: 0.5rem; + --p-datatable-row-background: var(--datatable-alt-background); + --p-datatable-row-hover-background: var(--datatable-hover-background); + --p-datatable-row-selected-background: var(--datatable-active-background); + --p-datatable-row-color: var(--datatable-row-color); + --p-datatable-row-hover-color: var(--datatable-row-color); + --p-datatable-row-selected-color: var(--datatable-row-color); + --p-datatable-row-focus-ring-width: var(--focus-width); + --p-datatable-row-focus-ring-style: var(--focus-style); + --p-datatable-row-focus-ring-color: var(--focus-color); + --p-datatable-row-focus-ring-offset: -1px; + /* --p-datatable-row-focus-ring-shadow: var(--p-focus-ring-shadow); */ + --p-datatable-column-title-font-weight: var(--text-body-SM-detail-text-Bold-weight); + --p-datatable-header-cell-background: var(--datatable-background); + --p-datatable-header-cell-hover-background: var(--datatable-hover-background); + --p-datatable-header-cell-selected-background: var(--datatable-active-background); + --p-datatable-header-cell-border-color: var(--border-plain-grey); + --p-datatable-header-cell-color: var(--datatable-header-cell-color); + --p-datatable-header-cell-hover-color: var(--datatable-header-cell-color); + --p-datatable-header-cell-selected-color: var(--datatable-header-cell-color); + --p-datatable-header-cell-gap: 0.5rem; + --p-datatable-header-cell-padding: 1rem; + --p-datatable-header-cell-lg-padding: 1.25rem; + --p-datatable-header-cell-sm-padding: 0.5rem; + --p-datatable-header-cell-focus-ring-width: var(--focus-width); + --p-datatable-header-cell-focus-ring-style: var(--focus-style); + --p-datatable-header-cell-focus-ring-color: var(--focus-color); + --p-datatable-header-cell-focus-ring-offset: -1px; + /* --p-datatable-header-cell-focus-ring-shadow: var(--p-focus-ring-shadow); */ + --p-datatable-header-background: var(--datatable-background); + --p-datatable-header-border-color: var(--border-default-grey); + --p-datatable-header-color: var(--datatable-header-cell-color); + --p-datatable-header-border-width: 0 0 1px 0; + --p-datatable-header-padding: 1rem; + --p-datatable-header-lg-padding: 1.25rem; + --p-datatable-header-sm-padding: 0.5rem; + /* --p-datatable-transition-duration: var(--p-transition-duration); */ + --p-datatable-body-cell-selected-border-color: var(--datatable-active-background); + --p-datatable-row-striped-background: var(--datatable-background); + --p-datatable-border-color: var(--p-content-border-color); +} + diff --git a/src/assets/style/primevue-style/fileupload.css b/src/assets/style/primevue-style/fileupload.css index a3dba2a..999d22d 100644 --- a/src/assets/style/primevue-style/fileupload.css +++ b/src/assets/style/primevue-style/fileupload.css @@ -6,7 +6,7 @@ --p-fileupload-file-gap: 1rem; --p-fileupload-file-border-color: var(--border-default-grey); --p-fileupload-file-info-gap: 0.5rem; - --p-fileupload-content-highlight-border-color: var(--p-primary-color); + --p-fileupload-content-highlight-border-color: var(--border-action-high-grey); --p-fileupload-content-padding: 0rem; --p-fileupload-content-gap: 1rem; --p-fileupload-header-background: transparent; diff --git a/src/assets/style/primevue-style/list.css b/src/assets/style/primevue-style/list.css new file mode 100644 index 0000000..42f735b --- /dev/null +++ b/src/assets/style/primevue-style/list.css @@ -0,0 +1,20 @@ +:root{ + --p-list-option-group-padding: 0.25rem; + --p-list-option-group-font-weight: var(--text-body-MD-standard-text-Regular-weight); + --p-list-option-padding: 0.25rem; + --p-list-option-border-radius: 0px; + --p-list-option-group-background: var(--input-background); + --p-list-option-group-color: var(--input-color); + --p-list-option-focus-background: var(--background-transparent-active); + --p-list-option-selected-background: var(--background-active-blue-france); + --p-list-option-selected-focus-background: var(--background-active-blue-france); + --p-list-option-color: var(--input-color); + --p-list-option-focus-color: var(--input-color); + --p-list-option-selected-color: var(--text-inverted-blue-france); + --p-list-option-selected-focus-color: var(--text-inverted-blue-france); + --p-list-option-icon-color: var(--input-color); + --p-list-option-icon-focus-color: var(--input-color); + --p-list-padding: 0.25rem; + --p-list-gap: 0.125rem; + --p-list-header-padding: 0.5rem 1rem; +} diff --git a/src/assets/style/primevue-style/overlay.css b/src/assets/style/primevue-style/overlay.css index 3850fc9..1224e91 100644 --- a/src/assets/style/primevue-style/overlay.css +++ b/src/assets/style/primevue-style/overlay.css @@ -14,4 +14,7 @@ --p-overlay-popover-shadow: var(--shadow); --p-overlay-select-border-radius: 0px; --p-overlay-select-shadow: var(--shadow); + --p-overlay-select-background: var(--input-background); + --p-overlay-select-border-color: var(--input-border-color); + --p-overlay-select-color: var(--input-color); } diff --git a/src/assets/style/primevue-style/paginator.css b/src/assets/style/primevue-style/paginator.css new file mode 100644 index 0000000..fdd0012 --- /dev/null +++ b/src/assets/style/primevue-style/paginator.css @@ -0,0 +1,24 @@ +:root{ + --p-paginator-jump-to-page-input-max-width: 2.5rem; + --p-paginator-current-page-report-color: var(--text-action-high-grey); + --p-paginator-nav-button-background: transparent; + --p-paginator-nav-button-hover-background: var(--background-transparent-hover); + --p-paginator-nav-button-selected-background: var(--background-action-high-blue-france); + --p-paginator-nav-button-color: var(--text-action-high-grey); + --p-paginator-nav-button-hover-color: var(--text-action-high-grey); + --p-paginator-nav-button-selected-color: var(--text-inverted-blue-france); + --p-paginator-nav-button-width: 2rem; + --p-paginator-nav-button-height: 2rem; + --p-paginator-nav-button-border-radius: 0px; + --p-paginator-nav-button-focus-ring-width: var(--focus-width); + --p-paginator-nav-button-focus-ring-style: var(--focus-style); + --p-paginator-nav-button-focus-ring-color: var(--focus-color); + --p-paginator-nav-button-focus-ring-offset: var(--focus-offset); + /* --p-paginator-nav-button-focus-ring-shadow: var(--p-focus-ring-shadow); */ + --p-paginator-padding: 0px; + --p-paginator-gap: 1rem; + --p-paginator-border-radius: 0px; + --p-paginator-background: transparent; + --p-paginator-color: var(--text-action-high-grey); + --p-paginator-transition-duration: var(--transition-duration); +} diff --git a/src/assets/style/primevue-style/toast.css b/src/assets/style/primevue-style/toast.css index 38b3fcd..e634e8f 100644 --- a/src/assets/style/primevue-style/toast.css +++ b/src/assets/style/primevue-style/toast.css @@ -6,8 +6,8 @@ --p-toast-content-padding: 0.25rem; --p-toast-content-gap: 0.5rem; --p-toast-text-gap: 0.5rem; - --p-toast-summary-font-weight: var( --text-body-MD-standard-text-weight); - --p-toast-summary-font-size: var(--text-body-MD-standard-text-size); + --p-toast-summary-font-weight: var( --text-body-MD-standard-text-Medium-weight); + --p-toast-summary-font-size: var(--text-body-MD-standard-text-Medium-size); --p-toast-detail-font-weight: var( --text-body-MD-standard-text-Regular-weight); --p-toast-detail-font-size: var(--text-body-MD-standard-text-Regular-size); /* info */ diff --git a/src/assets/style/primevue-style/various.css b/src/assets/style/primevue-style/various.css index cfd1d7b..c2c1c43 100644 --- a/src/assets/style/primevue-style/various.css +++ b/src/assets/style/primevue-style/various.css @@ -3,4 +3,11 @@ --p-text-muted-color: var(--text-action-high-grey); --p-transition-duration: var(--transition-duration); --p-anchor-gutter: 2px; + --p-content-background: var(--input-background); + --p-content-hover-background: var(--background-transparent-active); + --p-content-border-color: var(--border-action-high-grey); + --p-content-color: var(--text-action-high-grey); + --p-content-hover-color: var(--text-action-high-grey); + --p-content-border-radius: 0px; + --p-primary-color: var(--background-action-high-blue-france); } diff --git a/src/components/select/VSelect.vue b/src/components/select/VSelect.vue index 4bad988..9d6b8cf 100644 --- a/src/components/select/VSelect.vue +++ b/src/components/select/VSelect.vue @@ -83,6 +83,7 @@ const labelState = computed(() => {