From 9ea13d552113f442c378fcd52a5795df8d030cf3 Mon Sep 17 00:00:00 2001 From: Keryan SANIE Date: Tue, 25 Jun 2024 16:15:53 +0200 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=90=9B=20fix(table):=20corrige=20regr?= =?UTF-8?q?essions=20sur=20les=20tableaux=20d=C3=A9pr=C3=A9cies=20[DS-3804?= =?UTF-8?q?]=20(#969)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - déplace bordures des tableaux déprécies sur les thead et tbody - retire les selecteurs css :has --- .../table/deprecated/example/index.ejs | 4 +- .../table/deprecated/style/_legacy.scss | 10 ++- .../table/deprecated/style/_scheme.scss | 12 +-- .../deprecated/style/module/_default.scss | 39 ++++++--- .../deprecated/style/module/_variants.scss | 7 +- .../example/data/data-complex-tbody.json.ejs | 10 +-- src/component/table/index.js | 2 + src/component/table/main.js | 1 + .../table/script/table/table-caption.js | 3 +- .../table/script/table/table-selector.js | 1 + .../table/script/table/table-wrapper.js | 19 +++++ src/component/table/script/table/table.js | 5 +- src/component/table/style/_legacy.scss | 1 + src/component/table/style/_scheme.scss | 6 +- .../table/style/module/_default.scss | 84 ++++++++----------- .../table/style/module/_variants.scss | 2 + 16 files changed, 117 insertions(+), 89 deletions(-) create mode 100644 src/component/table/script/table/table-wrapper.js diff --git a/src/component/table/deprecated/example/index.ejs b/src/component/table/deprecated/example/index.ejs index f713ec21f..2da116c1a 100755 --- a/src/component/table/deprecated/example/index.ejs +++ b/src/component/table/deprecated/example/index.ejs @@ -6,12 +6,12 @@ let dataNoScroll = { caption: 'Titre du tableau (caption) non scrollable', noScr let dataLayoutFixed = { caption: 'Titre du tableau (caption) fixé', layout: "fixed", col: 3}; let dataNoCaption = { caption: 'Titre du tableau (caption) caché', noCaption: true, col: 6}; let dataCaptionBottom = { caption: 'Titre du tableau (caption) en bas', captionBottom: true, col: 6}; - -// @TODO: revoir les grilles avec layout %> <%- sample('Tableau par défaut', './sample/table-default', {table:data}, true) %> +<%- sample('Tableau minimal', './sample/table-default', {table: { caption: 'Titre du tableau (caption)', col: 2, row: 3}}, true) %> + <%- sample('Tableau avec bordure', './sample/table-default', {table:dataBordered}, true) %> <%- sample('Tableau non scrollable', './sample/table-default', {table:dataNoScroll}, true) %> diff --git a/src/component/table/deprecated/style/_legacy.scss b/src/component/table/deprecated/style/_legacy.scss index d90ea68f2..9ae777b2d 100644 --- a/src/component/table/deprecated/style/_legacy.scss +++ b/src/component/table/deprecated/style/_legacy.scss @@ -11,11 +11,13 @@ @include before(none); & > table { - background-image: none; - thead { background-image: none; + @include after { + background-image: none; + } + tr { &:first-child { th { @@ -32,6 +34,10 @@ } tbody { + @include after { + background-image: none; + } + tr { background-image: none; diff --git a/src/component/table/deprecated/style/_scheme.scss b/src/component/table/deprecated/style/_scheme.scss index efba50138..e19fc08b7 100644 --- a/src/component/table/deprecated/style/_scheme.scss +++ b/src/component/table/deprecated/style/_scheme.scss @@ -8,17 +8,19 @@ @mixin _deprecated-table-scheme($legacy: false) { #{ns(table)} { & > table { - @include after { - @include color.background-image((border contrast grey) (border contrast grey) (border contrast grey) (border contrast grey), (legacy:$legacy)); - } - caption { @include color.text(title grey, (legacy: $legacy)); } + thead, + tbody { + @include after { + @include color.background-image((border contrast grey) (border contrast grey) (border contrast grey), (legacy:$legacy)); + } + } + thead { @include color.background-image(border plain grey, (legacy: $legacy)); - @include color.background(alt grey, (legacy: $legacy)); @include color.text(title grey, (legacy: $legacy)); } diff --git a/src/component/table/deprecated/style/module/_default.scss b/src/component/table/deprecated/style/module/_default.scss index c12c42207..3211e21df 100644 --- a/src/component/table/deprecated/style/module/_default.scss +++ b/src/component/table/deprecated/style/module/_default.scss @@ -4,14 +4,12 @@ //// #{ns(table)} { + @include padding-top(var(--table-offset)); + @include before('', block) { @include size(100%, 0); } - &:not(:has(#{ns(table__container)})) { - @include padding-top(var(--table-offset)); - } - &:not(#{ns(table--no-scroll)}) { & > table { width: 100%; @@ -47,7 +45,7 @@ td, th { font-weight: font-weight(bold); - @include padding-bottom(3.5v); // 0.5v for the box shadow + @include padding-bottom(3.5v); @include padding-bottom(4.5v, md); } } @@ -55,13 +53,30 @@ &#{ns-attr(js-table, true)} { & > table { - @include after('', block) { - @include absolute(var(--table-offset), null, null, 0, 100%, calc(100% - var(--table-offset))); - @include z-index(over); - background-position: 0 0, 0 0, 100% 100%, 0 100%; - background-size: 100% 1px, 1px 100%, 1px 100%, 100% 1px; - background-repeat: no-repeat, no-repeat, no-repeat, no-repeat; - pointer-events: none; + thead, + tbody { + @include relative; + + @include after('', block) { + @include absolute(0, null, null, 0, 100%, 100%); + @include z-index(over); + background-repeat: no-repeat, no-repeat, no-repeat; + pointer-events: none; + } + } + + thead { + @include after { + background-position: 0 0, 0 0, 100% 100%; + background-size: 100% 1px, 1px 100%, 1px 100%; + } + } + + tbody { + @include after { + background-position: 0 0, 0 100%, 100% 0; + background-size: 1px 100%, 100% 1px, 1px 100%; + } } } } diff --git a/src/component/table/deprecated/style/module/_variants.scss b/src/component/table/deprecated/style/module/_variants.scss index 21f2070bb..8fb67e154 100644 --- a/src/component/table/deprecated/style/module/_variants.scss +++ b/src/component/table/deprecated/style/module/_variants.scss @@ -22,11 +22,8 @@ * Fixe le caption en bas du tableau */ &--caption-bottom { - &:not(:has(#{ns(table__container)})) { - @include padding-top(0); - @include margin-bottom(0); - @include margin-top(4v); - } + @include padding-top(0); + @include margin-top(4v); & > table { @include margin-bottom(calc(var(--table-offset) + 11v)); diff --git a/src/component/table/example/data/data-complex-tbody.json.ejs b/src/component/table/example/data/data-complex-tbody.json.ejs index f6bc28d97..e13d925f7 100644 --- a/src/component/table/example/data/data-complex-tbody.json.ejs +++ b/src/component/table/example/data/data-complex-tbody.json.ejs @@ -29,7 +29,7 @@ const tbody = [ }, { attributes: { - headers: 'complex-row-0 complex-thead-0-col-4 complex-thead-1-col-5' + headers: 'complex-row-0 complex-thead-0-col-4 complex-thead-1-col-4' }, content: 'EPS' } @@ -38,7 +38,7 @@ const tbody = [ { attributes: { colspan: 5, - headers: 'complex-row-1 complex-thead-0-col-1 complex-thead-0-col-2 complex-thead-0-col-3 complex-thead-0-col-4 complex-thead-1-col-1 complex-thead-1-col-2 complex-thead-1-col-3 complex-thead-1-col-4 complex-thead-1-col-5' + headers: 'complex-row-1 complex-thead-0-col-1 complex-thead-0-col-2 complex-thead-0-col-3 complex-thead-0-col-4 complex-thead-1-col-1 complex-thead-1-col-2 complex-thead-1-col-3 complex-thead-1-col-4 complex-thead-1-col-4' }, content: 'Etude dirigée
Exemple de colspan sur toute la ligne' } @@ -71,7 +71,7 @@ const tbody = [ }, { attributes: { - headers: 'complex-row-2 complex-thead-0-col-4 complex-thead-1-col-5' + headers: 'complex-row-2 complex-thead-0-col-4 complex-thead-1-col-4' }, content: 'Sciences' } @@ -97,7 +97,7 @@ const tbody = [ }, { attributes: { - headers: 'complex-row-3 complex-thead-0-col-4 complex-thead-1-col-5' + headers: 'complex-row-3 complex-thead-0-col-4 complex-thead-1-col-4' }, content: 'Physique - Chimie' } @@ -124,7 +124,7 @@ const tbody = [ }, { attributes: { - headers: 'complex-row-4 complex-thead-0-col-4 complex-thead-1-col-5' + headers: 'complex-row-4 complex-thead-0-col-4 complex-thead-1-col-4' }, content: 'LV2' } diff --git a/src/component/table/index.js b/src/component/table/index.js index 073404a87..c892301b9 100644 --- a/src/component/table/index.js +++ b/src/component/table/index.js @@ -1,5 +1,6 @@ import api from './api.js'; import { Table } from './script/table/table.js'; +import { TableWrapper } from './script/table/table-wrapper.js'; import { TableElement } from './script/table/table-element.js'; import { TableSelector } from './script/table/table-selector.js'; import { TableCaption } from './script/table/table-caption.js'; @@ -7,6 +8,7 @@ import { TableRow } from './script/table/table-row.js'; api.table = { Table: Table, + TableWrapper: TableWrapper, TableElement: TableElement, TableCaption: TableCaption, TableSelector: TableSelector, diff --git a/src/component/table/main.js b/src/component/table/main.js index 4fc3de0fa..ee04ee3bf 100644 --- a/src/component/table/main.js +++ b/src/component/table/main.js @@ -1,6 +1,7 @@ import api from './index.js'; api.internals.register(api.table.TableSelector.TABLE, api.table.Table); +api.internals.register(api.table.TableSelector.TABLE_WRAPPER, api.table.TableWrapper); api.internals.register(api.table.TableSelector.ELEMENT, api.table.TableElement); api.internals.register(api.table.TableSelector.CAPTION, api.table.TableCaption); api.internals.register(api.table.TableSelector.ROW, api.table.TableRow); diff --git a/src/component/table/script/table/table-caption.js b/src/component/table/script/table/table-caption.js index 00ff7d331..53740b98b 100644 --- a/src/component/table/script/table/table-caption.js +++ b/src/component/table/script/table/table-caption.js @@ -1,6 +1,7 @@ import api from '../../api.js'; import { TableEmission } from './table-emission.js'; +const PADDING = '1rem'; // padding de 4v sur le caption class TableCaption extends api.core.Instance { static get instanceClassName () { return 'TableCaption'; @@ -15,7 +16,7 @@ class TableCaption extends api.core.Instance { const height = this.getRect().height; if (this.height === height) return; this.height = height; - this.ascend(TableEmission.CAPTION_HEIGHT, height); + this.ascend(TableEmission.CAPTION_HEIGHT, `calc(${height}px + ${PADDING})`); } } diff --git a/src/component/table/script/table/table-selector.js b/src/component/table/script/table/table-selector.js index 313912b49..cf059b8f6 100644 --- a/src/component/table/script/table/table-selector.js +++ b/src/component/table/script/table/table-selector.js @@ -2,6 +2,7 @@ import api from '../../api.js'; export const TableSelector = { TABLE: api.internals.ns.selector('table'), + TABLE_WRAPPER: [`${api.internals.ns.selector('table')} ${api.internals.ns.selector('table__wrapper')}`], SHADOW: api.internals.ns.selector('table__shadow'), SHADOW_LEFT: api.internals.ns.selector('table__shadow--left'), SHADOW_RIGHT: api.internals.ns.selector('table__shadow--right'), diff --git a/src/component/table/script/table/table-wrapper.js b/src/component/table/script/table/table-wrapper.js new file mode 100644 index 000000000..eaa6f38ef --- /dev/null +++ b/src/component/table/script/table/table-wrapper.js @@ -0,0 +1,19 @@ +import api from '../../api.js'; +import { TableEmission } from './table-emission.js'; + +class TableWrapper extends api.core.Instance { + static get instanceClassName () { + return 'TableWrapper'; + } + + init () { + this.addAscent(TableEmission.CAPTION_HEIGHT, this.setCaptionHeight.bind(this)); + } + + setCaptionHeight (value) { + requestAnimationFrame(() => this.ascend(TableEmission.CAPTION_HEIGHT, 0)); + this.setProperty('--table-offset', value); + } +} + +export { TableWrapper }; diff --git a/src/component/table/script/table/table.js b/src/component/table/script/table/table.js index 2eb877868..7cb20baae 100644 --- a/src/component/table/script/table/table.js +++ b/src/component/table/script/table/table.js @@ -1,20 +1,17 @@ import api from '../../api.js'; import { TableEmission } from './table-emission.js'; -const PADDING = '1rem'; // padding de 4v sur le caption - class Table extends api.core.Instance { static get instanceClassName () { return 'Table'; } init () { - this.rowsHeaderWidth = []; this.addAscent(TableEmission.CAPTION_HEIGHT, this.setCaptionHeight.bind(this)); } setCaptionHeight (value) { - this.setProperty('--table-offset', `calc(${value}px + ${PADDING})`); + this.setProperty('--table-offset', value); } } diff --git a/src/component/table/style/_legacy.scss b/src/component/table/style/_legacy.scss index db45b3160..af1f84789 100644 --- a/src/component/table/style/_legacy.scss +++ b/src/component/table/style/_legacy.scss @@ -87,6 +87,7 @@ &#{ns(table--caption-bottom)} { caption { @include relative; + @include margin-bottom(4v); } } diff --git a/src/component/table/style/_scheme.scss b/src/component/table/style/_scheme.scss index a105ae78d..220059947 100644 --- a/src/component/table/style/_scheme.scss +++ b/src/component/table/style/_scheme.scss @@ -37,10 +37,8 @@ tbody { tr { - &[aria-selected=true] { - &::after { - @include color.background-image((border action-high blue-france) (border action-high blue-france) (border action-high blue-france) (border action-high blue-france), (legacy: $legacy)); - } + @include after { + @include color.background-image((border action-high blue-france) (border action-high blue-france) (border action-high blue-france) (border action-high blue-france), (legacy: $legacy)); } } diff --git a/src/component/table/style/module/_default.scss b/src/component/table/style/module/_default.scss index 4069e2c58..6652b3544 100644 --- a/src/component/table/style/module/_default.scss +++ b/src/component/table/style/module/_default.scss @@ -10,7 +10,7 @@ #{ns(table)} { --table-offset: calc(0px); - --row-height: 0; + --row-height: #{spacing.space(0.5v)}; @include set-text-margin(0); @include set-title-margin(0); @@ -165,63 +165,48 @@ background-position: 0 100%, 100% 0; } - tr:first-child[aria-selected=true]:has(+ tr:not([aria-selected=true])), - tr:not([aria-selected=true]) + tr:last-child[aria-selected=true], - tr:not([aria-selected=true]) + tr[aria-selected=true]:has(+ tr:not([aria-selected=true])) { - &::after { - // selected borders left-right + top-bottom - background-size: 100% 2px, 2px 100%, 2px 100%, 100% 2px; + tr { + @include after { + @include absolute(null, null, null, 0, 100%, var(--row-height)); + @include z-index(above); + pointer-events: none; + transform: translateY(spacing.space(-0.5v)); + + background-size: spacing.space(0.5v 100%), spacing.space(0.5v 100%), spacing.space(100% 0.5v), 0 0; background-repeat: no-repeat, no-repeat, no-repeat, no-repeat; - background-position: 100% 100%, 0 0, 100% 0, 100% 0; + background-position: 0 0, 100% 0, 0 0, 0 100%; + + @include preference.forced-colors { + border: 2px solid highlight; + } } - } - tr[aria-selected=true] + tr[aria-selected=true] { - &::after { - // selected borders left-right - background-size: 2px 100%, 2px 100%; - background-repeat: no-repeat, no-repeat; - background-position: 0 0, 100% 0; + &[aria-selected="true"], + &[aria-selected="true"] + tr { + @include after(''); } - } - tr:first-child[aria-selected=true]:has(+ tr[aria-selected=true]), - tr:not([aria-selected=true]) + tr[aria-selected=true] { - &::after { - // selected borders left-right + top - background-size: 2px 100%, 2px 100%, 100% 2px; - background-repeat: no-repeat, no-repeat, no-repeat; - background-position: 0 0, 100% 0, 100% 0; + &[aria-selected="true"] + tr[aria-selected="true"] { + @include after { + background-size: spacing.space(0.5v 100%), spacing.space(0.5v 100%), 0 0, 0 0; + } } - } - tr[aria-selected=true] + tr:last-child[aria-selected=true], - tr[aria-selected=true]:has(+ tr:not([aria-selected=true])) { - &::after { - // selected borders left-right + bottom - background-size: 100% 2px, 2px 100%, 2px 100%; - background-repeat: no-repeat, no-repeat, no-repeat; - background-position: 100% 100%, 0 0, 100% 0; + &[aria-selected="true"] + tr:not([aria-selected="true"]) { + @include after { + background-size: 0 0, 0 0, spacing.space(100% 0.5v), 0 0; + } } - } - tr { - &[aria-selected="true"] { - &::after { - @include absolute(null, null, null, 0, 100%, var(--row-height)); - @include z-index(above); - content: ''; - pointer-events: none; - transform: translateY(spacing.space(-0.5v)); - - // selected borders left-right - background-size: spacing.space(0.5v 100%), spacing.space(0.5v 100%); - background-repeat: no-repeat, no-repeat; - background-position: 0 0, 100% 0; - - @include preference.forced-colors { - border: 2px solid highlight; - } + &:last-of-type[aria-selected="true"] { + @include after { + background-size: spacing.space(0.5v 100%), spacing.space(0.5v 100%), spacing.space(100% 0.5v), spacing.space(100% 0.5v); + } + } + + &[aria-selected="true"] + tr:last-of-type[aria-selected="true"] { + @include after { + background-size: spacing.space(0.5v 100%), spacing.space(0.5v 100%), 0 0, spacing.space(100% 0.5v); } } } @@ -258,6 +243,7 @@ position: initial; @include title-style(h4, true); @include font-weight(bold); + @include margin-bottom(4v); text-align: left; #{ns(table__caption__desc)} { diff --git a/src/component/table/style/module/_variants.scss b/src/component/table/style/module/_variants.scss index 36c2cdcc6..37c2394b8 100644 --- a/src/component/table/style/module/_variants.scss +++ b/src/component/table/style/module/_variants.scss @@ -27,6 +27,7 @@ @include margin-bottom(0); #{ns(table__wrapper)} { + @include margin-top(0); @include margin-bottom(calc(var(--table-offset) + 6v)); &::after { @@ -40,6 +41,7 @@ } caption { + @include margin-bottom(0); @include margin-top(4v); @include height(min-content); caption-side: bottom; From cfcfeaf304a70abd65072778905c8a292942b884 Mon Sep 17 00:00:00 2001 From: Keryan SANIE Date: Tue, 25 Jun 2024 17:01:55 +0200 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=90=9B=20fix(artwork):=20correction?= =?UTF-8?q?=20pictogrammes=20firefox=20et=20Chrome156=20[DS-3806,=20DS-354?= =?UTF-8?q?1]=20(#971)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - changement structurel des svg d'artwork - corrige la régression apportée par la nouvelle version de chrome qui ne supporte plus la surchage de colorisation sur le svg si le path ciblé est déja coloré dans le svg - le path ciblé est déja coloré dans le svg - corrige l'accentuation des pictogrammes sur firefox - mise en place d'un script permettant de transformer les anciens pictogrammes vers la nouvelle structure - `yarn pictogram-converter -p [chemin/picto]` --- package.json | 1 + src/core/asset/artwork/background/ovoid.svg | 31 +++++++------- src/core/asset/artwork/dark.svg | 15 ++++--- src/core/asset/artwork/light.svg | 15 ++++--- .../pictograms/buildings/city-hall.svg | 15 ++++--- .../artwork/pictograms/buildings/factory.svg | 15 ++++--- .../artwork/pictograms/buildings/house.svg | 15 ++++--- .../pictograms/buildings/nuclear-plant.svg | 15 ++++--- .../artwork/pictograms/buildings/school.svg | 15 ++++--- .../pictograms/digital/application.svg | 15 ++++--- .../artwork/pictograms/digital/avatar.svg | 15 ++++--- .../artwork/pictograms/digital/calendar.svg | 15 ++++--- .../artwork/pictograms/digital/coding.svg | 15 ++++--- .../pictograms/digital/data-visualization.svg | 15 ++++--- .../pictograms/digital/in-progress.svg | 15 ++++--- .../artwork/pictograms/digital/internet.svg | 15 ++++--- .../artwork/pictograms/digital/mail-send.svg | 15 ++++--- .../artwork/pictograms/digital/search.svg | 15 ++++--- .../artwork/pictograms/document/contract.svg | 15 ++++--- .../pictograms/document/document-add.svg | 15 ++++--- .../pictograms/document/document-download.svg | 15 ++++--- .../document/document-signature.svg | 15 ++++--- .../artwork/pictograms/document/document.svg | 15 ++++--- .../pictograms/document/driving-licence.svg | 15 ++++--- .../document/national-identity-card.svg | 15 ++++--- .../artwork/pictograms/document/passport.svg | 15 ++++--- .../artwork/pictograms/document/tax-stamp.svg | 15 ++++--- .../document/vehicle-registration.svg | 15 ++++--- .../pictograms/environment/environment.svg | 15 ++++--- .../artwork/pictograms/environment/food.svg | 15 ++++--- .../pictograms/environment/grocery.svg | 15 ++++--- .../environment/human-cooperation.svg | 15 ++++--- .../artwork/pictograms/environment/leaf.svg | 15 ++++--- .../artwork/pictograms/environment/moon.svg | 15 ++++--- .../pictograms/environment/mountain.svg | 15 ++++--- .../artwork/pictograms/environment/sun.svg | 15 ++++--- .../artwork/pictograms/environment/tree.svg | 15 ++++--- .../artwork/pictograms/health/health.svg | 15 ++++--- .../artwork/pictograms/health/hospital.svg | 15 ++++--- .../artwork/pictograms/health/vaccine.svg | 15 ++++--- .../asset/artwork/pictograms/health/virus.svg | 15 ++++--- .../pictograms/institutions/firefighter.svg | 15 ++++--- .../pictograms/institutions/gendarmerie.svg | 15 ++++--- .../pictograms/institutions/justice.svg | 15 ++++--- .../artwork/pictograms/institutions/money.svg | 15 ++++--- .../pictograms/institutions/police.svg | 15 ++++--- .../asset/artwork/pictograms/leisure/book.svg | 15 ++++--- .../artwork/pictograms/leisure/community.svg | 15 ++++--- .../artwork/pictograms/leisure/culture.svg | 15 ++++--- .../pictograms/leisure/digital-art.svg | 15 ++++--- .../artwork/pictograms/leisure/paint.svg | 15 ++++--- .../asset/artwork/pictograms/map/airport.svg | 15 ++++--- .../pictograms/map/location-france.svg | 15 ++++--- .../asset/artwork/pictograms/map/luggage.svg | 15 ++++--- src/core/asset/artwork/pictograms/map/map.svg | 15 ++++--- .../pictograms/system/connection-lost.svg | 15 ++++--- .../asset/artwork/pictograms/system/error.svg | 15 ++++--- .../artwork/pictograms/system/information.svg | 15 ++++--- .../pictograms/system/notification.svg | 15 ++++--- .../artwork/pictograms/system/padlock.svg | 15 ++++--- .../artwork/pictograms/system/success.svg | 15 ++++--- .../artwork/pictograms/system/system.svg | 15 ++++--- .../pictograms/system/technical-error.svg | 16 +++++--- .../artwork/pictograms/system/warning.svg | 15 ++++--- src/core/asset/artwork/system.svg | 15 ++++--- src/core/script/artwork/artwork.js | 10 ++++- tool/generate/pictogram.js | 41 ++++++++++++++++++- tool/tool.js | 33 +++++++++++++++ 68 files changed, 667 insertions(+), 395 deletions(-) diff --git a/package.json b/package.json index 02e97f428..1bb31d992 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "deploy": "node tool/tool.js deploy", "standalone": "node tool/tool.js standalone", "changelog": "node tool/tool.js changelog", + "pictogram-converter": "node tool/tool.js pictogram-converter", "serve": "browser-sync start --server --port 8080 --startPath example/" }, "files": [ diff --git a/src/core/asset/artwork/background/ovoid.svg b/src/core/asset/artwork/background/ovoid.svg index 98d816a1f..91dbedca6 100644 --- a/src/core/asset/artwork/background/ovoid.svg +++ b/src/core/asset/artwork/background/ovoid.svg @@ -1,16 +1,19 @@ - - - - - - - + + + + + + + + + + diff --git a/src/core/asset/artwork/dark.svg b/src/core/asset/artwork/dark.svg index 5754b1fd2..e4d335c29 100644 --- a/src/core/asset/artwork/dark.svg +++ b/src/core/asset/artwork/dark.svg @@ -1,11 +1,14 @@ - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/light.svg b/src/core/asset/artwork/light.svg index 5a301fe27..fbc3d161f 100644 --- a/src/core/asset/artwork/light.svg +++ b/src/core/asset/artwork/light.svg @@ -1,11 +1,14 @@ - + - - + + - - + + - + + + + \ No newline at end of file diff --git a/src/core/asset/artwork/pictograms/buildings/city-hall.svg b/src/core/asset/artwork/pictograms/buildings/city-hall.svg index 7e645005d..b5e8e426c 100644 --- a/src/core/asset/artwork/pictograms/buildings/city-hall.svg +++ b/src/core/asset/artwork/pictograms/buildings/city-hall.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/buildings/factory.svg b/src/core/asset/artwork/pictograms/buildings/factory.svg index 4ff7fd2dd..4f492a017 100644 --- a/src/core/asset/artwork/pictograms/buildings/factory.svg +++ b/src/core/asset/artwork/pictograms/buildings/factory.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/buildings/house.svg b/src/core/asset/artwork/pictograms/buildings/house.svg index c2553ad8a..76f68258e 100644 --- a/src/core/asset/artwork/pictograms/buildings/house.svg +++ b/src/core/asset/artwork/pictograms/buildings/house.svg @@ -10,13 +10,16 @@ fill: #000091; } - + - - + + - - + + - + + + + \ No newline at end of file diff --git a/src/core/asset/artwork/pictograms/buildings/nuclear-plant.svg b/src/core/asset/artwork/pictograms/buildings/nuclear-plant.svg index 3e0329b3a..e50438e31 100644 --- a/src/core/asset/artwork/pictograms/buildings/nuclear-plant.svg +++ b/src/core/asset/artwork/pictograms/buildings/nuclear-plant.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/buildings/school.svg b/src/core/asset/artwork/pictograms/buildings/school.svg index 9fdb0e2db..80cbe9ec8 100644 --- a/src/core/asset/artwork/pictograms/buildings/school.svg +++ b/src/core/asset/artwork/pictograms/buildings/school.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/digital/application.svg b/src/core/asset/artwork/pictograms/digital/application.svg index f8325865f..e5552bf64 100644 --- a/src/core/asset/artwork/pictograms/digital/application.svg +++ b/src/core/asset/artwork/pictograms/digital/application.svg @@ -10,11 +10,11 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/digital/avatar.svg b/src/core/asset/artwork/pictograms/digital/avatar.svg index 51ce8ce30..b74037d2b 100644 --- a/src/core/asset/artwork/pictograms/digital/avatar.svg +++ b/src/core/asset/artwork/pictograms/digital/avatar.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/digital/calendar.svg b/src/core/asset/artwork/pictograms/digital/calendar.svg index efa6a792d..d68be627c 100644 --- a/src/core/asset/artwork/pictograms/digital/calendar.svg +++ b/src/core/asset/artwork/pictograms/digital/calendar.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/digital/coding.svg b/src/core/asset/artwork/pictograms/digital/coding.svg index ad89e7936..cbc85c586 100644 --- a/src/core/asset/artwork/pictograms/digital/coding.svg +++ b/src/core/asset/artwork/pictograms/digital/coding.svg @@ -10,11 +10,11 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/digital/data-visualization.svg b/src/core/asset/artwork/pictograms/digital/data-visualization.svg index 3f9319172..906567a00 100644 --- a/src/core/asset/artwork/pictograms/digital/data-visualization.svg +++ b/src/core/asset/artwork/pictograms/digital/data-visualization.svg @@ -10,13 +10,13 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/digital/in-progress.svg b/src/core/asset/artwork/pictograms/digital/in-progress.svg index b8d8381ef..f409ff18b 100644 --- a/src/core/asset/artwork/pictograms/digital/in-progress.svg +++ b/src/core/asset/artwork/pictograms/digital/in-progress.svg @@ -10,13 +10,16 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/digital/internet.svg b/src/core/asset/artwork/pictograms/digital/internet.svg index 549c17104..ee11b87c9 100644 --- a/src/core/asset/artwork/pictograms/digital/internet.svg +++ b/src/core/asset/artwork/pictograms/digital/internet.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/digital/mail-send.svg b/src/core/asset/artwork/pictograms/digital/mail-send.svg index 9d98e866b..4bece7f8b 100644 --- a/src/core/asset/artwork/pictograms/digital/mail-send.svg +++ b/src/core/asset/artwork/pictograms/digital/mail-send.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/digital/search.svg b/src/core/asset/artwork/pictograms/digital/search.svg index 92b63de65..893dccb93 100644 --- a/src/core/asset/artwork/pictograms/digital/search.svg +++ b/src/core/asset/artwork/pictograms/digital/search.svg @@ -10,13 +10,13 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/document/contract.svg b/src/core/asset/artwork/pictograms/document/contract.svg index 6f2bfde2e..146d5e676 100644 --- a/src/core/asset/artwork/pictograms/document/contract.svg +++ b/src/core/asset/artwork/pictograms/document/contract.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/document/document-add.svg b/src/core/asset/artwork/pictograms/document/document-add.svg index 9f8ba5790..dc6641781 100644 --- a/src/core/asset/artwork/pictograms/document/document-add.svg +++ b/src/core/asset/artwork/pictograms/document/document-add.svg @@ -10,13 +10,16 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/document/document-download.svg b/src/core/asset/artwork/pictograms/document/document-download.svg index 42ea8201c..f88d088ad 100644 --- a/src/core/asset/artwork/pictograms/document/document-download.svg +++ b/src/core/asset/artwork/pictograms/document/document-download.svg @@ -10,13 +10,13 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/document/document-signature.svg b/src/core/asset/artwork/pictograms/document/document-signature.svg index c11e83f5a..6e83f743e 100644 --- a/src/core/asset/artwork/pictograms/document/document-signature.svg +++ b/src/core/asset/artwork/pictograms/document/document-signature.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/document/document.svg b/src/core/asset/artwork/pictograms/document/document.svg index 2fbfddf7c..fd232083c 100644 --- a/src/core/asset/artwork/pictograms/document/document.svg +++ b/src/core/asset/artwork/pictograms/document/document.svg @@ -10,18 +10,18 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/document/driving-licence.svg b/src/core/asset/artwork/pictograms/document/driving-licence.svg index ac8640d78..4f2ac39db 100644 --- a/src/core/asset/artwork/pictograms/document/driving-licence.svg +++ b/src/core/asset/artwork/pictograms/document/driving-licence.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/document/national-identity-card.svg b/src/core/asset/artwork/pictograms/document/national-identity-card.svg index ddcb4cd07..711b7a36b 100644 --- a/src/core/asset/artwork/pictograms/document/national-identity-card.svg +++ b/src/core/asset/artwork/pictograms/document/national-identity-card.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/document/passport.svg b/src/core/asset/artwork/pictograms/document/passport.svg index 0820fb36f..880c0083c 100644 --- a/src/core/asset/artwork/pictograms/document/passport.svg +++ b/src/core/asset/artwork/pictograms/document/passport.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/document/tax-stamp.svg b/src/core/asset/artwork/pictograms/document/tax-stamp.svg index 742cb5378..1caa08f38 100644 --- a/src/core/asset/artwork/pictograms/document/tax-stamp.svg +++ b/src/core/asset/artwork/pictograms/document/tax-stamp.svg @@ -10,14 +10,14 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/document/vehicle-registration.svg b/src/core/asset/artwork/pictograms/document/vehicle-registration.svg index 637ff8bb0..4b54b3f1e 100644 --- a/src/core/asset/artwork/pictograms/document/vehicle-registration.svg +++ b/src/core/asset/artwork/pictograms/document/vehicle-registration.svg @@ -10,11 +10,11 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/environment/environment.svg b/src/core/asset/artwork/pictograms/environment/environment.svg index 0db3c0f01..cb955f995 100644 --- a/src/core/asset/artwork/pictograms/environment/environment.svg +++ b/src/core/asset/artwork/pictograms/environment/environment.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/environment/food.svg b/src/core/asset/artwork/pictograms/environment/food.svg index 07783b4cd..b095c4008 100644 --- a/src/core/asset/artwork/pictograms/environment/food.svg +++ b/src/core/asset/artwork/pictograms/environment/food.svg @@ -10,13 +10,16 @@ fill: #000091; } - + - - + + - - + + - + + + + \ No newline at end of file diff --git a/src/core/asset/artwork/pictograms/environment/grocery.svg b/src/core/asset/artwork/pictograms/environment/grocery.svg index 3e78bf0e2..bf4326561 100644 --- a/src/core/asset/artwork/pictograms/environment/grocery.svg +++ b/src/core/asset/artwork/pictograms/environment/grocery.svg @@ -10,13 +10,16 @@ fill: #000091; } - + - - + + - - + + - + + + + \ No newline at end of file diff --git a/src/core/asset/artwork/pictograms/environment/human-cooperation.svg b/src/core/asset/artwork/pictograms/environment/human-cooperation.svg index 3f4f54b7d..567511297 100644 --- a/src/core/asset/artwork/pictograms/environment/human-cooperation.svg +++ b/src/core/asset/artwork/pictograms/environment/human-cooperation.svg @@ -10,13 +10,13 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/environment/leaf.svg b/src/core/asset/artwork/pictograms/environment/leaf.svg index 7c60559a5..fff358a34 100644 --- a/src/core/asset/artwork/pictograms/environment/leaf.svg +++ b/src/core/asset/artwork/pictograms/environment/leaf.svg @@ -10,19 +10,19 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/environment/moon.svg b/src/core/asset/artwork/pictograms/environment/moon.svg index 14aec933e..51ed8eef9 100644 --- a/src/core/asset/artwork/pictograms/environment/moon.svg +++ b/src/core/asset/artwork/pictograms/environment/moon.svg @@ -10,20 +10,20 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/environment/mountain.svg b/src/core/asset/artwork/pictograms/environment/mountain.svg index d2747e35a..8946234fb 100644 --- a/src/core/asset/artwork/pictograms/environment/mountain.svg +++ b/src/core/asset/artwork/pictograms/environment/mountain.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/environment/sun.svg b/src/core/asset/artwork/pictograms/environment/sun.svg index 1f44531bb..1d2805bc3 100644 --- a/src/core/asset/artwork/pictograms/environment/sun.svg +++ b/src/core/asset/artwork/pictograms/environment/sun.svg @@ -10,17 +10,17 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/environment/tree.svg b/src/core/asset/artwork/pictograms/environment/tree.svg index 14be32188..f000d2d4c 100644 --- a/src/core/asset/artwork/pictograms/environment/tree.svg +++ b/src/core/asset/artwork/pictograms/environment/tree.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/health/health.svg b/src/core/asset/artwork/pictograms/health/health.svg index e24140efd..9f5e6c1a7 100644 --- a/src/core/asset/artwork/pictograms/health/health.svg +++ b/src/core/asset/artwork/pictograms/health/health.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/health/hospital.svg b/src/core/asset/artwork/pictograms/health/hospital.svg index 485b9f7e8..0a5360112 100644 --- a/src/core/asset/artwork/pictograms/health/hospital.svg +++ b/src/core/asset/artwork/pictograms/health/hospital.svg @@ -10,19 +10,19 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/health/vaccine.svg b/src/core/asset/artwork/pictograms/health/vaccine.svg index fe405ca6f..c90ec3c00 100644 --- a/src/core/asset/artwork/pictograms/health/vaccine.svg +++ b/src/core/asset/artwork/pictograms/health/vaccine.svg @@ -10,13 +10,13 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/health/virus.svg b/src/core/asset/artwork/pictograms/health/virus.svg index 7881830b9..5c4ee276e 100644 --- a/src/core/asset/artwork/pictograms/health/virus.svg +++ b/src/core/asset/artwork/pictograms/health/virus.svg @@ -10,17 +10,17 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/institutions/firefighter.svg b/src/core/asset/artwork/pictograms/institutions/firefighter.svg index d892c94c9..a08294352 100644 --- a/src/core/asset/artwork/pictograms/institutions/firefighter.svg +++ b/src/core/asset/artwork/pictograms/institutions/firefighter.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/institutions/gendarmerie.svg b/src/core/asset/artwork/pictograms/institutions/gendarmerie.svg index a73f6f260..e8a1283dd 100644 --- a/src/core/asset/artwork/pictograms/institutions/gendarmerie.svg +++ b/src/core/asset/artwork/pictograms/institutions/gendarmerie.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/institutions/justice.svg b/src/core/asset/artwork/pictograms/institutions/justice.svg index 0f4c06f19..cd562abdf 100644 --- a/src/core/asset/artwork/pictograms/institutions/justice.svg +++ b/src/core/asset/artwork/pictograms/institutions/justice.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/institutions/money.svg b/src/core/asset/artwork/pictograms/institutions/money.svg index 061cf2c12..e3b78b7d4 100644 --- a/src/core/asset/artwork/pictograms/institutions/money.svg +++ b/src/core/asset/artwork/pictograms/institutions/money.svg @@ -10,11 +10,11 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/institutions/police.svg b/src/core/asset/artwork/pictograms/institutions/police.svg index d62590bcf..8ae57ef7f 100644 --- a/src/core/asset/artwork/pictograms/institutions/police.svg +++ b/src/core/asset/artwork/pictograms/institutions/police.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/leisure/book.svg b/src/core/asset/artwork/pictograms/leisure/book.svg index 684df79c0..db94b5143 100644 --- a/src/core/asset/artwork/pictograms/leisure/book.svg +++ b/src/core/asset/artwork/pictograms/leisure/book.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/leisure/community.svg b/src/core/asset/artwork/pictograms/leisure/community.svg index 3cf3c247c..65cf683df 100644 --- a/src/core/asset/artwork/pictograms/leisure/community.svg +++ b/src/core/asset/artwork/pictograms/leisure/community.svg @@ -10,11 +10,11 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/leisure/culture.svg b/src/core/asset/artwork/pictograms/leisure/culture.svg index e14c2a3ab..d4ed776fe 100644 --- a/src/core/asset/artwork/pictograms/leisure/culture.svg +++ b/src/core/asset/artwork/pictograms/leisure/culture.svg @@ -10,13 +10,13 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/leisure/digital-art.svg b/src/core/asset/artwork/pictograms/leisure/digital-art.svg index 9785ae273..e191c3678 100644 --- a/src/core/asset/artwork/pictograms/leisure/digital-art.svg +++ b/src/core/asset/artwork/pictograms/leisure/digital-art.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/leisure/paint.svg b/src/core/asset/artwork/pictograms/leisure/paint.svg index d73b1152f..b2a43431c 100644 --- a/src/core/asset/artwork/pictograms/leisure/paint.svg +++ b/src/core/asset/artwork/pictograms/leisure/paint.svg @@ -10,11 +10,11 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/map/airport.svg b/src/core/asset/artwork/pictograms/map/airport.svg index ceb422b0e..3dbc43030 100644 --- a/src/core/asset/artwork/pictograms/map/airport.svg +++ b/src/core/asset/artwork/pictograms/map/airport.svg @@ -10,11 +10,11 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/map/location-france.svg b/src/core/asset/artwork/pictograms/map/location-france.svg index 1dab4c690..8d3ddc084 100644 --- a/src/core/asset/artwork/pictograms/map/location-france.svg +++ b/src/core/asset/artwork/pictograms/map/location-france.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/map/luggage.svg b/src/core/asset/artwork/pictograms/map/luggage.svg index a826817b1..a2445facc 100644 --- a/src/core/asset/artwork/pictograms/map/luggage.svg +++ b/src/core/asset/artwork/pictograms/map/luggage.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/map/map.svg b/src/core/asset/artwork/pictograms/map/map.svg index d04a7edf1..8d1f63aa1 100644 --- a/src/core/asset/artwork/pictograms/map/map.svg +++ b/src/core/asset/artwork/pictograms/map/map.svg @@ -10,13 +10,13 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/system/connection-lost.svg b/src/core/asset/artwork/pictograms/system/connection-lost.svg index 92049204e..549d1885d 100644 --- a/src/core/asset/artwork/pictograms/system/connection-lost.svg +++ b/src/core/asset/artwork/pictograms/system/connection-lost.svg @@ -10,19 +10,19 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/system/error.svg b/src/core/asset/artwork/pictograms/system/error.svg index ce77e3190..8f0d846dc 100644 --- a/src/core/asset/artwork/pictograms/system/error.svg +++ b/src/core/asset/artwork/pictograms/system/error.svg @@ -10,19 +10,19 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/system/information.svg b/src/core/asset/artwork/pictograms/system/information.svg index f324a9347..5ad090d2c 100644 --- a/src/core/asset/artwork/pictograms/system/information.svg +++ b/src/core/asset/artwork/pictograms/system/information.svg @@ -10,16 +10,16 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/system/notification.svg b/src/core/asset/artwork/pictograms/system/notification.svg index 19d8c84bf..d08ad1571 100644 --- a/src/core/asset/artwork/pictograms/system/notification.svg +++ b/src/core/asset/artwork/pictograms/system/notification.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/system/padlock.svg b/src/core/asset/artwork/pictograms/system/padlock.svg index 5103d4793..ea89c9f32 100644 --- a/src/core/asset/artwork/pictograms/system/padlock.svg +++ b/src/core/asset/artwork/pictograms/system/padlock.svg @@ -10,17 +10,17 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/system/success.svg b/src/core/asset/artwork/pictograms/system/success.svg index 121858e73..bbdc7d53e 100644 --- a/src/core/asset/artwork/pictograms/system/success.svg +++ b/src/core/asset/artwork/pictograms/system/success.svg @@ -10,18 +10,18 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/system/system.svg b/src/core/asset/artwork/pictograms/system/system.svg index 1fe74cca8..5e0ffc821 100644 --- a/src/core/asset/artwork/pictograms/system/system.svg +++ b/src/core/asset/artwork/pictograms/system/system.svg @@ -10,13 +10,16 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/pictograms/system/technical-error.svg b/src/core/asset/artwork/pictograms/system/technical-error.svg index 3c90712e8..62d02b2aa 100644 --- a/src/core/asset/artwork/pictograms/system/technical-error.svg +++ b/src/core/asset/artwork/pictograms/system/technical-error.svg @@ -10,12 +10,12 @@ fill: #000091; } - + - - + + - - + + - + + + + + diff --git a/src/core/asset/artwork/pictograms/system/warning.svg b/src/core/asset/artwork/pictograms/system/warning.svg index 3b595b175..b75aba4c8 100644 --- a/src/core/asset/artwork/pictograms/system/warning.svg +++ b/src/core/asset/artwork/pictograms/system/warning.svg @@ -10,21 +10,24 @@ fill: #000091; } - + - - + + - - + + - + + + + diff --git a/src/core/asset/artwork/system.svg b/src/core/asset/artwork/system.svg index d66e92bc7..1aa24c6bb 100644 --- a/src/core/asset/artwork/system.svg +++ b/src/core/asset/artwork/system.svg @@ -1,11 +1,14 @@ - + - - + + - - + + - + + + + diff --git a/src/core/script/artwork/artwork.js b/src/core/script/artwork/artwork.js index 8221aa350..198cc8b24 100644 --- a/src/core/script/artwork/artwork.js +++ b/src/core/script/artwork/artwork.js @@ -29,9 +29,15 @@ class Artwork extends Instance { const parser = new DOMParser(); const xmlDoc = parser.parseFromString(xhr.responseText, 'text/html'); this.realSvgContent = xmlDoc.getElementById(this.svgName); - if (this.realSvgContent) { - this.realSvgContent.classList.add(this.node.classList); + if (this.realSvgContent.tagName === 'symbol') { + this.use = xmlDoc.querySelector('use[href="#' + this.svgName + '"]'); + if (this.use) this.node.parentNode.insertBefore(this.use, this.node); + } else { + // deprecated svg structure + this.realSvgContent.classList.add(this.node.classList); + } + this.replace(); } }; diff --git a/tool/generate/pictogram.js b/tool/generate/pictogram.js index 7c933f519..5004ea5bf 100644 --- a/tool/generate/pictogram.js +++ b/tool/generate/pictogram.js @@ -2,6 +2,7 @@ const fs = require('fs'); const path = require('path'); const root = require('../utilities/root'); const { createFile } = require('../utilities/file'); +const log = require('../utilities/log'); const generatePictogram = async (dir) => { let sass = '$pictogram-config: (\n'; @@ -30,4 +31,42 @@ const generatePictogram = async (dir) => { createFile(jsonPath, JSON.stringify(json)); }; -module.exports = { generatePictogram }; +const generateNewPictogram = async (dir) => { + _parseFolder(dir); +}; + +const _parseFolder = (mainPath, subPath = '') => { + const dir = `${mainPath}${subPath}`; + log(38, `${dir}`); + const files = fs.readdirSync(dir); + files.forEach((file) => { + const stat = fs.statSync(`${dir}/${file}`); + if (stat.isDirectory()) { + _parseFolder(mainPath, `${subPath}/${file}`); + } else { + if (stat.isFile() && path.extname(file) === '.svg') { + _replaceOldStructure(`${dir}/${file}`); + } + } + }); +}; + +const _replaceOldStructure = (path) => { + log(38, `${path}`); + const svg = fs.readFileSync(`${path}`, 'utf8'); + const newSvg = replaceOldStructureSVG(svg); + fs.writeFileSync(`${path}`, newSvg); +}; + +const replaceOldStructureSVG = (svg) => { + const classes = [...svg.matchAll(//g, ` \n`); + } + return newSvg; +}; + +module.exports = { generatePictogram, generateNewPictogram, replaceOldStructureSVG }; diff --git a/tool/tool.js b/tool/tool.js index 9b7a8d320..d59dadaf3 100755 --- a/tool/tool.js +++ b/tool/tool.js @@ -8,6 +8,7 @@ const buildRouting = require('./generate/routing'); const { deployFavicons, deployFiles, deployRobots } = require('./build/copy'); const { test } = require('./test/test'); const standalone = require('./build/standalone'); +const { generateNewPictogram } = require('./generate/pictogram'); /** * Build @@ -293,6 +294,32 @@ const changelogHandler = async (argv) => { await changelog.build(); }; +/** + * Pictogram converter + * Permet de transformer l'ancienne structure des pictogrammes avec des en une structure avec des et + */ +const newPictogramBuilder = (yargs) => { + return yargs + .usage('Usage: $0 -p [path/to/svg]') + .example( + '$0 -p [path/to/svg]', + 'convertit les pictogrammes en une structure avec des et ' + ) + .option('path', { + alias: '-p', + describe: 'chemin vers le dossier contenant les pictogrammes', + type: 'string' + }); +}; + +const newPictogramHandler = async (argv) => { + const settings = { + path: argv.path + }; + + generateNewPictogram(settings.path || './src/core/asset/artwork'); +}; + yargs .scriptName('tool') .command( @@ -331,5 +358,11 @@ yargs changelogBuilder, changelogHandler ) + .command( + 'pictogram-converter', + 'transforme les pictogrammes en une structure avec des et ', + newPictogramBuilder, + newPictogramHandler + ) .help() .argv; From fd61cadc6ae67383a1a2fd7d24bf8f7ada8d1ab7 Mon Sep 17 00:00:00 2001 From: Keryan SANIE Date: Tue, 25 Jun 2024 17:08:06 +0200 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=9A=80=20chore(*):=20changelog=20v1.1?= =?UTF-8?q?2.1=20(#972)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 21 +++++++++++++++++++++ package.json | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9552cdf04..47e7be418 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,8 +12,29 @@ Pour plus d’informations : [Voir la documentation](https://www.systeme-de-desi ## v1.12 +### [v1.12.1](https://github.com/GouvernementFR/dsfr/compare/v1.12.0...v1.12.1) - 25 Juin 2024 + +#### 🐛 fix(artwork): correction pictogrammes firefox et Chrome156 [(#971)](https://github.com/GouvernementFR/dsfr/pull/971) +- changement structurel des svg d'artwork + - corrige la régression apportée par la nouvelle version de chrome qui ne supporte plus la surchage de colorisation sur le svg si le path ciblé est déja coloré dans le svg + - le path ciblé est déja coloré dans le svg +- corrige l'accentuation des pictogrammes sur firefox + - mise en place d'un script permettant de transformer les anciens pictogrammes vers la nouvelle structure + - `yarn pictogram-converter -p [chemin/picto]` + + +#### 🐛 fix(table): corrige regressions sur les tableaux déprécies [(#969)](https://github.com/GouvernementFR/dsfr/pull/969) +- déplace bordures des tableaux déprécies sur les thead et tbody +- retire les selecteurs css :has + + + ### [v1.12.0](https://github.com/GouvernementFR/dsfr/compare/v1.11.2...v1.12.0) - 19 Juin 2024 +#### ⬆️ chore(dependencies): met a jour les dépendances npm et correction lint [(#961)](https://github.com/GouvernementFR/dsfr/pull/961) +- mise à jour dépendances npm + + #### 🐛 fix(*): correctifs pages d'exemple et icone bandeau d'alerte [(#948)](https://github.com/GouvernementFR/dsfr/pull/948) - correction icone bandeau d'alerte - corrections de libellés dans les pages d'exemples diff --git a/package.json b/package.json index 1bb31d992..fb796f8ae 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@gouvfr/dsfr", - "version": "1.12.0", + "version": "1.12.1", "description": "Système de Design de l'Etat - DSFR", "repository": "git@github.com:GouvernementFR/dsfr.git", "author": "Service d'Information du Gouvernement ",