Compare commits

...

270 Commits

Author SHA1 Message Date
Frédéric Péters 07d3c458a2 scss: reduce a little bit flex columns to work around alignment issues (#89903)
gitea/gadjo/pipeline/head This commit looks good Details
2024-04-23 10:47:47 +02:00
Frédéric Péters 35aa41eec9 scss: remove margin for help text paragraph (#84751)
gitea/gadjo/pipeline/head This commit looks good Details
2024-04-16 10:06:16 +02:00
Nicolas Roche 437b015121 widgets: put field help texts in <p> (#84751) 2024-04-16 10:06:16 +02:00
Lauréline Guérin 0cb151e692 snapshotdiff: scss & js files (#89477)
gitea/gadjo/pipeline/head This commit looks good Details
2024-04-16 09:57:32 +02:00
Paul Marillonnet 606fd39cfc css: add pk-hide-requisiteness form class (#88343)
gitea/gadjo/pipeline/head This commit looks good Details
2024-04-16 09:55:27 +02:00
Frédéric Péters 63b36ba0c9 misc: do not style "html edition" godo as textareas (#89470)
gitea/gadjo/pipeline/head This commit looks good Details
2024-04-12 09:25:19 +02:00
Frédéric Péters 251e1f5ef8 templates: add lang attribute (#86622)
gitea/gadjo/pipeline/head This commit looks good Details
2024-02-06 15:27:50 +01:00
Yann Weber a015a1bcf9 template: allow using menu-opener class outside #appbar div (#86001)
gitea/gadjo/pipeline/head This commit looks good Details
2024-01-22 18:18:55 +01:00
Yann Weber 04c0f88623 a11y: add aria-required when input field required (#85451)
gitea/gadjo/pipeline/head This commit looks good Details
2024-01-15 11:50:19 +01:00
Yann Weber df330cdece test: add allowlist_externals for pylint.sh (#85457)
gitea/gadjo/pipeline/head This commit looks good Details
2024-01-15 11:47:38 +01:00
Frédéric Péters 76c19a4918 misc: reduce line-height for list of links (#84962)
gitea/gadjo/pipeline/head This commit looks good Details
2024-01-12 14:28:41 +01:00
Frédéric Péters 2af24283e9 js: allow sites to disable gadjo handling of foldable sections (#85001)
gitea/gadjo/pipeline/head This commit looks good Details
2023-12-21 09:53:25 +01:00
Thomas Jund 64a43d8d30 css: add styles for native details html element (#83376)
gitea/gadjo/pipeline/head This commit looks good Details
2023-12-15 09:58:50 +01:00
Frédéric Péters 7578b0a0cf js: add class to keep track of details opening status (#83376) 2023-12-15 09:58:50 +01:00
Serghei Mihai 9dd8021f68 misc: fix horizontal alignment of radio buttons (#84549)
gitea/gadjo/pipeline/head This commit looks good Details
2023-12-12 10:29:44 +01:00
Frédéric Péters 72f6f0b1b0 js: add data-close-button-text to give a label to the close button (#83616)
gitea/gadjo/pipeline/head This commit looks good Details
2023-11-24 09:11:41 +01:00
Frédéric Péters cae86557c5 js: style [name=delete] as delete buttons (#83611) 2023-11-24 09:11:35 +01:00
Frédéric Péters 5c5b83e4d9 js: force ckeditor textarea width in popups (#83609) 2023-11-24 09:11:29 +01:00
Frédéric Péters 42eaecf796 js: consider [name=cancel] buttons as cancel buttons (#83603)
gitea/gadjo/pipeline/head This commit looks good Details
2023-11-24 09:11:23 +01:00
Frédéric Péters fef5e30202 js: add a X-Popup header to ajax call for popup content (#83599)
gitea/gadjo/pipeline/head Build queued... Details
2023-11-16 15:55:45 +01:00
Emmanuel Cazenave 9d1e21c6f6 setup: compute pep440 compliant dirty version number (#81731)
gitea/gadjo/pipeline/head This commit looks good Details
2023-10-30 17:20:31 +01:00
Frédéric Péters 36d03efd91 translation update
gitea/gadjo/pipeline/head This commit looks good Details
2023-10-06 15:43:46 +02:00
Frédéric Péters d1508a80fb templates: use a <nav> for skip links (#82095)
gitea/gadjo/pipeline/head This commit looks good Details
2023-10-06 11:03:49 +02:00
Frédéric Péters 7434a25b76 ci: keep on using pylint 2 while pylint-django is not ready (#81905)
gitea/gadjo/pipeline/head This commit looks good Details
2023-10-03 06:19:16 +02:00
Valentin Deniaud f6dfb7a3f8 misc: update git-blame-ignore-revs to ignore quote changes (#79788)
gitea/gadjo/pipeline/head This commit looks good Details
2023-08-16 10:12:11 +02:00
Valentin Deniaud 346e0a4d72 misc: apply double-quote-string-fixer (#79788) 2023-08-16 10:12:11 +02:00
Valentin Deniaud 8c135dd5da misc: add pre commit hook to force single quotes (#79788) 2023-08-16 10:12:11 +02:00
Thomas Jund 854a3431e7 css: remove -ms-flex* properties (#79205)
gitea/gadjo/pipeline/head This commit looks good Details
2023-06-29 10:06:52 +02:00
Frédéric Péters 77795ac846 ci: build deb package for bookworm (#78968)
gitea/gadjo/pipeline/head This commit looks good Details
2023-06-23 15:15:57 +02:00
Frédéric Péters 2aad9ac21a a11y: add alert role to form error (#74051)
gitea/gadjo/pipeline/head This commit looks good Details
2023-06-18 11:43:29 +02:00
Frédéric Péters 1fe855154d trivial: remove extraneous spaces (#77764)
gitea/gadjo/pipeline/head This commit looks good Details
2023-06-02 13:42:21 +02:00
Thomas Jund 107730d105 css: introduce pk-button-(delete|submit|cancel) for link-cell (#77764)
gitea/gadjo/pipeline/head This commit looks good Details
2023-06-02 10:30:47 +02:00
Thomas Jund d5c2c674ba css: remove useless a.button padding (#77720)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-31 15:12:48 +02:00
Frédéric Péters 3d79482770 css: introduce pk-compact-table (#77949)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-30 16:32:49 +02:00
Frédéric Péters 9f9a174c21 debian: apply new pre-commit-debian (#77727)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-27 21:40:23 +02:00
Frédéric Péters 35388f3f4b ci: upgrade pre-commit-debian (#77727) 2023-05-27 21:40:09 +02:00
Frédéric Péters e12ea98ed7 js: reinit kebab menu on content update (#77799)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-26 07:40:04 +02:00
Lauréline Guérin 0ba1626591
js: fix $.ajax() on success (#77914)
gitea/gadjo/pipeline/head This commit looks good Details
replace $.ajax().success() by $.ajax().done()
2023-05-25 14:31:48 +02:00
Thomas Jund ca4a67d56b css: make available cancel, delete & submit button via pk-button-* classes (#75933)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-17 16:04:58 +02:00
Thomas Jund d4ff8f8dea css: use css vars to manage style of buttons versions (#77630)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-17 15:19:55 +02:00
Frédéric Péters a2b2605df0 css: create colors chart file (#71879)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-17 15:12:24 +02:00
Thomas Jund df45a9aca9 css: remove unseless button properties (#77608)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-17 15:01:00 +02:00
Thomas Jund b35baa7c0e css: make appbar responsive (#74725)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-17 10:53:47 +02:00
Thomas Jund 3d30c80b97 css: clean old appbar actions links styles (#74725)
useless since #25698
2023-05-17 10:53:47 +02:00
Valentin Deniaud e3ad91a61c widget: allow setting empty value in MultiSelectWidget (#77469)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-16 16:01:38 +02:00
Frédéric Péters f4a427d14c misc: add classes to display checkboxes/radio horizontally (#77520)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-12 10:02:59 +02:00
Frédéric Péters 68cac8592d debian: do not run tests as they're already part of CI (#77521)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-12 09:54:19 +02:00
Frédéric Péters c222e234cf misc: drop support for django < 3.2 (#75681)
gitea/gadjo/pipeline/head There was a failure building this commit Details
2023-05-07 18:00:18 +02:00
Frédéric Péters 75f38ce67a a11y: add aria attributes for help and errors (#75681)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-07 17:55:39 +02:00
Frédéric Péters 246b6b3c5c ci: introduce tests (#75681) 2023-05-07 17:50:15 +02:00
Thomas Jund 7628f0f7ad css: universalize selector that targets appbar actions items (#77023)
gitea/gadjo/pipeline/head This commit looks good Details
2023-05-02 09:51:08 +02:00
Valentin Deniaud c61e74a797 widgets: fix delete buttons in MultiSelectWidget (#77076)
gitea/gadjo/pipeline/head This commit looks good Details
2023-04-27 15:30:25 +02:00
Thomas Jund cd9a5870ee css: manage flex grid gutters with negative left margin (#75194)
gitea/gadjo/pipeline/head This commit looks good Details
2023-04-20 08:22:46 +02:00
Thomas NOËL 2db1f3bba7 fix pylints errors (#76240)
gitea/gadjo/pipeline/head This commit looks good Details
2023-04-17 13:50:40 +02:00
Frédéric Péters b38c656681 translation update
gitea/gadjo/pipeline/head This commit looks good Details
2023-04-14 10:17:41 +02:00
Frédéric Péters 5febe9a8b8 translation update
gitea/gadjo/pipeline/head This commit looks good Details
2023-04-14 07:56:40 +02:00
Frédéric Péters 7cf72da19c general: add reveal checkbox to password fields (#74652) 2023-04-14 07:56:39 +02:00
Frédéric Péters 76423b24c2 a11y: add skip to content link (#76470)
gitea/gadjo/pipeline/head This commit looks good Details
2023-04-11 10:17:30 +02:00
Frédéric Péters e2a1d668a5 templates: reorder field elements to have label/hint/control/error (#75808)
gitea/gadjo/pipeline/head This commit looks good Details
2023-04-04 18:02:28 +02:00
Frédéric Péters 22caa7a2d4 misc: do not generate unused png icon variants (#72513)
gitea/gadjo/pipeline/head This commit looks good Details
2023-04-04 17:59:16 +02:00
Lauréline Guérin 39dbdabcd3
widgets: add MultiSelectWidget (#75655)
gitea/gadjo/pipeline/head This commit looks good Details
from combo.apps.dataviz
2023-03-31 16:25:14 +02:00
Valentin Deniaud 2b824e5b5a misc: bump djhtml version (#75442)
gitea/gadjo/pipeline/head This commit looks good Details
2023-03-29 14:46:58 +02:00
Valentin Deniaud a955c9702a misc: bump black version (#75442) 2023-03-29 14:46:58 +02:00
Valentin Deniaud 42c8c46981 misc: change pyupgrade target version to 3.9 (#75442) 2023-03-29 14:46:58 +02:00
Corentin Sechet c6ad492272 js: configure javascript linter (#75132)
gitea/gadjo/pipeline/head This commit looks good Details
2023-03-28 11:08:01 +02:00
Corentin Sechet d65d2e0e2f misc: update .gitignore (#75216)
gitea/gadjo/pipeline/head This commit looks good Details
2023-03-07 18:00:09 +01:00
Lauréline Guérin c59715e912
style: add colored tags (#74582)
gitea/gadjo/pipeline/head This commit looks good Details
2023-02-28 10:51:59 +01:00
Valentin Deniaud 45bac77a26 templates: use field.id_for_label in field title id attribute (#74526)
gitea/gadjo/pipeline/head This commit looks good Details
2023-02-28 10:09:50 +01:00
Valentin Deniaud bbcd17465f templates: avoid empty id attribute in widget (#74541)
gitea/gadjo/pipeline/head This commit looks good Details
2023-02-28 10:08:44 +01:00
Frédéric Péters 3d57dc94f0 misc: generate small white action icons (#74821)
gitea/gadjo/pipeline/head This commit looks good Details
2023-02-24 10:16:52 +01:00
Agate 87d671b34e Prepare Jenkinsfile for Gitea migration (#74572)
gitea/gadjo/pipeline/head This commit looks good Details
2023-02-20 15:05:23 +01:00
Frédéric Péters cc91217aab style: add plain-text-pre class, for long text fields (#74405) 2023-02-10 10:32:59 +01:00
Frédéric Péters eb66091ac3 scss: remove leaflet support flag (#74174) 2023-02-03 17:33:16 +01:00
Frédéric Péters ab267b7c35 ci: upgrade isort (#74044) 2023-02-01 09:47:54 +01:00
Frédéric Péters bb310e769f misc: stay on FontAwesome 4.x (#74015) 2023-01-31 15:29:48 +01:00
Frédéric Péters 20e8fc9594 css: sync grid with publik-base-theme (inputs & never-alone) (#73506) 2023-01-17 18:33:53 +01:00
Frédéric Péters 0f335d9f33 ci: only build package for bullseye (#72729) 2022-12-23 07:45:06 +01:00
Frédéric Péters a5697c4cc2 scss: sync some form elements with publik-base-theme (#71886) 2022-11-30 15:42:04 +01:00
Paul Marillonnet f2ad05b65c accessibility: focus on error message at form submission (#71073) 2022-11-09 11:30:32 +01:00
Frédéric Péters bd528298f7 style: add a new "button group" style (#70871)
gitea/gadjo/pipeline/head Build started... Details
2022-10-31 13:27:00 +01:00
Frédéric Péters 13cfa53ffb ci: update pyupgrade to 3.1.0 (#70693) 2022-10-26 19:22:43 +02:00
Frédéric Péters 1a34482323 style: add padding and solid white background to tab container (#70203) 2022-10-13 09:46:50 +02:00
Frédéric Péters 290d8df650 style: add some adjustments for printing (#70138) 2022-10-11 20:14:10 +02:00
Frédéric Péters fe745048d5 style: increase layout width boundary values to match frontoffice (#69315) 2022-10-10 09:40:46 +02:00
Valentin Deniaud 5d61649cf2 misc: add djhtml files/notes (#69422) 2022-09-29 11:59:49 +02:00
Valentin Deniaud 318d6fb378 misc: apply djhtml (#69422) 2022-09-29 11:58:15 +02:00
Frédéric Péters f0eee6137f add lingo icon alias (#69021) 2022-09-13 14:11:51 +02:00
Lauréline Guérin b297690b3f
js: fix anchor on tab selection (#68711)
gitea/gadjo/pipeline/head Build started... Details
2022-09-09 09:59:53 +02:00
Frédéric Péters ad04de1273 a11y: add keyboard navigation for extra actions menu opener (#68301) 2022-08-19 17:46:03 +02:00
Frédéric Péters ba02d038f7 js: consider select/textarea when setting focus on first dialog field (#68275) 2022-08-19 07:27:30 +02:00
Frédéric Péters dea0b0552d js: also look for clickable row target in data-url attribute (#64844) 2022-08-16 14:13:35 +02:00
Frédéric Péters 3ed2236293 misc: display sidepage instantaneously (#60180) 2022-08-16 14:13:35 +02:00
Valentin Deniaud c5c4772c5e js: focus tab according to anchor in URL (#68102) 2022-08-16 13:36:06 +02:00
Frédéric Péters 40114f3665 js: adjust URL to mention selected tab (#68135) 2022-08-16 13:01:09 +02:00
Frédéric Péters 7ca220b9bf templates: remove default copyright line from footer (#67021) 2022-07-15 08:29:01 +02:00
Frédéric Péters 05ebd5b7aa style: don't force content height on mobile (#66447) 2022-07-15 08:29:01 +02:00
Frédéric Péters 1b8d8aca83 ci: fix directory environment name 2022-07-15 08:29:01 +02:00
Paul Marillonnet f13e0a4c76 setup: only take svg files as input to build_icons command (#67139)
· Some text editors such as vim perform a local management of their
    swap files. We prevent the command from taking such swap files as
    input while converting svg files to png.
2022-07-07 16:56:08 +02:00
Paul Marillonnet 973cf5b1f8 icons: add identity-management svg & subsequent scss rule (#66495) 2022-07-07 15:53:08 +02:00
Frédéric Péters bd798f1e43 trivial: apply pre-commit configuration 2022-06-17 20:08:13 +02:00
Frédéric Péters 1b23ff37ac ci: run pre-commit & pylint 2022-06-17 20:08:13 +02:00
Frédéric Péters 87e7815de5 misc: add pre-commit configuration 2022-06-17 20:08:13 +02:00
Frédéric Péters 7ce99686c7 icons: add bankcard (for lingo) (#65373) 2022-06-17 10:11:43 +02:00
Frédéric Péters 4254c69f07 scss: force alignment for blocks defining grid elements within grids (#65572) 2022-05-24 13:10:54 +02:00
Frédéric Péters a46bab14f6 style: do not let tabs expand and scroll (#64928) 2022-05-06 08:21:36 +02:00
Frédéric Péters f8431c7dfa style: add class for visual marker on tabs (#64749) 2022-05-03 18:08:03 +02:00
Frédéric Péters 114cac011c misc: remove unused settings.CDNS (#64434) 2022-04-21 16:49:01 +02:00
Thomas Jund b97be713d9 CSS: add focus style for keyboard navigation in tab buttons (#64331) 2022-04-20 10:30:24 +02:00
Frédéric Péters f138d64a82 js: trigger gadjo:tab-selected js event on selected tab panel (#63821) 2022-04-15 08:20:10 +02:00
Frédéric Péters f349f11966 forms/a11y: include error message in a <p>, and align icon (#63820) 2022-04-12 09:57:11 +02:00
Frédéric Péters 6e1ba3a2f0 css: give checkbox/radio buttons an accent color (#5342) 2022-04-01 11:42:53 +02:00
Thomas Jund 9e396092fd scss: give Godo editing zone same styles as textarea (#62666) 2022-04-01 10:59:20 +02:00
Frédéric Péters 71361429a0 general: add support for tabs (#63293) 2022-04-01 10:44:11 +02:00
Thomas Jund f9d78b8162 css: declare [hidden] element always hidden (#63324) 2022-04-01 10:20:39 +02:00
Frédéric Péters f5a0678c00 misc: remove usage of vendor prefixes (#62959) 2022-03-26 17:30:18 +01:00
Frédéric Péters 093cea5988 style: use outline for focused buttons (#62827) 2022-03-16 10:55:37 +01:00
Frédéric Péters 74e159e084 style: don't add border to focused file inputs (#62209)
(missed in initial commit)
2022-03-05 16:02:11 +01:00
Frédéric Péters 2de4d57df3 style: use outline for focused widgets (#62209) 2022-03-03 19:56:04 +01:00
Frédéric Péters 10f8a3f333 style: set widget text color to black (#62208) 2022-03-03 19:56:04 +01:00
Frédéric Péters 71f1cd294c misc: restore content overflow rules (#62249) 2022-03-01 10:09:44 +01:00
Frédéric Péters 4e08feaa91 a11y: add text content to logout link (#62237) 2022-03-01 10:09:44 +01:00
Frédéric Péters c87fbbc994 remove old internet explorer warning note (#62161) 2022-02-25 08:08:13 +01:00
Frédéric Péters 38338670a0 misc: remove content overflow rules, only appopriate for wcs (#62142) 2022-02-25 08:08:13 +01:00
Benjamin Dauvergne 057935195b js: make .clickable-rows works with relative href (#61238) 2022-02-18 08:45:37 +01:00
Frédéric Péters 0c9b53ceac css: hide buttons with a hidden attribute (#61924) 2022-02-17 16:04:21 +01:00
Valentin Deniaud 0dcaeb1065 icons: add copy action (#59670) 2022-02-14 09:56:55 +01:00
Frédéric Péters 85a6196f97 style: set button display to inline-block (#61028) 2022-02-11 07:58:24 +01:00
Frédéric Péters 158b933d1c add styles for horizontal button links (#58153) 2022-02-11 07:58:24 +01:00
Frédéric Péters be1261c4b9 trivial: remove python 2 from classifiers 2022-02-02 08:11:43 +01:00
Frédéric Péters 0155852a44 js: do not open clickable-rows if the user was selecting text (#61251) 2022-01-31 10:00:13 +01:00
Frédéric Péters 03d76f7aa5 style: add pk-success class to mark "success" (#60952) 2022-01-30 13:35:23 +01:00
Frédéric Péters 214138fea4 style: add folded support to sections with <ul> as content (#60435) 2022-01-19 21:27:46 +01:00
Benjamin Dauvergne 7546932ddf general: handle .clickable-rows at document level (#60396) 2022-01-07 10:22:17 +01:00
Benjamin Dauvergne bfdbab4bca general: allow text selection in clickable-rows (#59873) 2022-01-05 18:07:49 +01:00
Frédéric Péters 68e236a120 general: add new clickable-rows class for rows that should be clickable (#59873) 2022-01-05 17:36:40 +01:00
Paul Marillonnet a3124c9c75 templates: provide more consistent use of ellipses in pagination (#59773) 2021-12-16 12:20:21 +01:00
Frédéric Péters f98dfe10da css: add style for disabled line in objects list (#59678) 2021-12-14 14:35:12 +01:00
Frédéric Péters 5a5a67f73c style: force white background on pagination links (#58298) 2021-10-30 10:41:35 +02:00
Frédéric Péters 4f6e955be4 debian: switch to debhelper-compat 12 (#57538) 2021-10-10 12:08:25 +02:00
Frédéric Péters ad2dd536eb add style for joined/toggled buttons (#57318) 2021-09-28 13:48:43 +02:00
Serghei Mihai 95ac0e40cb templates: customize checkbox and radio buttons rendering (#56114) 2021-09-17 11:00:53 +02:00
Serghei Mihai 4b3acfd876 a11y: add custom rendering for radio inputs (#54642) 2021-09-17 11:00:53 +02:00
Frédéric Péters 006689665a jenkins: disable concurrent builds 2021-09-05 11:09:50 +02:00
Frédéric Péters 857a43d0a6 jenkins: build .deb for bullseye 2021-09-05 11:04:03 +02:00
Frédéric Péters beff3e0863 Revert "a11y: add custom rendering for radio inputs (#54642)"
This reverts commit 6b941855c8.
2021-08-24 18:46:08 +02:00
Frédéric Péters c2a3a4ebc9 Revert "templates: customize checkbox and radio buttons rendering (#56114)"
This reverts commit d380d5537a.
2021-08-24 18:46:07 +02:00
Serghei Mihai e50ab0dfe1 templates: search custom template for simple widgets only (#56252) 2021-08-19 11:55:59 +02:00
Frédéric Péters 6bf6be86e0 debian: stop building python2 package (#56170) 2021-08-18 20:43:47 +02:00
Serghei Mihai d380d5537a templates: customize checkbox and radio buttons rendering (#56114) 2021-08-16 16:51:25 +02:00
Serghei Mihai 6b941855c8 a11y: add custom rendering for radio inputs (#54642) 2021-08-16 16:51:24 +02:00
Serghei Mihai 2a6ba2ca06 templates: add support for custom widget template (#54642) 2021-08-13 12:28:06 +02:00
Serghei Mihai 1fa018a2a8 a11y: add aria-labelledby for widgets (#54642) 2021-08-12 15:17:05 +02:00
Thomas Jund 467e9a5ec0 scss: add new grid system with flexbox (#54488) 2021-07-05 13:23:47 +02:00
Frédéric Péters 55d19c7050 css: add style for main title tag/badge (#55395) 2021-07-05 13:23:47 +02:00
Serghei Mihai 7ceef600ae templates: set id for widget labels (#55297) 2021-07-01 16:22:28 +02:00
Thomas Jund 351e45beca css: add cursor pointer to [role=button] (#53784) 2021-06-01 16:02:31 +02:00
Frédéric Péters 3154331eef misc: limit help text width in dialogs (#53820) 2021-05-18 10:53:26 +02:00
Frédéric Péters 2625ab7db7 icons: add action icon for jump (#54042) 2021-05-17 18:11:59 +02:00
Frédéric Péters 438fc92cf1 templates: load static template tags library using {% load static %} (#53226)
RemovedInDjango30Warning: {% load staticfiles %} is deprecated in favor
of {% load static %}.
2021-04-17 20:08:10 +02:00
Frédéric Péters 91dfa5f0d8 scss: force clear on <h3>, <h4> and <p> after any grid elements (#51896) 2021-03-11 09:14:26 +01:00
Frédéric Péters 847019138e templates: add stub favicon (#51384) 2021-02-23 18:05:04 +01:00
Thomas Jund 629a485ce2
scss: add .oneline-dialog modificator for jqueryUI dialog widget (#49585)
gitea/gadjo/pipeline/head Build started... Details
2021-01-19 14:51:45 +01:00
Frédéric Péters 0daa0d2ab4 style: add disabled variant of buttons (#50302) 2021-01-19 14:08:56 +01:00
Frédéric Péters 967c67f9fa style: lighten text colour of disabled radio items (#50036) 2021-01-11 14:11:58 +01:00
Frédéric Péters c1146c167c style: remove custom wcs classes (#49779) 2020-12-30 14:09:53 +01:00
Frédéric Péters c372a2611a style: don't display wcs steps bar when there's a single one (#49775) 2020-12-30 14:09:53 +01:00
Frédéric Péters ca2f9e6160 style: add pk-button class for compatibility with frontoffice parts (#49778) 2020-12-30 14:09:53 +01:00
Frédéric Péters 6d7b2689aa build: update to use origin/main 2020-12-26 15:22:15 +01:00
Frédéric Péters ab3abf04b2 fix naming of pk-information class details (#49466) 2020-12-14 19:08:51 +01:00
Frédéric Péters 9d546e8761 style: add some margin next to un/fold arrow in section title (#49193) 2020-12-14 16:19:41 +01:00
Frédéric Péters 9aa5edc08d misc: relax jquery dependency (#49112) 2020-12-11 09:38:59 +01:00
Frédéric Péters d8c6758c8d style: remove top/bottom edge margins for paragraphs in big-msg-... (#48952) 2020-11-30 15:56:16 +01:00
Frédéric Péters 453ab78509 misc: add a big-msg-sorry message style (#48826) 2020-11-30 15:56:16 +01:00
Frédéric Péters 6050c2403a gadjo: remove extra padding on folded section titles (#48531) 2020-11-13 16:50:13 +01:00
Serghei Mihai fe2f71dad3 css: don't display "(optional)" label for checkbox widgets (#48140) 2020-11-06 08:39:29 +01:00
Serghei Mihai 6df0438bf6 scss: distinguish titles of disabled sections (#47902) 2020-11-06 08:39:29 +01:00
Frédéric Péters 8e13b075dd css: adapt select2 style to look like other widgets (#13819) 2020-11-06 08:35:51 +01:00
Frédéric Péters 93a8741878 css: style for link/button in section titles (#47901) 2020-10-28 15:40:34 +01:00
Frédéric Péters 3fd49092fa style: make select2 widgets respect grid (#37679) 2020-10-23 00:25:35 +02:00
Frédéric Péters dba16f9b39 css: make sure adjacent buttons have a margin (#46839) 2020-10-09 16:30:02 +02:00
Frédéric Péters ef1ec881f3 style: add pk-{information,attention,error} synonyms (#46794) 2020-10-09 15:46:46 +02:00
Frédéric Péters e72dc51a74 misc: add django widget type as css class (#46440) 2020-09-11 07:59:11 +02:00
Frédéric Péters f475bc7c3f translations: update error during validation message (#45997) 2020-09-11 07:59:11 +02:00
Frédéric Péters 07ca00694c translation update 2020-08-21 08:04:24 +02:00
Frédéric Péters ad3a466a61 misc: mark gadjo_sidepage_status cookie as secure and strict (#45937) 2020-08-18 09:43:37 +02:00
Serghei Mihai 3de06b1970 misc: explicit forms optional fields and add class to mark them (#40156) 2020-08-14 10:29:31 +02:00
Frédéric Péters a71378bd9e style: let buttons wrap (#45890) 2020-08-14 10:25:46 +02:00
Frédéric Péters 3695c93757 style: remove extra margin from paragraphs in notices (#45791) 2020-08-07 15:13:15 +02:00
Frédéric Péters 91a9a591c3 style: force alignment of cancel buttons (#45723) 2020-08-04 12:04:06 +02:00
Frédéric Péters a832767a1e style: give a button appearance to cancel links (#45721) 2020-08-04 12:00:51 +02:00
Frédéric Péters 37bcf70504 style: use help cursor when hovering a required asterisk (#45673) 2020-08-03 09:35:20 +02:00
Frédéric Péters e2d3fd17f9 icons: duplicate calendar icon as "agendas" (#45505) 2020-07-28 15:02:52 +02:00
Frédéric Péters afa8e82c81 misc: generate hdpi icons (#44087) 2020-07-28 15:02:52 +02:00
Thomas Jund 52e178f34a style: add an action button class to notifications (#44692) 2020-07-13 19:03:37 +02:00
Benjamin Dauvergne 613629ca23 debian: fix typo in pydist-overrides (#45014) 2020-07-10 11:05:08 +02:00
Frédéric Péters 7086c80c4f style: add "tag" class, for left aligned badges (#44452) 2020-06-30 15:22:42 +02:00
Frédéric Péters 5497641a07 style: increase font size on larger screen (#43724) 2020-06-30 15:22:42 +02:00
Frédéric Péters 35ea1f49c9 scss: use a lightbulb in live domain fix suggestion popup (#44392) 2020-06-24 09:52:03 +02:00
Frédéric Péters f0bd03d2ce debian: add mapping for old python-xstatic package (#44141) 2020-06-16 17:38:00 +02:00
Frédéric Péters 9617cf7cc8 css: add style for field live hint (#42396) 2020-06-13 12:03:21 +02:00
Thomas NOËL 80433c861b MANIFEST.in: distribute inkscape_wrapper.py 2020-06-10 15:11:15 +02:00
Thomas NOËL 83a70d3489 build: add a inkscape wrapper for 1.0 compatibility (#43865) 2020-06-10 13:39:13 +02:00
Frédéric Péters 331e42c5fd style: catch all select[multiple] (#42778) 2020-06-03 16:14:06 +02:00
Frédéric Péters 195d14ee65 style: limit width allowed for platform name (#43304) 2020-05-26 16:05:59 +02:00
Lauréline Guérin 5b4b10c81f
pagination: add optional 'without_key' in template (#42441)
gitea/gadjo/pipeline/head Build started... Details
2020-05-11 16:29:47 +02:00
Frédéric Péters a57951805e misc: add class to limit textual element to screenreaders (#42692) 2020-05-11 10:28:53 +02:00
Frédéric Péters 18806f6bfe style: add style for padded section (#41705) 2020-04-14 16:38:59 +02:00
Frédéric Péters dda0ea58ed style: add style to have text action links in lists (#41192) 2020-03-31 14:16:00 +02:00
Frédéric Péters 1adfd57795 style: add simple style for <hr> tags (#41000) 2020-03-31 14:16:00 +02:00
Frédéric Péters 9012a6908a translation update 2020-03-26 17:43:45 +01:00
Frédéric Péters afd860c514 debian: update build depends to point to python-pil 2020-03-15 13:56:44 +01:00
Frédéric Péters 77af29b4f8 jenkins: build packages for default eobuilder versions 2020-03-15 13:50:25 +01:00
Frédéric Péters 8ca4977972 style: consider inputs with a name ending with -url as URL fields (#40253) 2020-03-08 15:23:10 +01:00
Frédéric Péters ff82184678 templates: fix setting of widget-required class on fields (#40155) 2020-02-25 09:48:08 +01:00
Frédéric Péters 8ba4837cab style: cancel form padding hack for authentic dialogs (#38905) 2020-01-31 13:25:06 +01:00
Frédéric Péters a3df02f18c style: remove all margins of objects lists (#38718) 2020-01-31 13:25:06 +01:00
Frédéric Péters 90adc7a564 style: use full width for url inputs (#38906) 2020-01-31 13:25:06 +01:00
Lauréline Guérin 3339674f61
dialog: add data-autoclose-dialog option (#37253)
gitea/gadjo/pipeline/head Build started... Details
2019-10-29 09:47:44 +01:00
Emmanuel Cazenave 504c3c368c jenkins: use ci@entrouvert.org for notifications 2019-10-02 13:56:44 +02:00
Frédéric Péters cdcfa741c9 style: don't indent subitems of sidepage menu when retracted (#35914) 2019-09-09 10:35:33 +02:00
Frédéric Péters 030b284359 add icons for publik studio / cards management (#35089) 2019-08-26 17:09:48 +02:00
Frédéric Péters eda2f5b8cd debian: use sassc to build css files (#35498) 2019-08-23 10:59:31 +02:00
Frédéric Péters 57a3a60739 style: adjust spacing of w.c.s. steps in backoffice submission (#35548) 2019-08-23 10:35:25 +02:00
Frédéric Péters ba6a4add39 debian: add missing python3-setuptools build dependency 2019-08-21 09:18:03 +02:00
Frédéric Péters 7e05b87782 debian: use python3-pil over virtual python3-imaging 2019-08-21 09:12:18 +02:00
Frédéric Péters 90ca1eca1e jenkins: only build stretch packages 2019-08-21 09:05:51 +02:00
Frédéric Péters ebf80591d5 debian: add python3-gadjo package (#35494) 2019-08-21 08:56:30 +02:00
Frédéric Péters f90815fdf9 misc: declare charset of scss files (#34940) 2019-07-19 07:12:51 +02:00
Frédéric Péters b2dcd94a54 misc: add possibility to mark popup links with data-popup (#34908) 2019-07-16 16:52:32 +02:00
Frédéric Péters a3a3053986 misc: attach kebab menu event to main content (#34406)
(so the page contents can be reloaded)
2019-07-16 12:16:53 +02:00
Frédéric Péters ca0eff6c74 a11y: add title attribute to asterisk marking required fields (#34792) 2019-07-12 16:57:54 +02:00
Benjamin Dauvergne a329682e41 add a block around content of <li class="ui-name"> (#34547) 2019-07-12 14:49:23 +02:00
Frédéric Péters 1c7b558c83 build: add Jenkinsfile 2019-07-12 13:41:26 +02:00
Frédéric Péters 20cc5a29b3 style: left align table cells and use semi-bold for headers (#34245) 2019-07-12 13:37:44 +02:00
Frédéric Péters 1e7c92eaf3 css: add class for extra info in item lists (#34562) 2019-07-12 13:37:44 +02:00
Frédéric Péters ff3ed793a9 misc: apply style for main form even if messages are displayed (#34157) 2019-06-19 10:11:54 +02:00
Frédéric Péters 93431724ce add gadjo:sidepage-toggled event (#12773) 2019-05-28 09:29:02 +02:00
Frédéric Péters 078f9e0c4c css: don't use full width for buttons in dialog content (#33014) 2019-05-12 10:34:30 +02:00
Frédéric Péters ba37527022 css: wrap long words in side bar (#32936) 2019-05-09 14:00:45 +02:00
Frédéric Péters f563ca72a4 css: don't use full width for checkbox in dialogs (#32933) 2019-05-09 13:11:16 +02:00
Frédéric Péters 86a467b84c css: use full width for form.as_template widgets in dialogs (#32850) 2019-05-07 11:39:18 +02:00
Christophe Siraut c57372565b debian: switch package format to 3.0 (quilt) (#32261) 2019-04-16 14:48:17 +02:00
Christophe Siraut 6c6698d83e debian: bump debhelper compatibility level (#32260) 2019-04-16 14:34:53 +02:00
Benjamin Dauvergne 354a63126c setup.py: remove long description (#32187) 2019-04-11 09:51:02 +02:00
Frédéric Péters 6655f54885 style: add back a yellow/black banner on tests (#31348) 2019-03-13 10:18:36 +01:00
Frédéric Péters b938411ebe templates: add |with_template to render form with extended markup (#29355) 2019-03-04 13:48:32 +01:00
Frédéric Péters 641c7b262c style: use primary color as badge background (#29346)
(like it's done for w.c.s.)
2018-12-28 13:45:16 +01:00
Frédéric Péters 61438eb177 style: reduce space between user name and logout button (#29345) 2018-12-28 13:45:16 +01:00
Frédéric Péters 9d46f07e0d style: adjust spacing of sidebar cells (#29344) 2018-12-28 13:45:16 +01:00
Frédéric Péters 0ba7db91af style: fix position of "clear file" label (#29364) 2018-12-28 13:45:16 +01:00
Frédéric Péters f4952b6b90 templatetags: limit start timestamp to minutes (#29327) 2018-12-22 18:30:26 +01:00
Frédéric Péters d8019fa7d0 js: use document.body.contains as document.contains is not ok on IE11 (#28859) 2018-12-11 14:25:42 +01:00
Frédéric Péters bda304b951 style: adjust color of links on blue backgrounds (#28815) 2018-12-10 13:26:51 +01:00
Frédéric Péters c8e0828ff4 images: add bulb with new colours and thinner lines (#28781) 2018-12-08 19:17:41 +01:00
Frédéric Péters 4a475ed027 style: add support for pk-* class to sidebar cells (#28776) 2018-12-08 14:33:34 +01:00
Frédéric Péters b041632ba7 style: add pk- prefixed version of transparent and highlight classes (#28741) 2018-12-07 11:04:16 +01:00
Frédéric Péters 34d7483418 style: add support for pk-(big-)button classes (#28737) 2018-12-07 10:52:02 +01:00
Frédéric Péters 96fbac501c style: use white for links in highlighted cells (#28740) 2018-12-07 10:44:43 +01:00
Frédéric Péters 68432c18eb style: add support for no-bottom-margin cell class (#28410) 2018-12-07 10:41:55 +01:00
Frédéric Péters 42d3ef6603 style: use blue gradient for section titles (#28609) 2018-12-06 09:36:00 +01:00
Frédéric Péters bf9719ecab style: make header responsive for even smaller widths (#28648) 2018-12-06 07:34:36 +01:00
Frédéric Péters 51f06b22ae style: adjust margins in wcs blocks (bis) (#28610) 2018-12-05 10:33:50 +01:00
Frédéric Péters 629b8354b8 style: update cancel buttons to be darker w/ background on hover (#28611) 2018-12-05 10:23:21 +01:00
Frédéric Péters 148c4c7005 style: adjust margins in wcs blocks (#28610) 2018-12-05 10:23:21 +01:00
Frédéric Péters 96b20b4478 style: change notification style to only have colours on the edge (#28389) 2018-11-28 22:13:58 +01:00
Frédéric Péters aec563c4ca style: avoid flicker on icon:hover (#28364) 2018-11-28 22:13:58 +01:00
Emmanuel Cazenave 46d745efff pin jquery (#28341) 2018-11-27 17:08:45 +01:00
Frédéric Péters 84a4a23913 misc: make platform name a link to the frontoffice (#28306) 2018-11-25 14:41:46 +01:00
Frédéric Péters e88bb930a8 style: remove bottom border of logout link
(crept in during a late cleanup)
2018-11-24 15:36:08 +01:00
Frédéric Péters 7f5f544451 style: redesign for winter 2018 (#28303) 2018-11-24 13:54:13 +01:00
107 changed files with 3791 additions and 2720 deletions

131
.eslintrc.yml Normal file
View File

@ -0,0 +1,131 @@
env:
browser: true
es2017: true
extends: eslint:recommended
parserOptions:
sourceType: module
ignorePatterns:
- "gadjo/static/js/gadjo.js"
rules:
# Follow Standard JS guidelines : https://standardjs.com/rules.html, except rules
# annotated with a 'custom' comment
# Linting
array-callback-return: error
constructor-super: error
eqeqeq: [error, always, {null: ignore}]
handle-callback-err: error
no-array-constructor: error
no-caller: error
no-class-assign: error
no-cond-assign: error
no-const-assign: error
no-control-regex: error
no-debugger: error
no-delete-var: error
no-dupe-args: error
no-dupe-class-members: error
no-dupe-keys: error
no-duplicate-case: error
no-duplicate-imports: error
no-empty-character-class: error
no-empty-pattern: error
no-eval: error
no-ex-assign: error
no-extend-native: error
no-extra-boolean-cast: error
no-fallthrough: error
no-func-assign: error
no-global-assign: error
no-implied-eval: error
no-inner-declarations: error
no-invalid-regexp: error
no-iterator: error
no-labels: error
no-new-func: error
no-new-object: error
no-new-require: error
no-new-symbol: error
no-new-wrappers: error
no-new: error
no-obj-calls: error
no-octal-escape: error
no-octal: error
no-proto: error
no-redeclare: error
no-regex-spaces: error
no-return-assign: error
no-self-assign: error
no-self-compare: error
no-sequences: error
no-shadow-restricted-names: error
no-sparse-arrays: error
no-template-curly-in-string: error
no-this-before-super: error
no-throw-literal: error
no-undef: error
no-unexpected-multiline: error
no-unmodified-loop-condition: error
no-unneeded-ternary: error
no-unreachable: error
no-unsafe-finally: error
no-unsafe-negation: error
no-unused-vars: error
no-use-before-define: [error, {functions: false, variables: false, classes: false}]
no-useless-call: error
no-useless-computed-key: error
no-useless-constructor: error
no-useless-escape: error
no-var: error
no-with: error
use-isnan: error
valid-typeof: error
# Style / Formatting
accessor-pairs: error
block-spacing: error
brace-style: [error, 1tbs, {allowSingleLine: true}]
camelcase: error
comma-dangle: [error, always-multiline] # custom : Adding a dangling comma make patches shorter
comma-spacing: error
comma-style: error
curly: [error, multi-line]
dot-location: [error, property]
eol-last: [error, always]
func-call-spacing: error
indent: [error, 2]
key-spacing: error
keyword-spacing: error
max-len: [error, {code: 110}] # custom: configured like this on python projects
new-cap: [error, { newIsCap: true, capIsNew: false}]
new-parens: error
no-extra-parens: [error, functions]
no-floating-decimal: error
no-irregular-whitespace: error
no-lone-blocks: error
no-mixed-spaces-and-tabs: error
no-multi-spaces: error
no-multi-str: error
no-multiple-empty-lines: error
no-tabs: error
no-trailing-spaces: error
no-undef-init: error
no-useless-rename: error
no-whitespace-before-property: error
object-property-newline: [error, { allowMultiplePropertiesPerLine: true }]
one-var: [error, never]
operator-linebreak: [error, before]
padded-blocks: [error, never]
quotes: [error, single]
rest-spread-spacing: error
semi-spacing: error
semi: [error, never]
space-before-function-paren: error
space-in-parens: error
space-infix-ops: error
space-unary-ops: error
spaced-comment: error
template-curly-spacing: error
wrap-iife: [error, any]
yield-star-spacing: [error, {after: true, before: true}]

4
.git-blame-ignore-revs Normal file
View File

@ -0,0 +1,4 @@
# misc: apply djhtml (#69422)
318d6fb378205d0529a2bd152212c050c8fccfa6
# misc: apply double-quote-string-fixer (#79788)
346e0a4d72c526aa4ed7e9b9015916aa59b6debc

8
.gitignore vendored
View File

@ -1,5 +1,13 @@
*.pyc
*.swp
.eggs
/dist
/gadjo.egg-info
/gadjo/locale/fr/LC_MESSAGES/django.mo
/gadjo/static/css/gadjo.css
/gadjo/static/css/gadjo.multiselectwidget.css
/gadjo/static/css/gadjo.snapshotdiff.css
/gadjo/static/css/icons
node_modules
MANIFEST
build

38
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,38 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: double-quote-string-fixer
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black
args: ['--target-version', 'py37', '--skip-string-normalization', '--line-length', '110']
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
hooks:
- id: isort
args: ['--profile', 'black', '--line-length', '110']
- repo: https://github.com/asottile/pyupgrade
rev: v3.3.1
hooks:
- id: pyupgrade
args: ['--keep-percent-format', '--py39-plus']
- repo: https://github.com/rtts/djhtml
rev: '3.0.6'
hooks:
- id: djhtml
args: ['--tabwidth', '2']
- repo: https://git.entrouvert.org/pre-commit-debian.git
rev: v0.3
hooks:
- id: pre-commit-debian
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v8.36.0
hooks:
- id: eslint
files: \.m?js$
types: [file]
args: [--fix]

54
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,54 @@
@Library('eo-jenkins-lib@main') import eo.Utils
pipeline {
agent any
options { disableConcurrentBuilds() }
stages {
stage('Unit Tests') {
steps {
sh 'tox -rv'
}
post {
always {
script {
utils = new Utils()
utils.publish_coverage('coverage.xml')
utils.publish_coverage_native('index.html')
utils.publish_pylint('pylint.out')
}
mergeJunitResults()
}
}
}
stage('Packaging') {
steps {
script {
env.SHORT_JOB_NAME=sh(
returnStdout: true,
// given JOB_NAME=gitea/project/PR-46, returns project
// given JOB_NAME=project/main, returns project
script: '''
echo "${JOB_NAME}" | sed "s/gitea\\///" | awk -F/ '{print $1}'
'''
).trim()
if (env.GIT_BRANCH == 'main' || env.GIT_BRANCH == 'origin/main') {
sh "sudo -H -u eobuilder /usr/local/bin/eobuilder -d bullseye,bookworm ${SHORT_JOB_NAME}"
} else if (env.GIT_BRANCH.startsWith('hotfix/')) {
sh "sudo -H -u eobuilder /usr/local/bin/eobuilder -d bullseye,bookworm --branch ${env.GIT_BRANCH} --hotfix ${SHORT_JOB_NAME}"
}
}
}
}
}
post {
always {
script {
utils = new Utils()
utils.mail_notify(currentBuild, env, 'ci+jenkins-gadjo@entrouvert.org')
}
}
success {
cleanWs()
}
}
}

View File

@ -4,5 +4,6 @@ include MANIFEST.in
include AUTHORS
include COPYING
include VERSION
include inkscape_wrapper.py
recursive-include gadjo/static *.scss *.css *.map *.png *.gif *.eot *.woff *.ttf *.svg *.jpg *.jpeg *.js README.md LICENSE release.sh
recursive-include icons *.svg

View File

@ -21,11 +21,6 @@ You should add gadjo.finders.XStaticFinder to STATICFILES_FINDERS,
STATICFILES_FINDERS = global_settings.STATICFILES_FINDERS + \
('gadjo.finders.XStaticFinder',)
There is a CDNS settings, that can contain a list of (cdn name, protocol)
tuples; for example:
CDNS = [('google', 'https')]
Additional static files
------------------------

1
debian/compat vendored
View File

@ -1 +0,0 @@
7

22
debian/control vendored
View File

@ -2,11 +2,23 @@ Source: gadjo
Maintainer: Frederic Peters <fpeters@entrouvert.com>
Section: python
Priority: optional
Build-Depends: python-setuptools (>= 33), python-pkg-resources (>= 33), dh-python, dpkg-dev, python-all (>= 2.6.6-3), python2.7-dev, python-all-dev, debhelper (>= 7), python-django, inkscape, python-imaging, libjpeg-dev, zlib1g-dev, ruby-sass (>= 3.4)
Build-Depends: debhelper-compat (= 12),
dh-python,
dpkg-dev,
inkscape,
libjpeg-dev,
python3-all,
python3-django,
python3-pil,
python3-setuptools,
sassc,
zlib1g-dev,
Standards-Version: 3.9.1
Package: python-gadjo
Package: python3-gadjo
Architecture: all
Depends: ${misc:Depends}, ${python:Depends}, python-django, libjs-jquery
Description: Base templates for management interfaces
Depends: libjs-jquery,
python3-django,
${misc:Depends},
${python3:Depends},
Description: Base templates for management interfaces (Python 3)

4
debian/py3dist-overrides vendored Normal file
View File

@ -0,0 +1,4 @@
xstatic_font_awesome python3-xstatic-font-awesome
xstatic_opensans python3-xstatic-opensans
xstatic_jquery python3-xstatic-jquery
xstatic_jquery_ui python3-xstatic-jquery-ui

View File

@ -1 +1,5 @@
xstatic python-xstatic
xstatic_font_awesome python-xstatic-font-awesome
xstatic_opensans python-xstatic-opensans
xstatic_jquery python-xstatic-jquery
xstatic_jquery_ui python-xstatic-jquery-ui

7
debian/rules vendored
View File

@ -1,6 +1,7 @@
#!/usr/bin/make -f
export PYBUILD_NAME=gadjo
export PYBUILD_DISABLE=test
%:
dh $@ --with python2
dh $@ --with python3 --buildsystem=pybuild

1
debian/source/format vendored Normal file
View File

@ -0,0 +1 @@
3.0 (quilt)

View File

@ -1 +1 @@
__version__ = "0.4.3"
__version__ = '0.4.3'

View File

@ -11,6 +11,7 @@ from django.contrib.staticfiles import utils
from django.contrib.staticfiles.finders import BaseFinder
from django.core.exceptions import ImproperlyConfigured
from django.core.files.storage import FileSystemStorage
try:
from importlib import import_module
except ImportError:
@ -22,6 +23,7 @@ class XStaticStorage(FileSystemStorage):
A file system storage backend that takes an xstatic package module and works
for the data contained in it.
"""
prefix = 'xstatic'
def __init__(self, package, *args, **kwargs):
@ -33,7 +35,7 @@ class XStaticStorage(FileSystemStorage):
except ImportError:
raise ImproperlyConfigured('Cannot import module "%s"' % package)
location = package.BASE_DIR
super(XStaticStorage, self).__init__(location, *args, **kwargs)
super().__init__(location, *args, **kwargs)
class XStaticFinder(BaseFinder):
@ -58,14 +60,14 @@ class XStaticFinder(BaseFinder):
self.storages[app] = app_storage
if app not in self.apps:
self.apps.append(app)
super(XStaticFinder, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)
def find(self, path, all=False):
"""Look for files in the registered xstatic.* packages"""
if path.startswith(self.storage_class.prefix + '/'):
path = path[len(self.storage_class.prefix)+1:]
path = path[len(self.storage_class.prefix) + 1 :]
matches = []
for app, storage in self.storages.items():
for storage in self.storages.values():
if storage.exists(path):
matched_path = storage.path(path)
if matched_path:
@ -74,8 +76,8 @@ class XStaticFinder(BaseFinder):
matches.append(matched_path)
return matches
def list(self, ignore_patterns=[]):
def list(self, ignore_patterns=None):
"""List all files in registered xstatic.* packages"""
for app, storage in self.storages.items():
for path in utils.get_files(storage, ignore_patterns):
for storage in self.storages.values():
for path in utils.get_files(storage, ignore_patterns or []):
yield path, storage

0
gadjo/forms/__init__.py Normal file
View File

41
gadjo/forms/widgets.py Normal file
View File

@ -0,0 +1,41 @@
from django import forms
class MultiSelectWidget(forms.MultiWidget):
template_name = 'gadjo/widgets/multiselectwidget.html'
class Media:
js = ('js/gadjo.multiselectwidget.js',)
css = {'all': ('css/gadjo.multiselectwidget.css',)}
def __init__(self, attrs=None):
self.attrs = attrs
widgets = [forms.Select(attrs=attrs)]
super().__init__(widgets, attrs)
def get_context(self, name, value, attrs):
if not isinstance(value, list):
value = [value]
self.widgets = []
for _ in range(max(len(value), 1)):
self.widgets.append(forms.Select(attrs=self.attrs, choices=self.choices))
# all subwidgets must have the same name
self.widgets_names = [''] * len(self.widgets)
return super().get_context(name, value, attrs)
def decompress(self, value):
return value or []
def value_from_datadict(self, data, files, name):
values = [x for x in data.getlist(name) if x]
# remove duplicates while keeping order
return list(dict.fromkeys(values))
def id_for_label(self, id_):
return id_
def value_omitted_from_data(self, *args, **kwargs):
return super(forms.MultiWidget, self).value_omitted_from_data(*args, **kwargs)

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gadjo 0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-13 21:40+0100\n"
"PO-Revision-Date: 2016-11-13 21:45+0100\n"
"POT-Creation-Date: 2023-10-06 15:43+0200\n"
"PO-Revision-Date: 2023-10-06 15:43+0200\n"
"Last-Translator: Frederic Peters <fpeters@entrouvert.com>\n"
"Language: French\n"
"MIME-Version: 1.0\n"
@ -16,35 +16,60 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: templates/gadjo/form.html:9
#: templates/gadjo/form.html:4
msgid "There were errors processing your form."
msgstr "Il y a eu un problème à la validation du formulaire."
#: templates/gadjo/form.html:12
#, python-format
msgid "(Hidden field %(name)s) %(error)s"
msgstr "(champ caché %(name)s) %(error)s"
#: templates/gadjo/root.html:32
#: templates/gadjo/password-widget.html:8
msgid "Display password"
msgstr "Afficher le mot de passe"
#: templates/gadjo/password-widget.html:9
msgid "Display"
msgstr "Afficher"
#: templates/gadjo/root.html:27
msgid "quick access"
msgstr "accès rapides"
#: templates/gadjo/root.html:29
msgid "Go to content"
msgstr "Aller au contenu"
#: templates/gadjo/root.html:44
msgid "Logout"
msgstr "Déconnexion"
#: templates/gadjo/root.html:48
msgid ""
"\n"
" <p><strong>Do you know your web browser is obsolete?</strong> We "
"recommend\n"
" you to <a href=\"http://windows.microsoft.com/en-us/internet-explorer/"
"download-ie\">update\n"
" your web browser</a> or to <a href=\"http://browsehappy.com/\">use\n"
" different web browsers</a> as some features may not work.\n"
" "
msgstr ""
"\n"
" <p><strong>Savez-vous que votre navigateur est obsolète ?</strong> "
" Nous vous recommandons de "
" <a href=\"http://windows.microsoft.com/en-us/internet-explorer/"
"download-ie\">mettre à jour votre navigateur</a> ou d'"
"<a href=\"http://browsehappy.com/\">utiliser un navigateur"
" différent</a>.\n"
" "
#: templates/gadjo/root.html:63
#: templates/gadjo/root.html:65
msgid "Homepage"
msgstr "Accueil"
#: templates/gadjo/widget.html:12
msgid "This field is required."
msgstr "Ce champ est obligatoire."
#: templates/gadjo/widget.html:14
msgid "(optional)"
msgstr "(optionnel)"
#: templates/gadjo/widgets/multiselectwidget.html:3
#: templates/gadjo/widgets/multiselectwidget.html:7
msgid "Value"
msgstr "Valeur"
#: templates/gadjo/widgets/multiselectwidget.html:10
msgid "Remove"
msgstr "Supprimer"
#: templates/gadjo/widgets/multiselectwidget.html:10
msgid "Remove value"
msgstr "Supprimer la valeur"
#: templates/gadjo/widgets/multiselectwidget.html:16
msgid "Add"
msgstr "Ajouter"

View File

@ -0,0 +1,45 @@
// colors chart
$blue: #386ede;
$blue-dusty: #215D9C;
$blue-dark: #003388;
$cyan: #00d6eb;
$orange: hsl(30, 100%, 46%);
$red: hsl(355, 80%, 45%);
$brown: hsl(10, 70%, 30%);
$yellow-dark: hsl(60, 98%, 30%);
$green: hsl(120, 57%, 35%);
$green-dark: hsl(150, 57%, 25%);
$pink: hsl(320, 70%, 60%);
html {
--blue: #{$blue};
--blue-dusty: #{$blue-dusty};
--blue-dark: #{$blue-dark};
--cyan: #{$cyan};
--orange: #{$orange};
--red: #{$red};
--brown: #{$brown};
--yellow-dark: #{$yellow-dark};
--green: #{$green};
--green-dark: #{$green-dark};
--pink: #{$pink};
}
// colors attribution
$font-color: #3c3c33;
$primary-color: $blue;
$secondary-color: $cyan;
$link-color: $primary-color;
html {
--primary-color: #{$primary-color};
--secondary-color: #{$secondary-color};
--font-color: #{$font-color};
--font-color-light: #666;
--link-color: #{$primary-color};
--link-hover-color: #{$blue-dark};
--link-disabled-color: #aaa;
--background: #ecf0f3;
}

View File

@ -1,7 +1,20 @@
$button-color: #5B616B;
$button-cancel-color: grayscale($button-color);
$button-delete-color: #CD2026;
$button-submit-color: #215D9C;
@charset "UTF-8";
$widget-background: white;
$widget-focus-background: white;
$widget-border: 1px solid #AAA;
$widget-focus-border: $widget-border;
$widget-border-radius: 0;
$widget-color: black;
$widget-focus-color: $widget-color;
$widget-focus-outline: 1px solid $primary-color;
$widget-focus-outline-offset: 0;
$button-delete-color: $red;
$button-focus-outline: $widget-focus-outline !default;
$button-focus-outline-offset: $widget-focus-outline-offset !default;
$data_uri_arrow-down: "arrow-down.svg";
input, select, button, textarea {
font-size: 100%;
@ -10,10 +23,11 @@ input, select, button, textarea {
label {
margin-bottom: 0;
font-weight: normal;
}
form div.widget {
margin-bottom: 2ex;
margin-bottom: 1.5em;
}
div.errornotice p {
@ -32,18 +46,24 @@ div.error {
background: transparent;
padding-left: 0px;
margin-left: 2px;
}
div.error::before {
content: "\f071"; /* fa-exclamation-triangle */
font-family: FontAwesome;
padding-right: 1ex;
&::before {
content: "\f071"; /* fa-exclamation-triangle */
font-family: FontAwesome;
padding-right: 1ex;
}
p {
display: inline-block;
margin: 0;
}
}
span.required {
margin-left: 0.7ex;
margin-left: 0.3em;
position: relative;
top: -0.2ex;
top: -0.1em;
cursor: help;
}
div.widget div.title {
@ -63,55 +83,94 @@ div.buttons div {
}
a.button {
padding-bottom: calc(1ex + 1px);
line-height: 2.5em;
}
a.button, button, input[type=submit], div.buttons input {
%button {
--color: var(--primary-color);
--outline-color: var(--primary-color);
--hover-color: white;
--hover-background: var(--color);
display: inline-block;
padding: 5px 15px;
cursor: pointer;
border: 0px solid #aaa;
@include vendor-prefix('transition', 'all 200ms ease');
vertical-align: baseline;
border-radius: 3px;
font-weight: bold;
background: white;
text-align: center;
border: 1px solid var(--color);
color: var(--color);
transition: border-color 0.2s ease, box-shadow 0.2s linear;
&[aria-pressed=true], &:hover {
border-color: hsla(0, 0%, 0%, 0.6);
background: var(--hover-background);
color: var(--hover-color);
}
&.disabled, &:disabled {
box-shadow: none;
cursor: not-allowed;
background: #f3f3f3;
color: #888;
border-color: #888;
pointer-events: none;
}
&:active { border-color: hsla(0, 0%, 0%, 0.3); }
&:focus {
@if $button-focus-outline == none {
outline: 1px dotted $button-background;
} @else {
outline: 1px solid var(--outline-color);
outline-offset: $button-focus-outline-offset;
}
}
}
a.button, button, input[type=submit], div.buttons input {
background: $button-color;
border: 1px solid $button-color;
color: text-color($button-color);
&:hover { background: darken($button-color, 20%); }
&:active { background: darken($button-color, 10%); }
&:focus {
box-shadow: 0 0 3px #2e444f, 0 0 7px #2e444f;
};
@include vendor-prefix('transition', 'background 0.2s ease, box-shadow 0.2s linear');
a.button, a.pk-button, a[class*=pk-button-], a.pk-big-button, a[class*="pk-big-button-"], button, input[type=submit], div.buttons input, div.buttons a.cancel {
@extend %button;
}
a.pk-big-button, a[class*="pk-big-button-"] {
padding: 2rem 4rem;
}
input[type=submit] {
height: 2.3rem;
}
a.cancel-button, button.cancel-button, div.buttons .cancel-button input, div.buttons .cancel-button button {
background: $button-cancel-color;
border-color: $button-cancel-color;
&:hover { background: darken($button-cancel-color, 20%); }
&:active { background: darken($button-cancel-color, 10%); }
%cancel-button,
a.cancel-button, button.cancel-button, a.pk-button-cancel, a.pk-big-button-cancel, div.buttons .cancel-button input, div.buttons a.cancel, div.buttons .cancel-button button {
--color: #727272;
--hover-color: var(--color);
--hover-background: #eee;
}
a.delete-button, button.delete-button, div.buttons .delete-button input, div.buttons .delete-button button {
background: $button-delete-color;
border-color: $button-delete-color;
&:hover { background: darken($button-delete-color, 20%); }
&:active { background: darken($button-delete-color, 10%); }
div.buttons {
display: flex;
flex-wrap: wrap;
// always force cancel button to be last
a.cancel {
order: 100;
margin-left: 1em;
}
// make sure adjacent buttons have a margin
button + button,
button + a {
margin-left: 1em;
}
}
a.submit-button, button.submit-button, div.buttons .submit-button input, div.buttons .submit-button button {
background: $button-submit-color;
border-color: $button-submit-color;
&:hover { background: darken($button-submit-color, 20%); }
&:active { background: darken($button-submit-color, 10%); }
%delete-button,
a.delete-button, button.delete-button, a.pk-button-delete, a.pk-big-button-delete, div.buttons .delete-button input, div.buttons .delete-button button {
--color: #{$button-delete-color};
--outline-color: #{darken($button-delete-color, 10%)};
}
%submit-button,
a.submit-button, button.submit-button, a.pk-button-submit, a.pk-big-button-submit, div.buttons .submit-button input, div.buttons .submit-button button {
--color: var(--blue-dusty);
}
form.disabled-during-submit {
@ -138,16 +197,24 @@ input[type=submit]:disabled {
}
input, input[type="text"], input[type="url"], input[type="email"], input[type="password"], input[type="url"], input[type="tel"], input[type="number"], input[type="search"], input[type="file"], input[type="date"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], textarea, select {
border: 1px solid #AAA;
border-radius: 0px;
border: $widget-border;
border-radius: $widget-border-radius;
box-sizing: border-box;
margin: 0.2em 0px;
outline: medium none;
padding: 0.7ex 0.7em;
max-width: 100%;
@include vendor-prefix('transition', 'box-shadow 0.1s linear');
transition: background-size 0.2s ease;
background: $widget-background;
color: $widget-color;
&:focus:not([readonly]) {
background-color: $widget-focus-background;
border: $widget-focus-border;
color: $widget-focus-color;
}
&:focus {
box-shadow: 0 0 0px 1px #1999cd;
outline: $widget-focus-outline;
outline-offset: $widget-focus-outline-offset;
}
&.disabled,
&[disabled] {
@ -155,10 +222,20 @@ input, input[type="text"], input[type="url"], input[type="email"], input[type="p
}
}
input[type="text"][name$="_url"], input[type="text"][name$="-url"], input[type="url"] {
width: 100%;
}
input[type="radio"]:focus, input[type="checkbox"]:focus {
box-shadow: none;
}
label input[type="radio"], label input[type="checkbox"] {
&[disabled] + span {
color: lighten($font-color, 30%);
}
}
input[readonly], select[readonly], textarea[readonly] {
border-width: 0 0 1px 0;
}
@ -170,19 +247,26 @@ div.date input[readonly] {
input[type=file] {
border: none;
padding-left: 0;
&:focus:not([readonly]) {
border: none;
}
}
select {
background: white;
@include vendor-prefix('appearance', 'none');
appearance: none;
padding-right: 4em;
background-image: url(arrow-down.svg);
background-image: url($data_uri_arrow-down);
background-position: right 1.3rem center;
background-repeat: no-repeat;
background-size: 1rem auto;
&::-ms-expand {
// remove the arrow of select element in IE
display: none;
}
}
select[multiple=multiple] {
select[multiple] {
background: white;
padding-right: 0;
}
@ -191,6 +275,7 @@ input[type="checkbox"],
input[type="radio"] {
margin-right: 1ex;
margin-bottom: 1ex;
accent-color: $primary-color;
}
div.content label {
@ -207,6 +292,9 @@ span.helptext,
div.hint {
display: block;
font-size: 80%;
p {
margin: 0;
}
}
form p label {
@ -218,6 +306,7 @@ div.a2-block form select {
width: 100%;
}
div.a2-block form input[type=checkbox],
div.a2-block form input[type=radio] {
width: auto;
}
@ -263,9 +352,9 @@ fieldset.gadjo-foldable legend.gadjo-foldable-widget {
}
fieldset.gadjo-foldable legend.gadjo-foldable-widget:after {
content: "";
@include vendor-prefix('transition', 'transform 0.1s ease');
transition: transform 0.1s ease;
position: absolute;
right: 0;
right: 1ex;
}
fieldset.gadjo-foldable.gadjo-folded legend.gadjo-foldable-widget:after {
transform: rotate(-90deg);
@ -278,6 +367,122 @@ fieldset.gadjo-foldable {
display: none;
}
/* select2 */
div.select2-container,
span.select2-container {
font-size: 100%;
min-width: 20em;
margin-top: 2px;
a.select2-choice {
padding: 0.1em 0.7em;
}
span.select2-selection--single,
span.select2-selection--multiple,
a.select2-choice,
a.select2-choice div {
box-sizing: content-box;
padding: 1px 0;
background: $widget-background;
color: $widget-color;
border-radius: $widget-border-radius;
border: $widget-border;
.select2-selection__rendered {
color: $widget-color;
}
}
.select2-search--inline .select2-search__field {
margin-top: 0;
margin-bottom: 0;
border: none;
}
&.select2-container--focus,
&.select2-container--open {
span.select2-selection--single,
span.select2-selection--multiple,
a.select2-choice,
a.select2-choice div {
background: $widget-focus-background;
border: $widget-focus-border;
color: $widget-focus-color;
span {
color: $widget-focus-color;
}
}
}
&.select2-container--focus span.select2-selection--single,
&.select2-container--focus span.select2-selection--multiple {
outline: $widget-focus-outline;
outline-offset: $widget-focus-outline-offset;
}
.select2-choices,
.select2-choice {
box-shadow: none;
}
.select2-search--dropdown input,
.select2-search--dropdown input:active,
.select2-search--dropdown input:focus {
background: white;
color: #333;
border: 1px solid #ccc;
}
.select2-selection--single .select2-selection__rendered {
padding-right: 50px;
}
.select2-selection--single .select2-selection__arrow {
background-image: url($data_uri_arrow-down);
background-position: right 1.3rem center;
background-repeat: no-repeat;
background-size: 1rem auto;
width: 50px;
right: 0;
top: 0;
height: 100%;
b {
display: none;
}
}
.select2-selection--single .select2-selection__clear {
margin-right: 2em;
}
.select2-dropdown {
border: $widget-border;
&.select2-dropdown--below {
position: relative;
top: -6px;
}
}
.select2-results {
.loading-results {
position: absolute;
display: inline-block;
right: 0;
color: black;
@media screen and (max-width: $mobile-limit) {
display: none;
}
}
.loading-results:last-child {
position: static;
display: block;
color: inherit;
}
}
}
div.select2-container.select2-drop-above .select2-choice {
background: white;
border-radius: 0;
}
div.select2-drop {
box-shadow: none;
border-radius: 0;
}
div.select2-search {
margin-top: 4px;
}
/* form.as_p */
form p {
@ -323,3 +528,200 @@ form.small button + button,
form.small button + a.button {
margin-left: 1em;
}
[name$="-clear"] + label {
display: inline;
}
.field-live-hint {
position: absolute;
background: #ffffee;
color: #333;
z-index: 1000000;
padding: 1em 1em;
box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.16);
}
.field-live-hint span::before {
font-family: FontAwesome;
content: "\f0eb"; // lightbulb
padding-right: 0.5em;
}
.field-live-hint button.action,
.field-live-hint button.close {
margin: 0 1em;
padding: 0;
color: blue !important;
border: none;
text-decoration: underline !important;
background: transparent !important;
box-shadow: none !important;
}
.field-live-hint button.close {
color: #333 !important;
margin: 0;
text-decoration: none !important;
}
.field-live-hint button.close::after {
content: "×";
}
form {
.widget-optional span.optional {
display: none;
}
}
form.pk-mark-optional-fields {
.widget-required {
span.required {
display: none;
}
}
.widget-optional:not(.django-checkbox-input) span.optional {
display: inline;
font-style: italic;
}
}
form.pk-hide-requisiteness {
.widget-required span.required,
.widget-optional:not(.django-checkbox-input) span.optional {
display: none;
}
}
.gadjo-joined-buttons {
display: inline-flex;
button {
border-radius: 0;
margin-left: -1px; // join borders
&:first-child {
border-radius: 3px 0 0 3px;
margin-left: 0px;
}
&:last-child {
border-radius: 0 3px 3px 0;
}
}
}
.pk-tabs {
display: flex;
flex-direction: row;
&--tab-list {
flex: 0;
display: flex;
justify-content: flex-start;
flex-direction: column;
background: #fafafa;
padding: 0.5em;
button {
border: 0px solid transparent;
border-left-width: 3px;
text-align: left;
font-weight: normal;
background: transparent;
width: 100%;
min-width: 10em;
margin-bottom: 1px;
color: #333;
&:focus {
outline: none;
}
&:focus-visible {
outline: $widget-focus-outline;
}
&:hover {
color: inherit;
background: #eee;
}
&[aria-selected="true"] {
background: #e0e0e0;
border-left-color: $primary-color;
}
&.pk-tabs--button-marker {
padding-right: 2em;
background-size: 5px 5px;
background-repeat: no-repeat;
background-position: top 50% right 1em;
background-image: radial-gradient(closest-side, #888 100%, transparent);
}
}
}
&--container {
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
overflow: auto;
background: white;
> * {
padding: 1rem 0.5rem;
}
}
}
.godo:not(.html-edition) .godo--editor {
@extend textarea;
}
/* force alignment for blocks defining grid elements within grids */
.BlockSubWidget.widget {
margin-bottom: 0;
}
.buttons-group {
display: flex;
a {
@extend %button;
margin-right: 0;
margin-left: -1px;
border-radius: 0;
&:first-child {
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
}
&:last-child {
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
}
&.active {
background: var(--color);
color: white;
}
}
}
.gadjo-password-field {
position: relative;
.title label {
padding-right: 6em;
}
}
.password-visibility-checkbox {
display: flex;
position: absolute;
top: 0;
right: 0;
input + label {
margin: 0;
}
input {
margin: 0 0.25em 0 0;
}
}
.CheckboxesWidget.pk-horizontal-checkboxes .content li {
display: inline-block;
}
.RadiobuttonsWidget.pk-horizontal-radiobuttons .content {
li, label {
display: inline-block;
}
}

View File

@ -0,0 +1,104 @@
// ======
// fx-grid.css
// flexbox grid system
// =====
// Publik vars
$fx-grid-gutter: 1rem;
$fx-grid-gutter-and-epsilon: $fx-grid-gutter + 0.00001rem;
$fx-grid-cell-min-size: 10em; // for .fx-grid--auto
$fx-grid-mobile-limit: $very-small-limit;
$fx-grid-tablet-limit: $grid-mobile-limit;
$max-cols-mobile : 3;
$max-cols-tablet : 6;
$max-cols-desktop : 9;
// custom media queries
// ex. @media ($max-grid-mobile-viewport) {}
$max-grid-mobile-viewport: "max-width: #{$fx-grid-mobile-limit}";
$min-grid-tablet-viewport: "min-width: #{$fx-grid-mobile-limit + 1}";
$min-grid-desktop-viewport: "min-width: #{$fx-grid-tablet-limit + 1}";
.fx-grid,
[class*="fx-grid--"] {
display: flex;
flex-wrap: wrap;
margin: 0;
padding: 0;
margin-left: -1 * $fx-grid-gutter;
/* if flex item are list */
list-style-type: none;
> * {
box-sizing: border-box; // for gadjo
margin-left: $fx-grid-gutter;
flex-basis: calc(100% - #{$fx-grid-gutter});
hyphens: auto;
}
}
// mode auto
.fx-grid--auto {
> * {
flex-basis: $fx-grid-cell-min-size;
flex-shrink: 1;
flex-grow: 1;
}
}
// mode cols
@for $i from 2 through $max-cols-mobile {
.fx-grid--#{$i} > *,
[class*="fx-grid--"][class*="--m#{$i}"] > * {
flex-basis: calc(#{100%/$i} - #{$fx-grid-gutter-and-epsilon});
}
}
@media ($min-grid-tablet-viewport) {
@for $i from 2 through $max-cols-tablet {
[class*="fx-grid--"][class*="--t#{$i}"] > * {
flex-basis: calc(#{100%/$i} - #{$fx-grid-gutter-and-epsilon});
}
}
}
@media ($min-grid-desktop-viewport) {
@for $i from 2 through $max-cols-desktop {
[class*="fx-grid--"][class*="--d#{$i}"] > * {
flex-basis: calc(#{100%/$i} - #{$fx-grid-gutter-and-epsilon});
}
}
}
// custom grid cell size
.fx-grid,
[class*="fx-grid--"] {
@for $i from 1 through $max-cols-mobile {
@for $j from 1 through $i {
> .size--#{$j}-#{$i},
> [class*="size--"][class*="--m#{$j}-#{$i}"] {
flex-basis: calc( #{100%*$j/$i} - #{$fx-grid-gutter-and-epsilon});
flex-grow: 0;
}
}
}
@media ($min-grid-tablet-viewport) {
@for $i from 1 through $max-cols-tablet {
@for $j from 1 through $i {
> [class*="size--"][class*="--t#{$j}-#{$i}"] {
flex-basis: calc( #{100%*$j/$i} - #{$fx-grid-gutter-and-epsilon});
flex-grow: 0;
}
}
}
}
@media ($min-grid-desktop-viewport) {
@for $i from 1 through $max-cols-desktop {
@for $j from 1 through $i {
> [class*="size--"][class*="--d#{$j}-#{$i}"] {
flex-basis: calc( #{100%*$j/$i} - #{$fx-grid-gutter-and-epsilon});
flex-grow: 0;
}
}
}
}
}

View File

@ -1,5 +1,7 @@
$grid-mobile-limit: 601px !default;
$very-small-limit: 401px !default;
@charset "UTF-8";
$grid-mobile-limit: 1024px !default;
$very-small-limit: 560px !default;
div.grid {
float: left;
@ -8,6 +10,28 @@ div.grid {
clear: none;
}
form div[class*=grid-] {
~ h3, ~ h4, ~ p, + div {
clear: both;
}
@media screen and (max-width: $very-small-limit) {
&:not(.never-alone) {
width: 100%;
padding-right: 0;
}
}
table, textarea, select, input:not([type=checkbox]):not([type=radio]) {
width: 100%;
}
.select2-container {
min-width: auto;
width: 100% !important;
}
.select2-selection {
width: 100% !important;
}
}
@each $i in 1, 2, 3, 4, 6, 12 {
@for $j from 1 through $i {
div.grid-#{$j}-#{$i} {
@ -30,12 +54,6 @@ div.grid {
@media screen and (max-width: $very-small-limit) {
width: 100%;
}
& + h3, & + h4, & + p, & + div {
clear: both;
}
table, textarea, select, input[type=text], input[type=password], input[type=email] {
width: 100%;
}
}
body div + div.grid-#{$j}-#{$i}, /* more specific than & + div above*/
div div.grid-#{$j}-#{$i} {

View File

@ -0,0 +1,31 @@
@charset "UTF-8";
/* temporary hacks for applications */
div.form-inner-container, // authentic
div#pages-list, // combo
div.placeholder, // combo
table.agenda-table, // chrono
div#appbar + form, // misc
div#appbar + ul.messages + form, // misc
div#appbar + div#description // passerelle
{
background: white;
padding: 0.5rem;
border-radius: 3px;
box-sizing: border-box;
}
.ui-dialog div.form-inner-container { // authentic
padding: 0;
}
div.other_actions { // authentic
margin-left: 71%;
width: 29%;
}
body.welco-home div#main-content {
background: white;
margin: 0;
}

View File

@ -1,3 +1,5 @@
@charset "UTF-8";
body .ui-front {
z-index: 1000;
}
@ -109,7 +111,7 @@ div.ui-widget-overlay {
left: 0;
width: 100%;
height: 100%;
opacity: 0.3;
opacity: 0.7;
z-index: 1000;
}
@ -132,16 +134,16 @@ div.ui-dialog {
position: absolute;
.ui-dialog-titlebar {
background: #eee;
background: white;
border-radius: 0;
border: none;
position: relative;
padding: 0.4em 1em;
padding: 0.7em 1em;
cursor: move;
text-align: left;
.ui-dialog-title {
font-size: 130%;
font-size: 140%;
font-weight: normal;
}
@ -156,9 +158,8 @@ div.ui-dialog {
color: transparent;
.ui-icon-closethick::after {
color: #333;
content: "\f00d"; /* fa-times */
font-family: FontAwesome;
padding-top: 5px;
content: "×";
font-size: 120%;
display: block;
}
.ui-button-text {
@ -186,26 +187,56 @@ div.ui-dialog {
.ui-dialog-buttonpane {
position: relative;
background: #eee;
border-top: 1px solid #aaaaaa;
background: white;
margin-top: 0.5em;
padding: 0.3em 1em 0.5em 0.4em;
.ui-dialog-buttonset {
float: right;
display: flex;
}
button {
margin: 0.5em 0 0.5em 1em;
&.cancel-button {
// always force cancel button to be secondary
order: -1;
}
}
}
form p input,
form p select,
form p textarea {
width: 100%;
form p,
div.widget {
input,
select,
textarea {
width: 100%;
}
input[type=submit], input[type=radio], input[type=checkbox] {
width: auto;
}
}
form p input[type=radio], form p input[type=checkbox] {
width: auto;
.helptext {
max-width: 50em;
}
// one line dialog
// add this class on widget to remove titlebar, position the close button to the left of content
&.oneline-dialog {
.ui-dialog-titlebar {
float: right;
padding-top: 5px;
}
.ui-dialog-title {
display: none;
}
.ui-dialog-titlebar-close {
display: block;
}
// visual feedback when open dialog
transition: box-shadow 800ms ease 200ms;
&.feedback-on-open {
box-shadow: $primary-color 0px 0px 20px 2px;
}
}
}

View File

@ -1,13 +1,37 @@
@font-face {
font-family: 'Open Sans';
src: url('../xstatic/fonts/Regular/OpenSans-Regular.eot?#iefix') format('embedded-opentype'), url('../xstatic/fonts/Regular/OpenSans-Regular.woff') format('woff'), url('../xstatic/fonts/Regular/OpenSans-Regular.ttf') format('truetype'), url('../xstatic/fonts/Regular/OpenSans-Regular.svg#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
@charset "UTF-8";
$font-path: '../xstatic/fonts' !default;
@mixin font($type, $weight) {
@font-face {
font-family: 'Open Sans';
src: url('#{$font-path}/#{$type}/OpenSans-#{$type}.woff2') format('woff2'),
url('#{$font-path}/#{$type}/OpenSans-#{$type}.woff') format('woff'),
url('#{$font-path}/#{$type}/OpenSans-#{$type}.eot?#iefix') format('embedded-opentype'),
url('#{$font-path}/#{$type}/OpenSans-#{$type}.ttf?#iefix') format('truetype');
font-weight: $weight;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
@if $type == Regular { // not RegularItalic
src: url('#{$font-path}/Italic/OpenSans-Italic.woff2') format('woff2'),
url('#{$font-path}/Italic/OpenSans-Italic.woff') format('woff'),
url('#{$font-path}/Italic/OpenSans-Italic.eot?#iefix') format('embedded-opentype'),
url('#{$font-path}/Italic/OpenSans-Italic.ttf?#iefix') format('truetype');
} @else {
src: url('#{$font-path}/#{$type}Italic/OpenSans-#{$type}Italic.woff2') format('woff2'),
url('#{$font-path}/#{$type}Italic/OpenSans-#{$type}Italic.woff') format('woff'),
url('#{$font-path}/#{$type}Italic/OpenSans-#{$type}Italic.eot?#iefix') format('embedded-opentype'),
url('#{$font-path}/#{$type}Italic/OpenSans-#{$type}Italic.ttf?#iefix') format('truetype');
}
font-weight: $weight;
font-style: italic;
}
}
@font-face {
font-family: 'Open Sans';
src: url('../xstatic/fonts/Bold/OpenSans-Bold.eot?#iefix') format('embedded-opentype'), url('../xstatic/fonts/Bold/OpenSans-Bold.woff') format('woff'), url('../xstatic/fonts/Bold/OpenSans-Bold.ttf') format('truetype'), url('../xstatic/fonts/Bold/OpenSans-Bold.svg#fontawesomeregular') format('svg');
font-weight: bold;
font-style: normal;
}
@include font('Light', 300);
@include font('Regular', 400);
@include font('Semibold', 600);
@include font('Bold', 700);
@include font('ExtraBold', 800);

View File

@ -0,0 +1,131 @@
@charset "UTF-8";
div.cell.shown-because-admin {
opacity: 0.5;
background-image: repeating-linear-gradient(-45deg, #eee 0px, #eee 14px, transparent 15px, transparent 30px);
&:hover {
opacity: 1;
background-image: inherit;
}
}
div#portal-agent-content, aside#sidebar {
div.searchcell {
font-size: 110%;
}
div.cell {
background: white;
padding: 1rem;
margin-bottom: 1rem;
border-radius: $cell-border-radius;
&.transparent, &.pk-transparent {
background: transparent;
}
&.highlight, &.pk-highlight {
background: linear-gradient(to right, $primary-color 30%, $secondary-color 100%);
color: white;
h2, a {
color: white;
}
}
&.no-bottom-margin {
margin-bottom: 0;
border-radius: $cell-border-radius $cell-border-radius 0 0;
border-bottom: 0;
p:last-child {
margin-bottom: 0;
padding-bottom: 1ex;
}
+ div {
margin-top: 0;
border-radius: 0 0 $cell-border-radius $cell-border-radius;
border-top: 0;
&.no-bottom-margin {
border-radius: 0;
}
p:first-child {
margin-top: 0;
padding-top: 1ex;
}
}
}
&.pk-button, &.pk-big-button,
&[class*=pk-button-], &[class*="pk-big-button-"] { // when used on link cells
padding: 0;
a {
@extend %button;
text-align: center;
display: block;
}
}
&.pk-big-button,
&[class*="pk-big-button-"] {
a {
padding: 2rem 4rem;
}
}
&.pk-button-cancel, &.pk-big-button-cancel {
a {
@extend %cancel-button;
}
}
&.pk-button-delete, &.pk-big-button-delete {
a {
@extend %delete-button;
}
}
&.pk-button-submit, &.pk-big-button-submit {
a {
@extend %submit-button;
}
}
}
}
aside#sidebar {
div.cell {
background: white;
padding: 0 1rem;
margin-top: 1rem;
}
}
div.combo-search-results {
a.nolink {
color: $font-color;
border-bottom-color: transparent;
}
}
.link-list-cell.pk-horizontal-button-links,
.link-list-cell.pk-wide-horizontal-button-links {
ul {
display: flex;
@media screen and (max-width: $mobile-limit) {
flex-direction: column;
}
}
li {
&:not(:last-child) {
margin-right: 1em;
}
border: none;
&:hover {
background: transparent;
}
@media screen and (max-width: $mobile-limit) {
&:not(:last-child) {
margin-right: 0;
}
margin-bottom: 0.5em;
}
}
&.pk-wide-horizontal-button-links {
li {
flex: 1;
}
}
a {
@extend %button;
}
}

View File

@ -1,3 +1,5 @@
@charset "UTF-8";
@font-face {
font-family: 'FontAwesome';
src: url('../xstatic/fonts/fontawesome-webfont.eot');
@ -6,12 +8,6 @@
font-style: normal;
}
@mixin vendor-prefix($name, $value) {
@each $vendor in ('-webkit-', '-moz-', '-ms-', '-o-', '') {
#{$vendor}#{$name}: #{$value};
}
}
@function text-color($color) {
@if (lightness($color) > 50) {
@return #303030;
@ -19,3 +15,20 @@
@return #ffffff;
}
}
// Only display content to screen readers
@mixin sr-only {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}
.sr-only {
@include sr-only();
}

View File

@ -0,0 +1,35 @@
.gadjo-multi-select-widget {
&--field {
margin-bottom: 0.2em;
}
&--select-button-container {
display: flex;
gap: 0.5em;
}
&--field {
select {
min-width: 0;
}
button {
margin-top: auto;
margin-bottom: auto;
}
&:first-of-type .gadjo-multi-select-widget--button-remove {
display: none;
}
}
&--button-add::before {
content: "\f067"; /* plus */
font-family: FontAwesome;
}
&--button-remove::before {
content: "\f068"; /* minus */
font-family: FontAwesome;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,98 @@
p.snapshot-description {
font-size: 80%;
margin: 0;
}
table.diff {
background: white;
border: 1px solid #f3f3f3;
border-collapse: collapse;
width: 100%;
colgroup, thead, tbody, td {
border: 1px solid #f3f3f3;
}
tbody tr:nth-child(even) {
background: #fdfdfd;
}
th, td {
max-width: 30vw;
/* it will not actually limit width as the table is set to
* expand to 100% but it will prevent one side getting wider
*/
overflow: hidden;
text-overflow: ellipsis;
vertical-align: top;
}
.diff_header {
background: #f7f7f7;
}
td.diff_header {
text-align: right;
padding-right: 10px;
color: #606060;
}
.diff_next {
display: none;
}
.diff_add {
background-color: #aaffaa;
}
.diff_chg {
background-color: #ffff77;
}
.diff_sub {
background-color: #ffaaaa;
}
.difflib_chg_to td {
background-color: #f7f7f7;
}
.expand-handler td {
text-align: left;
background-color: #f7f7f7;
&:hover {
background-color: inherit;
}
}
.expand-before, .expand-between, .expand-after {
cursor: pointer;
&::before {
font-family: FontAwesome;
padding: 0 2ex;
}
}
.expand-before::before {
content: "\f176"; // long-arrow-up
}
.expand-between::before {
content: "\f07d"; // arrows-v
}
.expand-after::before {
content: "\f175"; // long-arrow-down
}
}
div.snapshot-diff {
margin: 1em 0;
display: none;
ins {
text-decoration: none;
background-color: #d4fcbc;
}
del {
text-decoration: line-through;
background-color: #fbb6c2;
color: #555;
}
h3 {
del, ins {
font-weight: bold;
background-color: transparent;
}
del, del a {
color: #fbb6c2 !important;
}
ins, ins a {
color: #d4fcbc !important;
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="13"
height="13"
viewBox="0 0 3.4395833 3.4395832"
version="1.1"
id="svg3125"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="info-icon.svg"
inkscape:export-filename="info-icon.png"
inkscape:export-xdpi="590.77002"
inkscape:export-ydpi="590.77002">
<defs
id="defs3119" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="32"
inkscape:cx="1.5869111"
inkscape:cy="4.5592662"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1600"
inkscape:window-height="836"
inkscape:window-x="179"
inkscape:window-y="1107"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showguides="true"
inkscape:guide-bbox="true"
units="px">
<sodipodi:guide
position="-1.5957682,0.36380207"
orientation="1,0"
id="guide819"
inkscape:locked="false" />
<sodipodi:guide
position="-0.52916665,-0.52916665"
orientation="1,0"
id="guide821"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata3122">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-51.743849,-118.88301)">
<path
inkscape:connector-curvature="0"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#386ede;stroke-width:0.09999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
d="m 53.463641,118.95313 c -0.606618,0 -1.098382,0.4916 -1.098382,1.09802 0,0.40605 0.221383,0.75363 0.549192,0.9436 v 0.70343 h 1.098382 v -0.70343 c 0.327809,-0.18997 0.54919,-0.53755 0.54919,-0.9436 0,-0.60642 -0.491765,-1.09802 -1.098382,-1.09802 z"
id="path4561"
sodipodi:nodetypes="csccccsc" />
<path
inkscape:connector-curvature="0"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:#386ede;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
d="m 52.991534,122.24009 h 0.944213"
id="path4488-4"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:#386ede;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
d="m 52.862851,121.96715 1.201579,0.002"
id="path4488-4-7"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.8;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#386ede;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
d="m 53.199057,120.20164 h 0.529167"
id="path4488-4-4"
sodipodi:nodetypes="cc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,103 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="13"
height="13"
viewBox="0 0 3.4395833 3.4395832"
version="1.1"
id="svg3125"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
sodipodi:docname="sorry-icon.svg"
inkscape:export-filename="sorry-icon.png"
inkscape:export-xdpi="590.77002"
inkscape:export-ydpi="590.77002">
<defs
id="defs3119" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.318002"
inkscape:cx="-3.332695"
inkscape:cy="4.729909"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1600"
inkscape:window-height="836"
inkscape:window-x="179"
inkscape:window-y="1107"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showguides="true"
inkscape:guide-bbox="true"
units="px"
inkscape:document-rotation="0">
<sodipodi:guide
position="-1.5957682,0.36380207"
orientation="1,0"
id="guide819"
inkscape:locked="false" />
<sodipodi:guide
position="-0.52916665,-0.52916665"
orientation="1,0"
id="guide821"
inkscape:locked="false" />
<sodipodi:guide
position="0.85704491,2.416597"
orientation="0,-1"
id="guide863" />
<sodipodi:guide
position="0.79428574,1.8879927"
orientation="0,-1"
id="guide865" />
</sodipodi:namedview>
<metadata
id="metadata3122">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-51.743849,-118.88301)">
<path
inkscape:connector-curvature="0"
d="m 53.72296,120.7007 c -7.93e-4,-0.86144 0.229902,-1.32314 0.370795,-1.32327 l 0.132292,-1.3e-4 c -0.168259,0.26383 -0.238755,1.06292 -0.238503,1.32315 2.51e-4,0.26022 -0.01545,1.00664 0.241054,1.32268 l -0.132292,1.3e-4 c -0.180176,1.7e-4 -0.372515,-0.46112 -0.373346,-1.32256 z"
id="rect3773-4"
style="display:inline;opacity:1;fill:#386ede;fill-opacity:1;stroke:none;stroke-width:0.264583"
sodipodi:nodetypes="cccsccc" />
<circle
style="color:#000000;overflow:visible;opacity:1;fill:#386ede;fill-opacity:1;stroke-width:0.15875;stroke-linejoin:round;stroke-miterlimit:10"
id="path842"
cx="53.208046"
cy="121.22882"
r="0.25790736" />
<circle
style="color:#000000;overflow:visible;opacity:1;fill:#386ede;fill-opacity:1;stroke-width:0.15875;stroke-linejoin:round;stroke-miterlimit:10"
id="path842-3"
cx="53.208046"
cy="120.17593"
r="0.25790736" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,6 +1,6 @@
var gadjo_js = gadjo_js || {};
(function () {
if (gadjo_js.loaded) return
if (gadjo_js.loaded) return;
gadjo_js.loaded = true;
var $ = jQuery;
var popup_script_loaded = {};
@ -47,6 +47,9 @@ var gadjo_js = gadjo_js || {};
* attribute, a gadjo:dialog-done event is triggered on success, a
* gadjo:dialog-submit-error event is triggered on failure.
*
* Set data-autoclose-dialog="true" to close the dialog box after the
* submit.
*
* Dialog is modal by default, set data-modal="false" for non-modal
* dialogs.
*/
@ -55,6 +58,7 @@ var gadjo_js = gadjo_js || {};
var selector = $anchor.data('selector') || 'form:not(.gadjo-popup-ignore)';
var title_selector = $anchor.data('title-selector') || '#appbar h2';
var inplace_submit = $anchor.data('inplace-submit');
var autoclose_dialog = $anchor.data('autoclose-dialog');
var modal = $anchor.data('modal');
if (url == '#') {
return false;
@ -78,7 +82,7 @@ var gadjo_js = gadjo_js || {};
function ajaxform_submit(data, status, xhr, form) {
if ('location' in data) {
var e = $.Event('gadjo:dialog-done');
if (document.contains($anchor[0])) {
if (document.body.contains($anchor[0])) {
$anchor.trigger(e, data);
} else {
$(document).trigger(e, data);
@ -95,7 +99,7 @@ var gadjo_js = gadjo_js || {};
var $form = $(form);
$form.empty().append($(data.content).find(selector).children());
$form.find('.buttons').hide();
if (document.contains($anchor[0])) {
if (document.body.contains($anchor[0])) {
$anchor.trigger('gadjo:dialog-loaded', $form);
} else {
$(document).trigger('gadjo:dialog-loaded', $form);
@ -108,6 +112,7 @@ var gadjo_js = gadjo_js || {};
$.ajax({
url: url,
beforeSend: function(xhr) {xhr.setRequestHeader('X-Popup', 'true'); },
success: function(html) {
var is_json = typeof html != 'string';
if (is_json) {
@ -160,10 +165,15 @@ var gadjo_js = gadjo_js || {};
/* get title out of html */
var title = $html.find(title_selector).text();
/* force textarea width so the dialog is sized to properly
* embed the ckeditor widget. */
$content.find('textarea[data-config]').attr('cols', '80');
$content.dialog({
modal: modal,
'title': title,
width: 'auto',
closeText: $anchor.data('close-button-text') || 'Close',
close: function (ev, ui) {
$(this).dialog('destroy');
},
@ -187,7 +197,8 @@ var gadjo_js = gadjo_js || {};
if ($elem.prop('disabled')) {
button.disabled = 'disabled';
}
if ($elem.hasClass('cancel')) {
var is_cancel_button = $elem.hasClass('cancel') || $elem.hasClass('cancel-button') || $elem.is('[name="cancel"]');
if (is_cancel_button) {
/* special behaviour for the cancel button: do not send
* anything to server, just close the dialog */
button.click = function() { $content.dialog('destroy'); return false; };
@ -206,7 +217,7 @@ var gadjo_js = gadjo_js || {};
type: 'POST',
url: action_url,
data: $form.serialize(),
}).success(function(data) {
}).done(function(data) {
$anchor.trigger('gadjo:dialog-done', data);
$content.dialog('destroy');
}).fail(function() { $anchor.trigger('gadjo:dialog-submit-error');
@ -217,6 +228,15 @@ var gadjo_js = gadjo_js || {};
} else {
$elem.click();
}
var validated = true;
$form.find('input, textarea').each(function() {
if ($(this)[0].checkValidity != undefined) {
validated &= $(this)[0].checkValidity();
}
})
if (autoclose_dialog & validated) {
$content.dialog('destroy');
}
}
return false;
};
@ -225,9 +245,9 @@ var gadjo_js = gadjo_js || {};
/* add custom classes to some buttons */
if ($elem.hasClass('submit-button')) {
button.class = 'submit-button';
} else if ($elem.hasClass('cancel') || $elem.hasClass('cancel-button')) {
} else if (is_cancel_button) {
button.class = 'cancel-button';
} else if ($elem.hasClass('delete-button')) {
} else if ($elem.hasClass('delete-button') || $elem.is('[name=delete]')) {
button.class = 'delete-button';
}
buttons.push(button);
@ -237,8 +257,9 @@ var gadjo_js = gadjo_js || {};
$content.dialog('option', 'buttons', buttons);
/* focus initial input field */
if ($form.find('input:visible').length) {
$form.find('input:visible')[0].focus();
var $form_fields = $form.find('input:visible, textarea:visible, select:visible');
if ($form_fields.length) {
$form_fields[0].focus();
}
/* if received content was in json, apply jQuery Form plugin on it */
@ -261,6 +282,99 @@ var gadjo_js = gadjo_js || {};
return false;
}
// Tabs
// adapted from https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Tab_Role
gadjo_js.Tabs = function(tabs_el) {
this.parent = tabs_el;
this.tabList = this.parent.querySelector('[role="tablist"]');
this.tabs = this.tabList.querySelectorAll('[role="tab"]');
this.tabpanels = this.parent.querySelectorAll('[role="tabpanel"]');
this.init();
}
gadjo_js.Tabs.prototype = {
init : function() {
const _self = this;
// Add a click event handler to each tab
this.tabs.forEach(function(tab) {
tab.addEventListener('click', function(e) {_self.selectTab.call(_self, e)});
});
// Enable arrow navigation between tabs in the tab list
let tabFocus = 0;
this.tabList.addEventListener('keydown', function(e) {
// Move up & down
if (e.key === "ArrowDown" || e.key === "ArrowUp") {
e.preventDefault();
_self.tabs[tabFocus].setAttribute('tabindex', -1);
if (e.key === "ArrowDown") {
tabFocus++;
// If we're at the end, go to the start
if (tabFocus >= _self.tabs.length) {
tabFocus = 0;
}
} else if (e.key === "ArrowUp") {
tabFocus--;
// If we're at the start, move to the end
if (tabFocus < 0) {
tabFocus = _self.tabs.length - 1;
}
}
_self.tabs[tabFocus].setAttribute('tabindex', 0);
_self.tabs[tabFocus].focus();
}
});
},
selectTab: function(e) {
const btn = e.target && e.target || e;
// Remove all current selected tabs
this.tabList
.querySelectorAll('[aria-selected="true"]')
.forEach(function(t) { t.setAttribute('aria-selected', false); });
// Set this tab as selected
btn.setAttribute('aria-selected', true);
// Hide all tab panels
this.tabpanels.forEach(function(p) { p.hidden = true });
// Show the selected panel
this.parent
.querySelector('#' + btn.getAttribute('aria-controls'))
.hidden = false;
// Adjust URL to mention selected tab
const url = new URL(document.location);
const prefix = btn.getAttribute('aria-controls').split('-')[0];
url.hash = '#open:' + btn.getAttribute('aria-controls').substring(prefix.length + 1);
history.replaceState(null, '', url);
// Trigger gadjo:tab-selected event on panel
$(this.parent.querySelector('#' + btn.getAttribute('aria-controls'))).trigger('gadjo:tab-selected');
return false;
}
}
window.addEventListener('DOMContentLoaded', function() {
$(document.querySelectorAll('.pk-tabs')).each(function(i, el) {
el.tabs = new gadjo_js.Tabs(el);
});
/* focus tab from #open:<tab slug> anchor, to point to open panel */
if (document.location.hash && document.location.hash.indexOf('#open:') == 0) {
const $tab_button = $('#tab-' + document.location.hash.substring(6) + '[role=tab]');
if ($tab_button.length) {
$tab_button.parents('.pk-tabs')[0].tabs.selectTab($tab_button[0]);
}
}
});
var storage = undefined;
try {
window.localStorage._gadgo_test = true;
@ -276,50 +390,63 @@ var gadjo_js = gadjo_js || {};
}
}
var cookie_domain = window.location.hostname.split('.').slice(1).join('.');
function readCookie(name) { /* http://www.quirksmode.org/js/cookies.html */
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function set_sidepage_status(sidepage_status) {
storage.sidepage_status = sidepage_status;
if (cookie_domain) {
var date = new Date();
date.setTime(date.getTime() + (10 * 86400 * 1000)); /* a long week */
document.cookie = 'gadjo_sidepage_status=' + sidepage_status +
'; expires=' + date.toGMTString() +
(window.location.protocol == "https:" && "; Secure" || "") +
'; sameSite=Strict' +
'; domain=.' + cookie_domain +
'; path=/';
}
}
function get_sidepage_status() {
if (window.location.protocol == 'file:') {
/* don't open sidepage when loading from a file:// */
return 'collapsed';
}
var sidepage_status = null;
if (cookie_domain) {
sidepage_status = readCookie('gadjo_sidepage_status');
} else {
sidepage_status = storage.sidepage_status;
}
if (!sidepage_status &&
typeof(GADJO_DEFAULT_SIDEPAGE_STATUS) !== "undefined") {
return GADJO_DEFAULT_SIDEPAGE_STATUS;
}
return sidepage_status;
}
document.addEventListener('DOMContentLoaded', function() {
if (document.body.dataset.gadjo === 'true' && document.getElementById('sidepage')) {
document.body.setAttribute('data-has-sidepage', 'true');
if (storage.gadjo_sidebar_menu) {
$('#sidepage-menu').empty().append($(storage.gadjo_sidebar_menu));
}
if (window.innerWidth > 760 && get_sidepage_status() == 'expanded') {
document.body.className += ' sidepage-expanded';
}
}
});
$(function() {
var cookie_domain = window.location.hostname.split('.').slice(1).join('.');
function readCookie(name) { /* http://www.quirksmode.org/js/cookies.html */
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function set_sidepage_status(sidepage_status) {
storage.sidepage_status = sidepage_status;
if (cookie_domain) {
var date = new Date();
date.setTime(date.getTime() + (10 * 86400 * 1000)); /* a long week */
document.cookie = 'gadjo_sidepage_status=' + sidepage_status +
'; expires=' + date.toGMTString() +
'; domain=.' + cookie_domain +
'; path=/';
}
}
function get_sidepage_status() {
if (window.location.protocol == 'file:') {
/* don't open sidepage when loading from a file:// */
return 'collapsed';
}
var sidepage_status = null;
if (cookie_domain) {
sidepage_status = readCookie('gadjo_sidepage_status');
} else {
sidepage_status = storage.sidepage_status;
}
if (!sidepage_status &&
typeof(GADJO_DEFAULT_SIDEPAGE_STATUS) !== "undefined") {
return GADJO_DEFAULT_SIDEPAGE_STATUS;
}
return sidepage_status;
}
$(document).on('click.gadjo', 'a[rel=popup]', displayPopup);
$(document).on('click.gadjo', 'a[rel=popup], a[data-popup]', displayPopup);
if ($('#sidepage').length) {
var sidepage_button = $('#sidepage #applabel');
sidepage_button.on('click', function() {
@ -330,12 +457,11 @@ var gadjo_js = gadjo_js || {};
} else {
set_sidepage_status('collasped');
}
setTimeout(function() {
// delay to get the CSS transition to run
$(window).trigger('gadjo:sidepage-toggled');
}, 500);
});
if ($(window).width() > 760) {
if (get_sidepage_status() == 'expanded') {
$('body').toggleClass('sidepage-expanded');
}
}
}
});
$(function () { /* foldable elements with memory */
@ -355,23 +481,23 @@ var gadjo_js = gadjo_js || {};
sessionStorage['gadjo-foldable-id-' + $parent[0].id + '-' + window.location.pathname] = ! $parent.is('.gadjo-folded');
}
});
document.querySelectorAll('details.gadjo-remember-open-status').forEach(
el => {
const key = 'gadjo-foldable-id-' + el.id + '-' + window.location.pathname
if (sessionStorage[key] !== undefined) el.open = (sessionStorage[key] === "true")
el.addEventListener('toggle', (e) => sessionStorage[key] = el.open)
}
)
});
$(function () { /* foldable sections */
$('.section.foldable > h2, .section.foldable > h3').on('click', function() {
$('.section.foldable:not(.gadjo-foldable-ignore) > h2, .section.foldable:not(.gadjo-foldable-ignore) > h3').on('click', function() {
$(this).parent().toggleClass('folded');
});
});
$(function () {
if ($('body').data('gadjo')) {
if ($('#sidepage').length == 1) {
$('body').attr('data-has-sidepage', 'true');
}
if ($('body[data-no-moving-header]').length == 0) {
/* 440 is header image height (500px) - header height (60px) */
var timestamp = ((new Date().getTime() / 1000) % 86400 ) / (86400 / 440);
$('div#header').css('background-position', '0 -' + timestamp + 'px');
}
/* add × to close notification messages */
$('.messages > li').each(function(idx, elem) {
var elem = $('<a aria-hidden="true" class="close">×</a>');
@ -382,11 +508,69 @@ var gadjo_js = gadjo_js || {};
});
}
});
$(function() {
$('a.extra-actions-menu-opener').on('click', function() {
function prepare_kebab_menu() {
$(document.querySelectorAll('.extra-actions-menu')).each(function(i, el) {
this.setAttribute('id', 'extra-actions-menu'+i);
});
$(document.querySelectorAll('.extra-actions-menu-opener')).each(function(i, el) {
if (this.__initialized === true) return;
// closes all kebab menus which are not the one with lst_id id
function close_others(lst_id) {
$(document.querySelectorAll('.extra-actions-menu')).each(function(i, el) {
if(el.id == lst_id) { return ; }
$(this).removeClass('open')
$('[aria-controls='+el.id+']').attr('aria-expanded', 'false')
$('[aria-controls='+el.id+']').removeClass('open')
})
}
const ctrl_id = 'extra-actions-menu'+i;
this.__initialized = true;
this.setAttribute('tabindex', 0);
this.setAttribute('aria-label', 'Menu'); // XXX: translation
this.setAttribute('aria-controls', ctrl_id);
this.setAttribute('aria-expanded', 'false');
this.addEventListener('keydown', function(e) {
if (e.key === 'Enter' || e.key === ' ') {
close_others(ctrl_id);
$(this).toggleClass('open');
$('.extra-actions-menu').toggleClass('open');
$('#'+ctrl_id).toggleClass('open');
this.setAttribute('aria-expanded', $(this).is('.open'));
e.preventDefault();
}
});
this.addEventListener('click', function() {
close_others(ctrl_id);
$(this).toggleClass('open');
$('#'+ctrl_id).toggleClass('open');
this.setAttribute('aria-expanded', $(this).is('.open'));
});
});
}
$(function() {
prepare_kebab_menu();
});
$(document).on('gadjo:content-update', prepare_kebab_menu);
$(function() {
$(document).on('click auxclick', '.clickable-rows tr', function(event) {
var $target = $(event.target);
if ($target.is('input, button, a')) {
return true;
}
if (window.getSelection().toString()) {
return false;
}
var href = $(this).data('url') || $(this).find('a[href]').prop('href');
if (href) {
if (event.which == 2 || event.ctrlKey) {
window.open(href, '_blank');
} else {
window.location = href;
}
return false;
}
});
});
$(function() {
$('.varname').on('click', function() {
@ -405,4 +589,7 @@ var gadjo_js = gadjo_js || {};
return false;
});
});
$(document).on('publik:menu-loaded', function() {
storage.gadjo_sidebar_menu = document.getElementById('sidepage-menu').innerHTML;
});
})();

View File

@ -0,0 +1,58 @@
const multiSelectWidget = (function () {
const addRow = function () {
const widget = this.closest('.gadjo-multi-select-widget')
event.preventDefault()
/* get last row node */
const rows = widget.querySelectorAll('.gadjo-multi-select-widget--field')
const lastRow = rows[rows.length - 1]
/* clone the row */
const newRow = lastRow.cloneNode(true)
/* set new label and ids */
const rowLabel = widget.dataset.rowLabel
const newLabel = rowLabel + ' ' + rows.length
newRow.querySelector('label').textContent = newLabel
const rowId = widget.dataset.rowId
const newId = rowId + '_' + rows.length
newRow.querySelector('label').setAttribute('for', newId)
newRow.querySelector('select').setAttribute('id', newId)
/* add new row after the last row */
lastRow.parentNode.insertBefore(newRow, lastRow.nextSibling)
const removeButton = newRow.querySelector('.gadjo-multi-select-widget--button-remove')
removeButton.addEventListener('click', removeRow)
}
const removeRow = function (event) {
event.preventDefault()
const field = this.closest('.content')
let row = this.closest('.gadjo-multi-select-widget--field')
row.remove()
field.dispatchEvent(new Event('change'))
}
const init = function (container) {
const widgets = container.querySelectorAll('.gadjo-multi-select-widget')
if (!widgets.length) return
widgets.forEach(function (widget) {
const deletBtn = widget.querySelectorAll('.gadjo-multi-select-widget--button-remove')
const addBtn = widget.querySelector('.gadjo-multi-select-widget--button-add')
addBtn.removeEventListener('click', addRow)
addBtn.addEventListener('click', addRow)
deletBtn.forEach(btn => btn.removeEventListener('click', removeRow))
deletBtn.forEach(btn => btn.addEventListener('click', removeRow))
})
}
return {
init,
}
})()
window.addEventListener('DOMContentLoaded', () => multiSelectWidget.init(document))

View File

@ -0,0 +1,69 @@
const $ = window.$
$(function () {
$('div.snapshot-diff tr').each(function () {
let $tr = $(this)
if (!$tr.find('.diff_add, .diff_chg, .diff_sub').length) {
return
}
// mark 3 lines before and after each change
$tr.addClass('no-collapse')
.prev().addClass('no-collapse')
.prev().addClass('no-collapse')
.prev().addClass('no-collapse')
$tr
.next().addClass('no-collapse')
.next().addClass('no-collapse')
.next().addClass('no-collapse')
})
$('div.snapshot-diff tr').each(function () {
let $tr = $(this)
if (!$tr.find('.diff_next a').length) {
return
}
let trId = $tr.find('a').first().attr('href').substring(1)
// collapse previous lines
let previousLines = $tr.prevUntil('.difflib_chg_to')
previousLines.each(function () {
let $line = $(this)
if ($line.hasClass('no-collapse') || $line.hasClass('expand-handler')) {
return
}
$line.addClass(trId).addClass('difflib_chg_to').hide()
})
// add expand
if ($tr.prevAll('.difflib_chg_to').first().hasClass(trId)) {
let expandClass = 'expand-between'
if ($tr.prevAll('.difflib_chg_to').first().prevAll('.no-collapse').length === 0) {
expandClass = 'expand-before'
}
$('<tr class="expand-handler"></tr>')
.html(
'<td colspan="6" class="diff_header expand ' + expandClass + '" data-expand="' + trId + '"></td>',
)
.insertAfter($tr.prevAll('.difflib_chg_to').first())
}
// if last change
if ($tr.find('a').first().text() === 't') {
// collapse next lines
let nextLines = $tr.nextAll()
nextLines.each(function () {
let $line = $(this)
if ($line.hasClass('no-collapse') || $line.hasClass('expand-handler')) {
return
}
$line.addClass(trId + '-end').addClass('difflib_chg_to').hide()
})
// add expand
$('<tr class="expand-handler"></tr>')
.html('<td colspan="6" class="diff_header expand expand-after" data-expand="' + trId + '-end"></td>')
.insertAfter($tr.nextAll('.difflib_chg_to').first())
}
})
$('div.snapshot-diff').show()
$(document).on('click', '.expand-handler', function () {
let $handler = $(this)
$handler.hide()
let expandClass = $handler.find('td.expand').first().data('expand')
$('.' + expandClass).show()
})
})

View File

@ -0,0 +1 @@
<label>{% include "django/forms/widgets/input.html" %}<span></span></label>

View File

@ -0,0 +1 @@
{% if widget.wrap_label %}<label{% if widget.attrs.id %} for="{{ widget.attrs.id }}"{% endif %}>{% endif %}{% include "django/forms/widgets/input.html" %}{% if widget.wrap_label %} <span>{{ widget.label }}</span></label>{% endif %}

View File

@ -1,34 +1,26 @@
{% load i18n %}
{{ form.non_field_errors }}
{% for field in form %}
{% if form.errors %}
<div class="errornotice" tabindex="-1" autofocus role="alert">
<p>{% trans "There were errors processing your form." %}</p>
{% for error in form.non_field_errors %}
<p>{{ error }}</p>
{% endfor %}
{% for field in form %}
{% if field.is_hidden and field.errors %}
<p>
{% for error in field.errors %}
{% blocktrans with name=field.name %}(Hidden field {{name}}) {{ error }}{% endblocktrans %}
{% if not forloop.last %}<br>{% endif %}
{% endfor %}
</p>
{% endif %}
{% endfor %}
</div>
{% endif %}
{% for field, widget_template in fields_with_templates %}
{% if field.is_hidden %}
{% if field.errors %}
<ul class="errorlist">
{% for error in field.errors %}
<li>
{% blocktrans with name=field.name %}(Hidden field {{name}}) {{ error }}{% endblocktrans %}
</li>
{% endfor %}
</ul>
{% endif %}
{{ field }}
{% endif %}
{% endfor %}
{% for field in form %}
{% if not field.is_hidden %}
<p {% if field.css_classes %}class="{{ field.css_classes }}"{% endif %}>
{{ field.label_tag }}
{% if field.errors %}
<ul class="errorlist">
{% for error in field.errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
{% endif %}
{{ field }}
{% if field.help_text %}
<span class="helptext">{{ field.help_text }}</span>
{% endif %}
</p>
{% else %}
{% include widget_template with field=field %}
{% endif %}
{% endfor %}

View File

@ -7,35 +7,51 @@ Expected context variables:
- page_obj: Paginator page object
- page_key (optional): name of page parameter (default: page)
- anchor (optional): anchor to use in links
- without_key (optional): key to remove in GET params
{% endcomment %}
{% if page_obj.paginator.num_pages > 1 %}
{% with page_key=page_key|default:"page" %}
{% spaceless %}
<p class="paginator">
{% if page_obj.number > 1 %}
{% if page_obj.previous_page_number != 1 %}
<a href="{% querystring page_key=1 %}{{ anchor }}">1</a>
{% endif %}
{% endif %}
{% with page_key=page_key|default:"page" %}
{% spaceless %}
<p class="paginator">
{% if page_obj.number > 4 %}
<a href="{% querystring page_key=1 without without_key %}{{ anchor }}">1</a>
{% else %}
{% if page_obj.number >= 3 %}
<a href="{% querystring page_key=1 without without_key %}{{ anchor }}">1</a>
{% if page_obj.number == 4 %}
<a href="{% querystring page_key=2 without without_key %}{{ anchor }}">2</a>
{% endif %}
{% endif %}
{% endif %}
{% if page_obj.has_previous %}
<a href="{% querystring page_key=page_obj.previous_page_number %}{{ anchor }}">{{ page_obj.previous_page_number }}</a>
{% endif %}
{% if page_obj.has_previous %}
<a href="{% querystring page_key=page_obj.previous_page_number without without_key %}{{ anchor }}">{{ page_obj.previous_page_number }}</a>
{% endif %}
<span class="this-page">{{ page_obj.number }}</span>
<span class="this-page">{{ page_obj.number }}</span>
{% if page_obj.has_next %}
<a href="{% querystring page_key=page_obj.next_page_number %}{{ anchor }}">{{ page_obj.next_page_number }}</a>
{% endif %}
{% if page_obj.number != page_obj.paginator.num_pages %}
{% if page_obj.next_page_number != page_obj.paginator.num_pages %}
<a href="{% querystring page_key=page_obj.paginator.num_pages %}{{ anchor }}">{{ page_obj.paginator.num_pages }}</a>
{% endif %}
{% endif %}
</p>
{% endspaceless %}
{% endwith %}
{% if page_obj.has_next %}
<a href="{% querystring page_key=page_obj.next_page_number without without_key %}{{ anchor }}">{{ page_obj.next_page_number }}</a>
{% endif %}
{% if page_obj.number < page_obj.paginator.num_pages|add:"-3" %}
{% if page_obj.next_page_number != page_obj.paginator.num_pages %}
<a href="{% querystring page_key=page_obj.paginator.num_pages without without_key %}{{ anchor }}">{{ page_obj.paginator.num_pages }}</a>
{% endif %}
{% else %}
{% if page_obj.number <= page_obj.paginator.num_pages|add:"-2" %}
{% if page_obj.number == page_obj.paginator.num_pages|add:"-3" %}
{% with a_page_key=page_obj.paginator.num_pages|add:"-1" %}
<a href="{% querystring page_key=a_page_key without without_key %}{{ anchor }}">{{ a_page_key }}</a>
{% endwith %}
{% endif %}
<a href="{% querystring page_key=page_obj.paginator.num_pages without without_key %}{{ anchor }}">{{ page_obj.paginator.num_pages }}</a>
{% endif %}
{% endif %}
</p>
{% endspaceless %}
{% endwith %}
{% endif %}

View File

@ -0,0 +1,25 @@
{% extends "gadjo/widget.html" %}
{% load i18n %}
{% block widget-css-classes %}{{ block.super }} gadjo-password-field{% endblock %}
{% block widget-bottom %}
<div class="password-visibility-checkbox">
<input id="password-visibility-checkbox-{{ field.id_for_label }}" type="checkbox" aria-label="{% trans "Display password" %}">
<label for="password-visibility-checkbox-{{ field.id_for_label }}">{% trans "Display" %}</label>
</div>
<script>
(function() {
const checkbox = document.getElementById('password-visibility-checkbox-{{ field.id_for_label }}');
const password_input = document.querySelector('#{{field.id_for_label}}_p input[type=password]');
checkbox.addEventListener('change', function(e) {
if (this.checked) {
password_input.type = 'text';
} else {
password_input.type = 'password';
}
});
checkbox.checked = false; // force to be hidden on load
})();
</script>
{% endblock %}

View File

@ -0,0 +1,9 @@
{% extends "gadjo/widget.html" %}
{% block widget-attrs %}role="radiogroup"{% endblock %}
{% block widget-control %}
{% for option in field %}
{{ option }}
{% endfor %}
{% endblock %}

View File

@ -1,122 +1,118 @@
{% load i18n gadjo staticfiles %}<!DOCTYPE html>
<html>
{% load i18n gadjo static %}<!DOCTYPE html>
<html {% if LANGUAGE_CODE %}lang="{{ LANGUAGE_CODE }}"{% endif %} {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}>
<head>
<meta charset="utf-8"/>
<title>{% block page-title %}{% endblock %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
{% block gadjo-favicon %}
<link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon">
{% endblock %}
{% block gadjo-css %}
<link rel="stylesheet" type="text/css" media="all" href="{% static "css/gadjo.css" %}?{% start_timestamp %} "/>
<link rel="stylesheet" type="text/css" media="all" href="{% static "css/gadjo.css" %}?{% start_timestamp %} "/>
{% block css %}
<link rel="stylesheet" type="text/css" media="all" href="{% static "css/style.css" %}?{% start_timestamp %}"/>
<link rel="stylesheet" type="text/css" media="all" href="{% static "css/style.css" %}?{% start_timestamp %}"/>
{% endblock %}
{% endblock %}
{% block gadjo-js %}
<script src="{% xstatic 'jquery' 'jquery.min.js' %}"></script>
<script src="{% xstatic 'jquery-ui' 'jquery-ui.min.js' %}"></script>
<script src="{% static "js/gadjo.js" %}?{% start_timestamp %}"></script>
<script src="{% xstatic 'jquery' 'jquery.min.js' %}"></script>
<script src="{% xstatic 'jquery-ui' 'jquery-ui.min.js' %}"></script>
<script src="{% static "js/gadjo.js" %}?{% start_timestamp %}"></script>
{% endblock %}
{{ media }}
{% block extrascripts %}
{% endblock %}
</head>
<body data-gadjo="true" {% block bodyargs %}{% endblock %}>
<div id="top">
{% block sidepage %}
<div id="sidepage">
<span id="applabel"> </span>
</div>
{% endblock %}
{% block user-links %}
<ul class="user-info">
{% if user.is_authenticated %}
<li class="ui-name">{{ user.get_full_name }}</li>
<li class="ui-logout"><a href="{% block logout-url %}index.html{% endblock %}">{% trans "Logout" %}</a></li>
{% endif %}
{% block help-link %}
<nav id="nav-skip" role="navigation" aria-label="{% trans "quick access" %}">
<ul>
<li><a href="#main-content">{% trans "Go to content" %}</a></li>
</ul>
</nav>
<div id="top">
{% block sidepage %}
{% endblock %}
</ul>
{% endblock %}
</div>
{% block user-links %}
<ul class="user-info">
{% if global_title %}
<li class="ui-platform-name">{% if portal_url %}<a href="{{portal_url}}">{{ global_title }}</a>{% else %}{{ global_title }}{% endif %}</li>
{% endif %}
{% if user.is_authenticated %}
<li class="ui-avatar">{{ user.get_full_name|slice:":1" }}</li>
<li class="ui-name">{% block user-name %}{{ user.get_full_name }}{% endblock %}</li>
<li class="ui-logout"><a href="{% block logout-url %}index.html{% endblock %}"
title="{% trans "Logout" %}"><span class="sr-only">{% trans "Logout" %}</span></a></li>
{% endif %}
{% block help-link %}
{% endblock %}
</ul>
{% endblock %}
</div>
<div id="header">
{% block site-header %}
<h1>{% block site-title %}{% endblock %}</h1>
{% block subheader %}{% endblock %}
{% endblock %}
</div>
<div id="main">
<div id="main">
{% block old-ie-warning %}
<!--[if lt IE 9]>
<div class="old-ie-warning">
{% blocktrans %}
<p><strong>Do you know your web browser is obsolete?</strong> We recommend
you to <a href="http://windows.microsoft.com/en-us/internet-explorer/download-ie">update
your web browser</a> or to <a href="http://browsehappy.com/">use
different web browsers</a> as some features may not work.
{% endblocktrans %}
</div>
<![endif]-->
{% endblock %}
<div id="main-content" {% block main-content-attributes %}{% endblock %}>
{% block main-content %}
<div id="more-user-links">
{% block more-user-links %}
<span id="breadcrumb">
{% block breadcrumb %}
<a href="{% block homepage-url %}/{% endblock %}">{% block homepage-title %}{% trans "Homepage" %}{% endblock %}</a>
{% endblock %}
</span>
{% endblock %}
</div>
<div id="content">
<div id="main-content" {% block main-content-attributes %}{% endblock %}>
{% block main-content %}
<div id="more-user-links">
{% block more-user-links %}
<span id="breadcrumb">
{% block breadcrumb %}
<a href="{% block homepage-url %}/{% endblock %}">{% block homepage-title %}{% trans "Homepage" %}{% endblock %}</a>
{% endblock %}
</span>
<div id="appbar">
{% block appbar %}
{% endblock %}
</div>
{% block messages %}
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endblock %}
{% block beforecontent %}
{% endblock %}
{% block content %}
{% endblock %}
<br style="clear: both;"/>
{% block aftercontent %}
{% endblock %}
</div> <!-- #content -->
{% endblock %}
</div>
<div id="content">
</div> <!-- #main-content -->
<div id="appbar">
{% block appbar %}
{% endblock %}
</div>
{% block messages %}
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endblock %}
{% block beforecontent %}
{% endblock %}
{% block content %}
{% endblock %}
<br style="clear: both;"/>
{% block aftercontent %}
{% endblock %}
</div> <!-- #content -->
{% block after-main-content %}
{% endblock %}
</div> <!-- #main-content -->
{% block after-main-content %}
{% block sidebar %}
{% endblock %}
</div> <!-- #main -->
<div id="footer">
{% block footer %}
{% endblock %}
</div>
{% block page-end %}
{% endblock %}
{% block sidebar %}
{% endblock %}
</div> <!-- #main -->
<div id="footer">
{% block footer %}
Copyright &copy; 2014 Entr'ouvert
{% endblock %}
</div>
{% block page-end %}
{% endblock %}
</body>
</html>

View File

@ -0,0 +1,42 @@
{% load gadjo i18n %}
<div class="{% block widget-css-classes %}widget
{{ field.css_classes }}
django-{{ field|field_class_name }}
{% if field.errors %}widget-with-error{% endif %}
{% if field.field.required %}widget-required{% else %}widget-optional{% endif %}{% endblock %}"
{% if field.id_for_label %}id="{{field.id_for_label}}_p"{% endif %}>
{% block widget-title %}
<div class="title" {% if field.id_for_label %}id="{{ field.id_for_label }}_title"{% endif %}>
{{ field.label_tag }}
{% if field.field.required %}
<span title="{% trans "This field is required." %}" class="required">*</span>
{% else %}
<span class="optional">{% trans "(optional)" %}</span>
{% endif %}
</div>
{% endblock %}
{% block widget-content %}
<div class="content"
{% if field.id_for_label %}aria-labelledby="{{ field.id_for_label }}_title"{% endif %}
{% block widget-attrs %}{% endblock %}>
{% block widget-hint %}
{% if field.help_text %}
<div class="hint" id="help_text_{{field.id_for_label}}"><p>{{ field.help_text|safe }}</p></div>
{% endif %}
{% endblock %}
{% block widget-control %}
{{ field }}
{% endblock %}
{% block widget-error %}
{% if field.errors %}
<div class="error" id="error_{{field.id_for_label}}"><p>
{% for error in field.errors %}
{{ error }}{% if not forloop.last %}<br>{% endif %}
{% endfor %}
</p></div>
{% endif %}
{% endblock %}
{% block widget-bottom %}{% endblock %}
</div>
{% endblock %}
</div>

View File

@ -0,0 +1,17 @@
{% load i18n %}
<div class="gadjo-multi-select-widget" data-row-id="{{ widget.name }}" data-row-label="{% trans "Value" %}">
<div class="gadjo-multi-select-widget--fields" role="group" aria-labelledby="{{ widget.name }}_title">
{% for widget in widget.subwidgets %}
<div class="gadjo-multi-select-widget--field">
<label for="{{ widget.name }}_{{ forloop.counter }}" class="sr-only">{% trans "Value" %} {{ forloop.counter }}</label>
<div class="gadjo-multi-select-widget--select-button-container">
{% include widget.template_name %}
<button type="button" name="{{ widget.name }}$remove_element" class="gadjo-multi-select-widget--button-remove" title="{% trans "Remove" %}" aria-label="{% trans "Remove value" %} {{ forloop.counter }}"></button>
</div>
</div>
{% endfor %}
</div>
<button type="button" name="{{ widget.name }}$add_element" class="gadjo-multi-select-widget--button-add" title="{% trans "Add" %}" aria-label="{% trans "Add" %}"></button>
</div>

View File

@ -1,49 +1,27 @@
from collections import OrderedDict
import re
import time
from xstatic.main import XStatic
from collections import OrderedDict
from django import template
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from django.forms import BoundField
from django.template import TemplateSyntaxError
from django.utils.html import escape
from django.utils.http import urlencode
register = template.Library()
@register.simple_tag
def xstatic(modname, filename):
try:
# list of tuples of the form (cdnname, protocol)
cdns = settings.CDNS
except AttributeError:
cdns = []
if settings.DEBUG:
filename = filename.replace('.min.', '.')
if cdns:
modname = str(modname.replace('-', '_'))
pkg = __import__('xstatic.pkg', fromlist=[modname])
mod = getattr(pkg, modname)
for cdnname, protocol in cdns:
try:
base_url = XStatic(mod, provider=cdnname, protocol=protocol).base_url
except KeyError:
continue
if isinstance(base_url, str):
# base_url is often a str
return base_url + '/' + filename
else:
# But it also can be a dict (which maps relative paths to
# full urls) (this happens with jquery CDN)
if filename in base_url:
return base_url.get(filename)
return settings.STATIC_URL + 'xstatic/' + filename
START_TIMESTAMP = time.strftime('%Y%m%d.%H%M%S')
START_TIMESTAMP = time.strftime('%Y%m%d.%H%M')
@register.simple_tag
def start_timestamp():
@ -51,7 +29,8 @@ def start_timestamp():
# {% querystring %} bits originally from django-tables2.
kwarg_re = re.compile(r"(?:(.+)=)?(.+)")
kwarg_re = re.compile(r'(?:(.+)=)?(.+)')
def token_kwargs(bits, parser):
"""
@ -73,9 +52,10 @@ def token_kwargs(bits, parser):
kwargs[parser.compile_filter(key)] = parser.compile_filter(value)
return kwargs
class QuerystringNode(template.Node):
def __init__(self, updates, removals):
super(QuerystringNode, self).__init__()
super().__init__()
self.updates = updates
self.removals = removals
@ -86,11 +66,12 @@ class QuerystringNode(template.Node):
for key, value in self.updates.items():
key = key.resolve(context)
value = value.resolve(context)
if key not in ("", None):
if key not in ('', None):
params[key] = value
for removal in self.removals:
params.pop(removal.resolve(context), None)
return escape("?" + urlencode(params, doseq=True))
return escape('?' + urlencode(params, doseq=True))
@register.tag
def querystring(parser, token):
@ -112,7 +93,47 @@ def querystring(parser, token):
updates = token_kwargs(bits, parser)
# ``bits`` should now be empty of a=b pairs, it should either be empty, or
# have ``without`` arguments.
if bits and bits.pop(0) != "without":
if bits and bits.pop(0) != 'without':
raise TemplateSyntaxError("Malformed arguments to '%s'" % tag)
removals = [parser.compile_filter(bit) for bit in bits]
return QuerystringNode(updates, removals)
@register.filter
def with_template(form):
form_template = template.loader.get_template('gadjo/form.html')
fields_with_templates = []
for field in form:
widget = field.field.widget
templates = ['gadjo/widget.html']
if hasattr(widget, 'input_type'):
templates.insert(0, 'gadjo/%s-widget.html' % widget.input_type)
aria_described_by = []
if field.field.help_text:
aria_described_by.append(f'help_text_{field.id_for_label}')
if field.errors:
aria_described_by.append(f'error_{field.id_for_label}')
field.field.widget.attrs['aria-invalid'] = 'true'
if field.field.required:
field.field.widget.attrs['aria-required'] = 'true'
if aria_described_by:
field.field.widget.attrs['aria-describedby'] = ' '.join(aria_described_by)
fields_with_templates.append(
(
field,
template.loader.select_template(templates),
)
)
return form_template.render({'form': form, 'fields_with_templates': fields_with_templates})
# pattern to transform Django camel case class names to CSS class names with
# dashes. (CheckboxInput -> checkbox-input)
class_name_pattern = re.compile(r'(?<!^)(?=[A-Z])')
@register.filter
def field_class_name(field):
if isinstance(field, BoundField):
field = field.field
return class_name_pattern.sub('-', field.widget.__class__.__name__).lower()

1
icons/action-add.svg Normal file
View File

@ -0,0 +1 @@
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 63.63 63.63"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M63.63,59.09V4.55A4.54,4.54,0,0,0,59.09,0H4.55A4.54,4.54,0,0,0,0,4.55V59.09a4.54,4.54,0,0,0,4.55,4.54H59.09A4.54,4.54,0,0,0,63.63,59.09ZM50,31.82a4.55,4.55,0,0,1-4.55,4.54H36.36v9.09a4.55,4.55,0,1,1-9.09,0V36.36H18.18a4.55,4.55,0,0,1,0-9.09h9.09V18.18a4.55,4.55,0,0,1,9.09,0v9.09h9.09A4.55,4.55,0,0,1,50,31.82Z"/></svg>

After

Width:  |  Height:  |  Size: 523 B

74
icons/action-copy.svg Normal file
View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="Calque_1"
data-name="Calque 1"
viewBox="0 0 63.95 65.06"
version="1.1"
sodipodi:docname="action-copy.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
inkscape:export-filename="/home/vdeniaud/src/gadjo/icons/action-copy.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<metadata
id="metadata25">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Pictos_v3_EXPORT</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1916"
inkscape:window-height="1041"
id="namedview23"
showgrid="false"
inkscape:zoom="6.611114"
inkscape:cx="10.36951"
inkscape:cy="38.426559"
inkscape:window-x="0"
inkscape:window-y="37"
inkscape:window-maximized="0"
inkscape:current-layer="Calque_1"
inkscape:document-rotation="0"
inkscape:snap-global="true" />
<defs
id="defs4">
<style
id="style2">.cls-1 { fill:#242d3c; }
</style>
</defs>
<title
id="title6">Pictos_v3_EXPORT</title>
<g
id="g113">
<path
id="path105"
d="m 53.470703,53.541016 h -2.230469 v 6.748046 c 4.4e-4,1.40513 -1.135894,2.545831 -2.541015,2.550782 H 4.7695312 C 3.3613573,62.839197 2.2202711,61.697236 2.2207031,60.289062 V 16.369141 C 2.2213493,14.96173 3.3621199,13.820959 4.7695312,13.820312 H 10.544922 V 11.589844 H 4.7695312 C 2.1339737,11.595616 3.8129446e-4,13.733577 0,16.369141 v 43.919921 c 0.00468321,2.632514 2.1370196,4.765724 4.7695312,4.771485 H 48.699219 c 2.633274,-0.0047 4.766797,-2.138211 4.771484,-4.771485 z M 10.544922,13.820312 h 38.154297 c 1.404359,0.0049 2.540379,1.144461 2.541015,2.548829 v 37.171875 h 2.230469 V 16.369141 c -3.84e-4,-2.636325 -2.135164,-4.7746 -4.771484,-4.779297 H 10.544922 Z"
class="cls-1"
style="" />
</g>
<path
d="m 15.316406,0.07226562 c -2.63632,0.0046968 -4.7711,2.14297238 -4.771484,4.77929688 v 6.7382815 h 2.220703 V 4.8515625 C 12.765193,3.4426262 13.90747,2.3003496 15.316406,2.3007812 h 43.929688 c 1.404358,0.00602 2.539505,1.1464109 2.539062,2.5507813 V 48.771484 c 4.44e-4,1.404371 -1.134704,2.544758 -2.539062,2.550782 h -5.775391 v 2.21875 h 5.775391 c 2.631751,-0.0058 4.763774,-2.137781 4.769531,-4.769532 V 4.8515625 C 64.015244,2.2159989 61.881651,0.07803792 59.246094,0.07226562 Z"
id="path8"
class="cls-1"
style="" />
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 63.95 65.06"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M48.7,65.06H4.77A4.78,4.78,0,0,1,0,60.29V16.37a4.78,4.78,0,0,1,4.77-4.78H48.7a4.78,4.78,0,0,1,4.77,4.78V60.29A4.78,4.78,0,0,1,48.7,65.06ZM4.77,13.82a2.55,2.55,0,0,0-2.55,2.55V60.29a2.55,2.55,0,0,0,2.55,2.55H48.7a2.55,2.55,0,0,0,2.54-2.55V16.37a2.55,2.55,0,0,0-2.54-2.55Z"/><path class="cls-1" d="M41.38,38.33A3.66,3.66,0,0,1,37.72,42H30.39v7.32a3.66,3.66,0,0,1-7.32,0V42H15.75a3.66,3.66,0,1,1,0-7.32h7.32V27.35a3.66,3.66,0,0,1,7.32,0v7.32h7.33A3.66,3.66,0,0,1,41.38,38.33Z"/><path class="cls-1" d="M11.63,12.72A1.67,1.67,0,0,1,10,11.05V1.67A1.67,1.67,0,0,1,11.63,0h5.56a1.67,1.67,0,0,1,0,3.34H13.3v7.71A1.67,1.67,0,0,1,11.63,12.72Z"/><path class="cls-1" d="M49.53,3.34h-9a1.67,1.67,0,1,1,0-3.34h9a1.67,1.67,0,1,1,0,3.34Zm-16.17,0h-9a1.67,1.67,0,1,1,0-3.34h9a1.67,1.67,0,1,1,0,3.34Z"/><path class="cls-1" d="M62.28,8.9a1.67,1.67,0,0,1-1.67-1.67V3.34H56.72a1.67,1.67,0,0,1,0-3.34h5.56A1.67,1.67,0,0,1,64,1.67V7.23A1.67,1.67,0,0,1,62.28,8.9Z"/><path class="cls-1" d="M62.28,41.24a1.67,1.67,0,0,1-1.67-1.67v-9a1.67,1.67,0,0,1,3.34,0v9A1.67,1.67,0,0,1,62.28,41.24Zm0-16.17a1.67,1.67,0,0,1-1.67-1.67v-9a1.67,1.67,0,0,1,3.34,0v9A1.67,1.67,0,0,1,62.28,25.07Z"/><path class="cls-1" d="M62.28,54H52.9a1.67,1.67,0,0,1,0-3.34h7.71V46.76a1.67,1.67,0,0,1,3.34,0v5.56A1.67,1.67,0,0,1,62.28,54Z"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

1
icons/action-edit.svg Normal file
View File

@ -0,0 +1 @@
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40.88 63.11"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M20.44,55.59a1.12,1.12,0,0,1-.94-.51L10.86,41.62a1.08,1.08,0,0,1-.18-.6V1.11A1.11,1.11,0,0,1,11.79,0H29.08A1.12,1.12,0,0,1,30.2,1.11V41a1.17,1.17,0,0,1-.18.6L21.38,55.08A1.12,1.12,0,0,1,20.44,55.59ZM12.91,40.7l7.53,11.72L28,40.7V2.22H12.91Z"/><path class="cls-1" d="M27.76,41.36H13.12a1.11,1.11,0,1,1,0-2.22H27.76a1.11,1.11,0,1,1,0,2.22Z"/><path class="cls-1" d="M28.83,6.49H12a1.12,1.12,0,0,1,0-2.23H28.83a1.12,1.12,0,1,1,0,2.23Z"/><polygon class="cls-1" points="20.44 54.48 25.53 45.89 15.35 45.89 20.44 54.48"/><path class="cls-1" d="M39.77,63.11H1.11A1.11,1.11,0,0,1,0,62V26.56a1.11,1.11,0,0,1,1.11-1.11H11.85a1.12,1.12,0,0,1,0,2.23H2.22v33.2H38.65V27.68H29a1.12,1.12,0,0,1,0-2.23H39.77a1.11,1.11,0,0,1,1.11,1.11V62A1.11,1.11,0,0,1,39.77,63.11Z"/><rect class="cls-1" x="15.81" y="9.72" width="9.27" height="26.69"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

1
icons/action-remove.svg Normal file
View File

@ -0,0 +1 @@
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 63.63 63.63"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M63.63,59.09V4.55A4.54,4.54,0,0,0,59.09,0H4.55A4.54,4.54,0,0,0,0,4.55V59.09a4.54,4.54,0,0,0,4.55,4.54H59.09A4.54,4.54,0,0,0,63.63,59.09Zm-19-14.42a4.54,4.54,0,0,1-6.43,0l-6.42-6.43-6.43,6.43A4.55,4.55,0,0,1,19,38.24l6.43-6.42L19,25.39A4.55,4.55,0,0,1,25.39,19l6.43,6.43L38.24,19a4.55,4.55,0,0,1,6.43,6.43l-6.43,6.43,6.43,6.42A4.54,4.54,0,0,1,44.67,44.67Z"/></svg>

After

Width:  |  Height:  |  Size: 567 B

1
icons/agendas.svg Normal file
View File

@ -0,0 +1 @@
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53.63 53.22"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M48.71,53.22h0L4.75,53a5.35,5.35,0,0,1-3.26-1.06A3.67,3.67,0,0,1,0,49.06L.16,9.4A3.66,3.66,0,0,1,1.68,6.54a5.37,5.37,0,0,1,3.25-1H5l43.93.22a5.35,5.35,0,0,1,3.26,1.06,3.65,3.65,0,0,1,1.49,2.88l-.16,39.66h0A3.66,3.66,0,0,1,52,52.18,5.36,5.36,0,0,1,48.71,53.22ZM4.93,7.73A3.2,3.2,0,0,0,3,8.31a1.47,1.47,0,0,0-.64,1.1L2.22,49.07a1.49,1.49,0,0,0,.63,1.11,3.17,3.17,0,0,0,1.91.6L48.69,51h0a3.19,3.19,0,0,0,1.89-.58,1.45,1.45,0,0,0,.64-1.1l.17-39.66a1.51,1.51,0,0,0-.63-1.11,3.17,3.17,0,0,0-1.91-.6L4.94,7.73ZM52.36,49.32h0Z"/><path class="cls-1" d="M14.47,15A2.5,2.5,0,0,1,12,12.5V2.5a2.5,2.5,0,1,1,5,0v10A2.5,2.5,0,0,1,14.47,15Z"/><path class="cls-1" d="M39.47,15A2.5,2.5,0,0,1,37,12.5V2.5a2.5,2.5,0,0,1,5,0v10A2.5,2.5,0,0,1,39.47,15Z"/><rect class="cls-1" x="1.47" y="21" width="50.5" height="3"/><path class="cls-1" d="M22.67,43.83,20.46,40.7l-1.84,3.13h-4.3l4-6.2-4.13-5.84h4.47l2.13,3,1.77-3h4.3l-3.9,6.09,4.22,5.95Z"/><path class="cls-1" d="M35.32,43.83,33.11,40.7l-1.84,3.13H27l4-6.2L26.8,31.79h4.47l2.13,3,1.77-3h4.3l-3.9,6.09,4.22,5.95Z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

18
icons/bankcard.svg Normal file
View File

@ -0,0 +1,18 @@
<svg data-name="Calque 1" version="1.1" viewBox="0 0 53.63 53.22" xmlns="http://www.w3.org/2000/svg">
<defs>
<style>.cls-1{fill:#242d3c;}</style>
</defs>
<title>Pictos_v3_EXPORT</title>
<g transform="translate(0 -7.3085)">
<path class="cls-1" d="m48.71 53.22-43.96-0.22c-1.1735 0.013794-2.319-0.35867-3.26-1.06-0.91683-0.67663-1.4674-1.7407-1.49-2.88l0.16-30.583c0.034329-1.1378 0.59614-2.1949 1.52-2.86 0.94641-0.67658 2.0869-1.0275 3.25-1h0.07l43.93 0.22c1.1735-0.01379 2.319 0.35867 3.26 1.06 0.91924 0.67458 1.4704 1.74 1.49 2.88l-0.16 30.583c-0.04653 1.1236-0.60701 2.1634-1.52 2.82-0.95206 0.69982-2.1087 1.0654-3.29 1.04zm-43.78-36.413c-0.68901-0.01957-1.3659 0.18385-1.93 0.58-0.36922 0.25053-0.60467 0.6552-0.64 1.1l-0.14 30.583c0.032879 0.44577 0.26414 0.85322 0.63 1.11 0.55514 0.40107 1.2252 0.61157 1.91 0.6l43.93 0.22c0.67552 0.01169 1.3373-0.1914 1.89-0.58 0.37144-0.24846 0.60757-0.6543 0.64-1.1l0.17-30.583c-0.03562-0.44493-0.26626-0.8513-0.63-1.11-0.55514-0.40107-1.2252-0.61157-1.91-0.6l-43.91-0.22z"/>
<rect class="cls-1" x="1.47" y="24.096" width="50.578" height="6.9463"/>
<g fill="#242d3c">
<path class="cls-1" d="m7.3244 45.502-0.44817-0.63474-0.37314 0.63474h-0.872l0.81116-1.2573-0.83753-1.1843h0.90648l0.43195 0.60837 0.35894-0.60837h0.872l-0.79089 1.235 0.85578 1.2066z"/>
<path class="cls-1" d="m9.8897 45.502-0.44817-0.63474-0.37314 0.63474h-0.86592l0.81117-1.2573-0.85172-1.1843h0.90648l0.43195 0.60837 0.35894-0.60837h0.872l-0.79089 1.235 0.85578 1.2066z"/>
<path class="cls-1" d="m14.952 45.509-0.44817-0.63474-0.37314 0.63474h-0.872l0.81116-1.2573-0.83753-1.1843h0.90648l0.43195 0.60837 0.35894-0.60837h0.872l-0.79089 1.235 0.85578 1.2066z"/>
<path class="cls-1" d="m17.517 45.509-0.44817-0.63474-0.37314 0.63474h-0.86592l0.81117-1.2573-0.85172-1.1843h0.90648l0.43195 0.60837 0.35894-0.60837h0.872l-0.79089 1.235 0.85578 1.2066z"/>
<path class="cls-1" d="m20.117 45.509-0.44817-0.63474-0.37314 0.63474h-0.872l0.81116-1.2573-0.83753-1.1843h0.90648l0.43195 0.60837 0.35894-0.60837h0.872l-0.79089 1.235 0.85578 1.2066z"/>
<path class="cls-1" d="m22.682 45.509-0.44817-0.63474-0.37314 0.63474h-0.86592l0.81117-1.2573-0.85172-1.1843h0.90648l0.43195 0.60837 0.35894-0.60837h0.872l-0.79089 1.235 0.85578 1.2066z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,83 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.2229223mm"
height="4.1975093mm"
viewBox="0 0 14.96311 14.873064"
id="svg6439"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="book.svg">
<defs
id="defs6441" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.4"
inkscape:cx="5.2326533"
inkscape:cy="4.4231887"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1600"
inkscape:window-height="836"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata6444">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(282.25939,-611.16414)">
<g
id="g7791">
<path
style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -281.75939,612.53084 c 2.93908,0.0873 3.83851,-1.938 7.03679,-0.0173 3.41575,-1.947 3.70811,0.0173 6.92631,0.0173 l 0,9.79515 c -2.32924,-0.0156 -4.39328,-2.32804 -6.94803,0 -2.57369,-2.27404 -4.69881,0 -7.01507,0 z"
id="rect2996"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<rect
style="fill:#000000;fill-opacity:1;stroke:none"
id="rect3002"
width="1"
height="9.603281"
x="-275.25211"
y="612.42566" />
<path
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
d="m -268.29628,612.55068 0,12.41919 -12.95581,0.0625 0,-12.45044"
id="path12413"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
</g>
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 49.11 57.89"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M32.4,57.89a1.5,1.5,0,0,1-1.5-1.5V47.94h6.53a3.2,3.2,0,0,0,3.19-3.18V32.2h3.3A2.19,2.19,0,0,0,45.84,31a2,2,0,0,0-.07-2.16l-4.83-7.38a3.3,3.3,0,0,1-.38-1.38A18.67,18.67,0,0,0,21.84,3a1.5,1.5,0,0,1,0-3A21.65,21.65,0,0,1,43.55,19.9V20h0l0,.07,4.69,7.15a5.06,5.06,0,0,1,.17,5.29,5.18,5.18,0,0,1-4.53,2.68h-.3v9.56a6.19,6.19,0,0,1-6.19,6.18H33.9v5.45A1.5,1.5,0,0,1,32.4,57.89ZM9.92,52a1.5,1.5,0,0,1-1.5-1.5V40.1A24.38,24.38,0,0,1,0,21.84a1.5,1.5,0,0,1,3,0A21.36,21.36,0,0,0,10.55,38l.09.1a2.39,2.39,0,0,1,.78,1.73V50.53A1.5,1.5,0,0,1,9.92,52Z"/><path class="cls-1" d="M30.46,11.52a4.9,4.9,0,0,0-4.84-4.39,6.45,6.45,0,0,0-1.55.26A4.91,4.91,0,0,0,20,5.2,4.73,4.73,0,0,0,16,7.45a4.86,4.86,0,0,0-7.16,4,4.62,4.62,0,0,0-3.36,4.39,4.54,4.54,0,0,0,2.13,3.87,4.74,4.74,0,0,0,3.81,5.42,47.62,47.62,0,0,1,.71,7.93,1.19,1.19,0,0,0,1,1.29l.78.19a1.24,1.24,0,0,0,1.55-1.16c.06-2.32.45-6.77,2.06-9.41h.19A4.24,4.24,0,0,0,21,22.22a4.29,4.29,0,0,0,1.61.26A5.12,5.12,0,0,0,26.2,21a5,5,0,0,0,2.19.51,5.2,5.2,0,0,0,5.23-5.22A4.87,4.87,0,0,0,30.46,11.52Z"/></svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1,82 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5155554mm"
height="4.5155554mm"
viewBox="0 0 15.999999 15.999999"
id="svg6376"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="calendar.svg">
<defs
id="defs6378" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.9195959"
inkscape:cx="32.758004"
inkscape:cy="25.187035"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata6381">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(1022.2857,-847.21935)">
<g
transform="translate(-1070.2857,449.21935)"
id="g11501"
inkscape:label="accessories-calculator">
<g
inkscape:label="accessories-calculator"
id="g11525">
<rect
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;opacity:0.51464431;fill:none;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
id="rect11505"
width="16"
height="16"
x="48"
y="398" />
<path
style="display:inline;fill:#000000;fill-opacity:1;stroke:none"
d="m 50.03125,398 c -0.542165,0 -1,0.32904 -1,0.9375 l 0,14.125 c 0,0.58636 0.376673,0.9375 1,0.9375 l 13.03125,0 C 63.582568,414 64,413.64886 64,413.0625 l 0,-14.125 C 64,398.39533 63.604665,398 63.0625,398 l -13.03125,0 z M 51,400.03125 l 11.03125,0 0,2.96875 L 51,403 51,400.03125 Z M 51.1875,404 l 1.625,0 C 52.9233,404 53,404.0767 53,404.1875 l 0,1.625 C 53,405.9233 52.9233,406 52.8125,406 l -1.625,0 C 51.0767,406 51,405.9233 51,405.8125 l 0,-1.625 C 51,404.0767 51.0767,404 51.1875,404 Z m 3,0 1.625,0 C 55.9233,404 56,404.0767 56,404.1875 l 0,1.625 C 56,405.9233 55.9233,406 55.8125,406 l -1.625,0 C 54.0767,406 54,405.9233 54,405.8125 l 0,-1.625 C 54,404.0767 54.0767,404 54.1875,404 Z m 3,0 1.625,0 C 58.9233,404 59,404.0767 59,404.1875 l 0,1.625 C 59,405.9233 58.9233,406 58.8125,406 l -1.625,0 C 57.0767,406 57,405.9233 57,405.8125 l 0,-1.625 C 57,404.0767 57.0767,404 57.1875,404 Z m 3,0 1.625,0 C 61.9233,404 62,404.0767 62,404.1875 l 0,1.625 C 62,405.9233 61.9233,406 61.8125,406 l -1.625,0 C 60.0767,406 60,405.9233 60,405.8125 l 0,-1.625 C 60,404.0767 60.0767,404 60.1875,404 Z m -9,3 1.625,0 C 52.9233,407 53,407.0767 53,407.1875 l 0,1.625 C 53,408.9233 52.9233,409 52.8125,409 l -1.625,0 C 51.0767,409 51,408.9233 51,408.8125 l 0,-1.625 C 51,407.0767 51.0767,407 51.1875,407 Z m 3,0 1.625,0 C 55.9233,407 56,407.0767 56,407.1875 l 0,1.625 C 56,408.9233 55.9233,409 55.8125,409 l -1.625,0 C 54.0767,409 54,408.9233 54,408.8125 l 0,-1.625 C 54,407.0767 54.0767,407 54.1875,407 Z m 3,0 1.625,0 C 58.9233,407 59,407.0767 59,407.1875 l 0,1.625 C 59,408.9233 58.9233,409 58.8125,409 l -1.625,0 C 57.0767,409 57,408.9233 57,408.8125 l 0,-1.625 C 57,407.0767 57.0767,407 57.1875,407 Z m 3,0 1.625,0 C 61.9233,407 62,407.0767 62,407.1875 l 0,1.625 C 62,408.9233 61.9233,409 61.8125,409 l -1.625,0 C 60.0767,409 60,408.9233 60,408.8125 l 0,-1.625 C 60,407.0767 60.0767,407 60.1875,407 Z m -9,3 1.625,0 C 52.9233,410 53,410.0767 53,410.1875 l 0,1.625 C 53,411.9233 52.9233,412 52.8125,412 l -1.625,0 C 51.0767,412 51,411.9233 51,411.8125 l 0,-1.625 C 51,410.0767 51.0767,410 51.1875,410 Z m 3,0 1.625,0 C 55.9233,410 56,410.0767 56,410.1875 l 0,1.625 C 56,411.9233 55.9233,412 55.8125,412 l -1.625,0 C 54.0767,412 54,411.9233 54,411.8125 l 0,-1.625 C 54,410.0767 54.0767,410 54.1875,410 Z m 3,0 1.625,0 C 58.9233,410 59,410.0767 59,410.1875 l 0,1.625 C 59,411.9233 58.9233,412 58.8125,412 l -1.625,0 C 57.0767,412 57,411.9233 57,411.8125 l 0,-1.625 C 57,410.0767 57.0767,410 57.1875,410 Z m 3,0 1.625,0 C 61.9233,410 62,410.0767 62,410.1875 l 0,1.625 C 62,411.9233 61.9233,412 61.8125,412 l -1.625,0 C 60.0767,412 60,411.9233 60,411.8125 l 0,-1.625 C 60,410.0767 60.0767,410 60.1875,410 Z"
id="rect5122-3-5"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53.63 53.22"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M48.71,53.22h0L4.75,53a5.35,5.35,0,0,1-3.26-1.06A3.67,3.67,0,0,1,0,49.06L.16,9.4A3.66,3.66,0,0,1,1.68,6.54a5.37,5.37,0,0,1,3.25-1H5l43.93.22a5.35,5.35,0,0,1,3.26,1.06,3.65,3.65,0,0,1,1.49,2.88l-.16,39.66h0A3.66,3.66,0,0,1,52,52.18,5.36,5.36,0,0,1,48.71,53.22ZM4.93,7.73A3.2,3.2,0,0,0,3,8.31a1.47,1.47,0,0,0-.64,1.1L2.22,49.07a1.49,1.49,0,0,0,.63,1.11,3.17,3.17,0,0,0,1.91.6L48.69,51h0a3.19,3.19,0,0,0,1.89-.58,1.45,1.45,0,0,0,.64-1.1l.17-39.66a1.51,1.51,0,0,0-.63-1.11,3.17,3.17,0,0,0-1.91-.6L4.94,7.73ZM52.36,49.32h0Z"/><path class="cls-1" d="M14.47,15A2.5,2.5,0,0,1,12,12.5V2.5a2.5,2.5,0,1,1,5,0v10A2.5,2.5,0,0,1,14.47,15Z"/><path class="cls-1" d="M39.47,15A2.5,2.5,0,0,1,37,12.5V2.5a2.5,2.5,0,0,1,5,0v10A2.5,2.5,0,0,1,39.47,15Z"/><rect class="cls-1" x="1.47" y="21" width="50.5" height="3"/><path class="cls-1" d="M22.67,43.83,20.46,40.7l-1.84,3.13h-4.3l4-6.2-4.13-5.84h4.47l2.13,3,1.77-3h4.3l-3.9,6.09,4.22,5.95Z"/><path class="cls-1" d="M35.32,43.83,33.11,40.7l-1.84,3.13H27l4-6.2L26.8,31.79h4.47l2.13,3,1.77-3h4.3l-3.9,6.09,4.22,5.95Z"/></svg>

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

1
icons/cards.svg Normal file
View File

@ -0,0 +1 @@
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53.5 44.15"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M44.44,44.15H1.5A1.5,1.5,0,0,1,0,42.65V12.51A1.5,1.5,0,0,1,1.5,11H44.44a1.5,1.5,0,0,1,1.5,1.5V42.65A1.5,1.5,0,0,1,44.44,44.15ZM3,41.15H42.94V14H3Z"/><path class="cls-1" d="M52,38.59a1.5,1.5,0,0,1-1.5-1.5V3H24.13V6a1.5,1.5,0,0,1-1.5,1.5H4.84a1.5,1.5,0,0,1,0-3H21.13V1.5A1.5,1.5,0,0,1,22.63,0H52a1.5,1.5,0,0,1,1.5,1.5V37.09A1.5,1.5,0,0,1,52,38.59Z"/></svg>

After

Width:  |  Height:  |  Size: 557 B

View File

@ -1,80 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5155559mm"
height="4.5155554mm"
viewBox="0 0 16.000001 15.999999"
id="svg5755"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="categories.svg">
<defs
id="defs5757" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="1.0226583"
inkscape:cy="10.233757"
inkscape:document-units="px"
inkscape:current-layer="g4958"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5760">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-120.57143,-378.64792)">
<g
id="g4958"
inkscape:label="folder"
transform="translate(-87.428372,-617.35208)"
style="display:inline">
<path
sodipodi:nodetypes="ccccccccccsccccccccccc"
id="rect3845"
d="m 208.53105,997 c -0.28913,0 -0.53125,0.24212 -0.53125,0.53125 l 0,13.93755 c 0,0.2985 0.23264,0.5312 0.53125,0.5312 l 14.9375,0 c 0.2986,0 0.53125,-0.2326 0.53125,-0.5312 l 0,-8.9376 c 0,-0.2891 -0.24212,-0.5312 -0.53125,-0.5312 l -12.46875,0 0,7.5 c 0,0.277 -0.223,0.5 -0.5,0.5 -0.277,0 -0.5,-0.223 -0.5,-0.5 l 0,-8 c 0,-0.277 0.223,-0.5 0.5,-0.5 l 2.96875,0 8.53125,0 0,-1.4062 c 0,-0.3272 -0.26666,-0.5938 -0.59375,-0.5938 l -7.40625,0 0,-1.46875 C 213.9998,997.2421 213.75768,997 213.46855,997 Z"
style="display:inline;fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<rect
y="996"
x="207.9998"
height="16"
width="16"
id="rect14152"
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:2;marker:none;enable-background:accumulate" />
</g>
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53.5 44.15"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M44.44,44.15H1.5A1.5,1.5,0,0,1,0,42.65V12.51A1.5,1.5,0,0,1,1.5,11H44.44a1.5,1.5,0,0,1,1.5,1.5V42.65A1.5,1.5,0,0,1,44.44,44.15ZM3,41.15H42.94V14H3Z"/><path class="cls-1" d="M52,38.59a1.5,1.5,0,0,1-1.5-1.5V3H24.13V6a1.5,1.5,0,0,1-1.5,1.5H4.84a1.5,1.5,0,0,1,0-3H21.13V1.5A1.5,1.5,0,0,1,22.63,0H52a1.5,1.5,0,0,1,1.5,1.5V37.09A1.5,1.5,0,0,1,52,38.59Z"/></svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 557 B

5
icons/data.svg Normal file
View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53.5 44.15">
<defs><style>.cls-1{fill:#242d3c;}</style></defs>
<path d="M 44.44,44.15 H 1.5 C 0.67157288,44.15 0,43.478427 0,42.65 V 12.51 C -0.00554899,11.67767 0.66765187,10.999982 1.5,11 h 42.94 c 0.828427,0 1.5,0.671573 1.5,1.5 v 30.15 c 0,0.828427 -0.671573,1.5 -1.5,1.5 z" class="cls-1" />
<path d="M52,38.59a1.5,1.5,0,0,1-1.5-1.5V3H24.13V6a1.5,1.5,0,0,1-1.5,1.5H4.84a1.5,1.5,0,0,1,0-3H21.13V1.5A1.5,1.5,0,0,1,22.63,0H52a1.5,1.5,0,0,1,1.5,1.5V37.09A1.5,1.5,0,0,1,52,38.59Z" class="cls-1" />
</svg>

After

Width:  |  Height:  |  Size: 563 B

View File

@ -1,90 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5155554mm"
height="4.5155554mm"
viewBox="0 0 15.999999 15.999999"
id="svg5807"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="forms.svg">
<defs
id="defs5809" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="31.678384"
inkscape:cx="8.0092146"
inkscape:cy="7.9802051"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5812">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-232,-410.07649)">
<path
inkscape:connector-curvature="0"
d="m 232.00193,422.07645 c 0.004,-0.22414 0.11244,-0.53067 0.30379,-0.70429 l 2.16171,-2.11644 c 0.23264,-0.24354 0.78664,-0.29256 1.01104,-0.15675 0.0805,0.002 1.13546,0.63126 1.28813,0.86541 0.61665,0.94579 -0.34406,1.82732 -1.17392,1.54685 l -0.34957,-0.2117 -1.60232,1.57174 c -0.63718,0.52635 -1.69148,0.0923 -1.6389,-0.79478 z"
id="path7270-2"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
sodipodi:nodetypes="ccccsccccc" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
d="m 243.61911,410.19481 c 0.38967,-0.10147 0.79072,-0.11077 1.17065,-0.0809 l -1.3597,2.3059 c -0.27942,0.47386 -0.12275,1.07071 0.35378,1.34773 l 0.8743,0.50825 c 0.47652,0.277 1.07741,0.12052 1.35684,-0.35334 l 1.35969,-2.3059 c 0.21223,0.3143 0.40035,0.66611 0.50195,1.05317 0.48628,1.85256 -0.63144,3.74808 -2.4965,4.23377 -0.38967,0.10147 -0.79073,0.11077 -1.17065,0.0809 l -0.80213,1.1146 -3.40972,-0.0225 c 0,0 1.5186,-2.57735 1.62694,-2.59472 -0.21223,-0.3143 -0.40034,-0.66611 -0.50194,-1.05317 -0.48629,-1.85256 0.63143,-3.7481 2.49649,-4.23379 z"
id="path3908-63"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sccccccssccccss" />
<path
inkscape:connector-curvature="0"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
d="m 235.59881,410.79529 c -0.2298,0.0471 -0.44326,0.13096 -0.65529,0.21875 -0.0167,0.62433 0.0868,1.44177 -0.15602,1.65625 -0.23862,0.21077 -1.03684,0.0343 -1.65382,-0.0313 -0.1312,0.23649 -0.23492,0.48523 -0.31205,0.75 0.4774,0.39586 1.13884,0.83901 1.15456,1.15625 0.0159,0.32119 -0.6255,0.80489 -1.06094,1.25 0.10323,0.25783 0.24977,0.49354 0.40565,0.71875 0.60743,-0.12641 1.36439,-0.37354 1.62262,-0.1875 0.26292,0.18942 0.26482,1.00535 0.34325,1.625 0.24918,0.075 0.51175,0.1045 0.7801,0.125 0.28094,-0.55462 0.56658,-1.3198 0.87372,-1.40625 0.31529,-0.0887 0.96213,0.45813 1.4978,0.78125 0.21839,-0.1516 0.41233,-0.33706 0.59288,-0.53125 -0.25347,-0.57232 -0.72003,-1.29192 -0.59288,-1.59375 0.12727,-0.30211 0.97398,-0.46963 1.56021,-0.6875 0.004,-0.0735 0.0312,-0.14414 0.0312,-0.21875 0,-0.19137 -0.0343,-0.37899 -0.0624,-0.5625 -0.60521,-0.16082 -1.46506,-0.2413 -1.62262,-0.53125 -0.15651,-0.28801 0.24143,-1.0614 0.43686,-1.65625 -0.20087,-0.17858 -0.4188,-0.33716 -0.65529,-0.46875 -0.50016,0.37513 -1.08274,0.99436 -1.40419,0.9375 -0.31642,-0.056 -0.66192,-0.81955 -0.99853,-1.34375 -0.0401,0.007 -0.0852,-0.008 -0.12482,0 z m 0.62408,1.875 c 0.93062,0 1.68503,0.75552 1.68503,1.6875 0,0.93198 -0.75441,1.6875 -1.68503,1.6875 -0.93061,0 -1.68502,-0.75552 -1.68502,-1.6875 0,-0.93198 0.75441,-1.6875 1.68502,-1.6875 z"
id="path42972-6" />
<path
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="rect7268-7"
d="m 234.99707,419.07649 9.98535,0 0.008,6.0625 c 0,0.4922 -0.47197,0.9375 -0.99463,0.9375 l -7.99221,0 c -0.53827,0 -0.99853,-0.42964 -0.99853,-1 z"
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate" />
<path
sodipodi:nodetypes="ccccsccccc"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
id="path6196"
d="m 247.96083,422.05356 c -0.004,-0.22414 -0.11244,-0.53067 -0.30379,-0.70429 l -2.16171,-2.11644 c -0.23264,-0.24354 -0.78664,-0.29256 -1.01103,-0.15675 -0.0805,0.002 -1.13547,0.63126 -1.28813,0.86541 -0.61666,0.94579 0.34405,1.82732 1.17391,1.54685 l 0.34957,-0.2117 1.60232,1.57174 c 0.63718,0.52635 1.69148,0.0922 1.6389,-0.79478 z"
inkscape:connector-curvature="0" />
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.28 34.46"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M12.47,15.31H1.11A1.11,1.11,0,0,1,0,14.2V1.84A1.11,1.11,0,0,1,1.11.73H12.47a1.11,1.11,0,0,1,0,2.22H2.22V13.09H12.47a1.11,1.11,0,1,1,0,2.22Z"/><path class="cls-1" d="M21.48,9.63h-2a1.11,1.11,0,1,1,0-2.22h2a1.11,1.11,0,0,1,0,2.22Z"/><path class="cls-1" d="M12.47,34.46H1.11A1.12,1.12,0,0,1,0,33.34V21a1.11,1.11,0,0,1,1.11-1.11H12.47a1.12,1.12,0,0,1,0,2.23H2.22V32.23H12.47a1.12,1.12,0,0,1,0,2.23Z"/><path class="cls-1" d="M34.48,27.78H20a1.12,1.12,0,0,1,0-2.23H34.48a1.12,1.12,0,0,1,0,2.23Z"/><path class="cls-1" d="M10.58,30.67a1.11,1.11,0,0,1-.79-.33L6,26.56A1.11,1.11,0,0,1,7.58,25l3,3,4.89-4.89a1.12,1.12,0,0,1,1.57,0,1.1,1.1,0,0,1,0,1.57l-5.68,5.68A1.09,1.09,0,0,1,10.58,30.67Z"/><path class="cls-1" d="M10.58,11.52a1.1,1.1,0,0,1-.79-.32L6,7.41A1.11,1.11,0,0,1,7.58,5.84l3,3L15.47,4A1.11,1.11,0,0,1,17,5.52L11.36,11.2A1.08,1.08,0,0,1,10.58,11.52Z"/><path class="cls-1" d="M38.28,15.82V1.22A1.21,1.21,0,0,0,37.06,0H22.46a1.22,1.22,0,0,0-1.22,1.22v14.6A1.22,1.22,0,0,0,22.46,17h14.6A1.22,1.22,0,0,0,38.28,15.82Zm-3.65-7.3a1.22,1.22,0,0,1-1.22,1.22H31v2.43a1.22,1.22,0,1,1-2.44,0V9.74H26.11a1.22,1.22,0,1,1,0-2.44h2.43V4.87a1.22,1.22,0,1,1,2.44,0V7.3h2.43A1.22,1.22,0,0,1,34.63,8.52Z"/></svg>

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,144 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5221076mm"
height="4.5155497mm"
viewBox="0 0 16.023216 15.999979"
id="svg5904"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="home.svg">
<defs
id="defs5906" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.4"
inkscape:cx="8.7328683"
inkscape:cy="5.3707418"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5909">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-157.70269,-358.64793)">
<g
transform="translate(-1095.2859,933.6479)"
style="display:inline"
id="g6466"
inkscape:label="user-home">
<g
transform="matrix(1,0,0,0.99999871,1212,-1401.9989)"
id="g5384"
inkscape:label="go-home">
<g
inkscape:label="go-home"
id="g5386">
<g
id="g5388"
transform="translate(-116.37982,67.0969)">
<title
id="title5390">go-home</title>
<g
style="fill:#bebebe;fill-opacity:1"
id="g5392"
transform="matrix(0.02603569,0,0,0.02603569,345.96663,902.07624)">
<g
style="fill:#bebebe;fill-opacity:1"
id="g5394" />
<g
style="fill:#bebebe;fill-opacity:1"
id="g5396" />
</g>
<g
id="g5398"
transform="matrix(0,1,1,0,-360.61998,639.9031)"
inkscape:label="go-down">
<rect
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none;enable-background:new"
id="rect5400"
y="518"
x="120"
height="16"
width="16" />
</g>
</g>
</g>
</g>
<path
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
id="path5414"
d="m 1256.0002,-568.99998 0,6.99998 10,0 0,-6.99998"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0"
id="path6184"
d="m 1254.0002,-567.99998 7,-5 7,5"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="-567"
x="1259.0002"
height="6"
width="3"
id="rect6261"
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate" />
<rect
style="display:inline;fill:#000000;fill-opacity:1;stroke:none"
id="rect8452-7"
width="1"
height="1"
x="-1269.0004"
y="-568"
transform="scale(-1,1)"
rx="1"
ry="1" />
<rect
style="display:inline;fill:#000000;fill-opacity:1;stroke:none"
id="rect8452-8"
width="1"
height="1"
x="-1254.0004"
y="-568"
transform="scale(-1,1)"
rx="1"
ry="1" />
</g>
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48.22 48.22"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M47.58,47.75h-19v-.5A10.07,10.07,0,0,1,36,37.54a6.25,6.25,0,1,1,5.48,0,10.14,10.14,0,0,1,6.08,4.81l.06.11Z"/><path class="cls-1" d="M47.11,48.22h-46A1.11,1.11,0,0,1,0,47.11v-29a1.12,1.12,0,0,1,.45-.89l23-17a1.11,1.11,0,0,1,1.32,0l23,17a1.09,1.09,0,0,1,.45.89v29A1.1,1.1,0,0,1,47.11,48.22ZM2.22,46H46V18.67L24.11,2.49,2.22,18.67Z"/><path class="cls-1" d="M22.61,48.22h-12A1.11,1.11,0,0,1,9.5,47.11V23.61a1.11,1.11,0,0,1,1.11-1.11h12a1.11,1.11,0,0,1,1.11,1.11v23.5A1.1,1.1,0,0,1,22.61,48.22ZM11.72,46H21.5V24.72H11.72Z"/></svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 729 B

View File

@ -0,0 +1 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 63.72 64.25" style="enable-background:new 0 0 63.72 64.25;" xml:space="preserve"><defs><style type="text/css">.st0{fill:#242d3c;}</style></defs><g><circle class="st0" cx="32.36" cy="8.36" r="8.36"/><path class="st0" d="M47.97,32.75H46v-0.71c0-7.53-6.11-13.64-13.64-13.64s-13.64,6.11-13.64,13.64v0.71h-2.97 C7.07,32.75,0,39.82,0,48.5s7.07,15.75,15.75,15.75h32.22c8.68,0,15.75-7.07,15.75-15.75S56.66,32.75,47.97,32.75z M47.97,61.75 H15.75C8.44,61.75,2.5,55.81,2.5,48.5s5.94-13.25,13.25-13.25h32.22c7.31,0,13.25,5.94,13.25,13.25S55.28,61.75,47.97,61.75z"/><ellipse transform="matrix(0.7071 -0.7071 0.7071 0.7071 -20.4798 47.5573)" class="st0" cx="47.17" cy="48.5" rx="9.26" ry="9.26"/></g></svg>

After

Width:  |  Height:  |  Size: 833 B

1
icons/lingo.svg Symbolic link
View File

@ -0,0 +1 @@
bankcard.svg

View File

@ -1,79 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="3.9511111mm"
height="3.9511099mm"
viewBox="0 0 14 13.999995"
id="svg5638"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="mail.svg">
<defs
id="defs5640" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="15.839192"
inkscape:cx="-2.6054587"
inkscape:cy="-1.2384806"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5643">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-335.85718,-395.79077)">
<g
id="g5661"
transform="translate(0,-1.5000037)"
style="stroke:#000000">
<path
style="fill:none;stroke:#000000;stroke-width:1.99999976;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 337.85719,400.7907 5.00001,4.00007 4.99999,-4.00002"
id="path35600"
sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
id="rect35604"
width="12"
height="9"
x="336.85718"
y="399.79077" />
</g>
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57.83 55.98"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M56.72,56H1.11A1.11,1.11,0,0,1,0,54.87V23.73a1.12,1.12,0,0,1,1.11-1.12H56.72a1.11,1.11,0,0,1,1.11,1.12V54.87A1.11,1.11,0,0,1,56.72,56ZM2.22,53.76H55.61V24.84H2.22Z"/><path class="cls-1" d="M1.11,23.61,29.2,44.86,56.72,23.61S2,23,1.11,23.61Z"/><path class="cls-1" d="M1.11,23.47A1.09,1.09,0,0,1,.23,23a1.11,1.11,0,0,1,.21-1.56L28.52.23a1.13,1.13,0,0,1,1.36,0L57.4,21.48A1.11,1.11,0,1,1,56,23.24L29.19,2.51,1.78,23.25A1.1,1.1,0,0,1,1.11,23.47Z"/></svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 654 B

View File

@ -1,93 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5155554mm"
height="4.5155554mm"
viewBox="0 0 15.999999 15.999999"
id="svg5978"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="management.svg">
<defs
id="defs5980" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="1.5715057"
inkscape:cy="2.2879563"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5983">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-149.14286,-327.21935)">
<g
transform="translate(-111.85734,-215.78065)"
id="g11487"
inkscape:label="text-editor">
<path
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc"
id="path2273-6-2"
d="m 266.00201,553 6.99819,-7 c 1,0 2,1 2,2 l -7,7 -2,0 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
<path
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc"
id="path4113-1-6-3"
d="m 274.0002,545 c 1,0 2,1 2,2 l 1,-1 c 0,-1 -0.75185,-2 -2,-2 z"
style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new" />
<rect
transform="translate(241.0002,217)"
y="326"
x="20"
height="16"
width="16"
id="rect10446"
style="fill:none;stroke:none" />
<path
sodipodi:nodetypes="ccccccccccsccccccccccc"
inkscape:connector-curvature="0"
id="path6682-6"
transform="translate(241.0002,217)"
d="m 21.09375,326 c -0.56869,5e-5 -1.0937,0.50285 -1.09375,1.0625 l 0,12.84375 0,0.25 0,0.78125 c 5e-5,0.55965 0.52506,1.06245 1.09375,1.0625 l 4.34375,0 1.125,0 5.34375,0 c 0.55754,-5e-5 1.07398,-0.48468 1.09375,-1.03125 3.9e-4,-0.0109 0,-0.0204 0,-0.0312 L 33,334 l -2,2 0,4 -9,0 0,-12 5,0 2,2 1.53125,-1.53125 -2.1875,-2.125 C 28.14329,326.13538 27.85406,326.00215 27.5625,326 Z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate" />
</g>
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.22 38.22"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M6.11,6.11v26h26v-26Zm22.48,9.48L17.75,26.43a1.66,1.66,0,0,1-1.19.49,1.64,1.64,0,0,1-1.18-.49l-4.14-4.14a1.67,1.67,0,0,1,2.37-2.36l2.95,2.95,9.66-9.66a1.68,1.68,0,1,1,2.37,2.37Z"/><path class="cls-1" d="M37.11,38.22h-36A1.11,1.11,0,0,1,0,37.11v-36A1.11,1.11,0,0,1,1.11,0h36a1.11,1.11,0,0,1,1.11,1.11v36A1.1,1.1,0,0,1,37.11,38.22ZM2.22,36H36V2.22H2.22Z"/></svg>

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 564 B

View File

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5155554mm"
height="4.5155559mm"
viewBox="0 0 15.999999 16.000001"
id="svg6439"
version="1.1"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="jump.svg">
<defs
id="defs6441" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="19.485951"
inkscape:cx="15.20953"
inkscape:cy="12.040142"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1600"
inkscape:window-height="836"
inkscape:window-x="179"
inkscape:window-y="1107"
inkscape:window-maximized="1"
inkscape:document-rotation="0" />
<metadata
id="metadata6444">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(499.42858,-850.07649)">
<g
id="g7122"
transform="translate(0.98417231,-1.968743)">
<circle
r="2.96875"
cy="863.04523"
cx="-496.42838"
id="path24876-5"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new" />
<path
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new"
d="m -492.20601,862.09968 4.64422,-4.60121 1.13341,1.69492 1,-5.1169 -4.81381,0.19547 1.27128,1.56728 -5.38712,3.34623 c 1.4866,0.41967 1.93493,0.85933 2.15202,2.91421 z"
id="path24884-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc"
inkscape:transform-center-x="-3.9656263"
inkscape:transform-center-y="-5.5812618" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

88
icons/old-set/studio.svg Normal file
View File

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="studio.svg"
height="16"
id="svg7384"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
version="1.1"
width="16.53125">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1600"
inkscape:window-height="836"
id="namedview11"
showgrid="false"
inkscape:zoom="61"
inkscape:cx="7.6721976"
inkscape:cy="5.7312166"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="layer10" />
<metadata
id="metadata90">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Gnome Symbolic Icon Theme</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<title
id="title9167">Gnome Symbolic Icon Theme</title>
<defs
id="defs7386" />
<g
inkscape:groupmode="layer"
id="layer9"
inkscape:label="status"
style="display:inline"
transform="translate(-260.7502,-467)" />
<g
inkscape:groupmode="layer"
id="layer10"
inkscape:label="devices"
transform="translate(-260.7502,-467)">
<path
inkscape:connector-curvature="0"
d="m 269.0021,467.00379 -1.0019,0.0275 0.0312,0.5 c 0.0471,0.46556 -0.20254,0.96951 -0.59375,1.21875 -0.35305,0.24895 -0.90493,0.1983 -1.59375,0.21875 -0.34855,0.003 -0.70297,0.0839 -1.03125,0.28125 -0.32828,0.19733 -0.64985,0.5469 -0.71875,1 -0.15832,0.89239 0.45382,1.63343 1.15625,1.78125 0.80729,0.17604 1.64453,0.0756 2.625,0 0.25579,-0.0197 0.60056,0.0205 0.8125,0.125 0.33374,0.26075 0.28443,0.40291 0.28125,0.875 h -4.90625 -0.75 l -0.21875,0.71875 -1.96875,7 -0.375,1.28125 h 1.34375 13.875 1.3125 l -0.375,-1.28125 -1.90625,-6.8125 -0.88915,1.31458 1.68141,5.84563 h -13.62282 l 2.04028,-6.97063 c 2.35142,-0.0858 3.41529,0.0611 5.22773,-0.002 l 0.53125,-1.0625 v -0.0312 -0.46875 c -0.003,-0.61146 -0.40574,-1.09656 -0.84375,-1.3125 -0.43801,-0.21594 -0.93011,-0.25063 -1.34375,-0.21875 -0.99591,0.0768 -1.73951,0.12494 -2.3125,0 h -0.0312 c -0.19949,-0.042 -0.41743,-0.20971 -0.34375,-0.625 0.0189,-0.12428 0.0777,-0.19648 0.21875,-0.28125 0.14101,-0.0848 0.35246,-0.15487 0.53125,-0.15625 h 0.0312 c 0.56397,-0.0167 1.37705,0.11764 2.09375,-0.40625 0.81874,-0.59848 1.15373,-1.39515 1.0625,-2.125 z"
id="path8540"
sodipodi:nodetypes="cccccccccccccccccccccccccccccscccccccssc"
style="color:#ff0000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:new" />
<path
inkscape:connector-curvature="0"
d="m 274.12612,469.07046 c 0,0 -2.51922,3.50643 -4.04033,5.96897 l -1.40567,1.1673 0.0373,1.57392 -0.76313,1.24524 0.69536,-10e-4 0.74028,-0.58334 1.67496,-0.4626 0.5949,-1.48097 4.18505,-6.36462 z"
id="path8552"
sodipodi:nodetypes="ccccccccccc"
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#ff0000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new;font-family:Sans;-inkscape-font-specification:Sans" />
<path
sodipodi:cx="34.073708"
sodipodi:cy="252.43883"
d="m 34.648232,252.43883 a 0.57452428,0.57452428 0 1 1 -1.149049,0 0.57452428,0.57452428 0 1 1 1.149049,0 z"
id="path8566"
sodipodi:rx="0.57452428"
sodipodi:ry="0.57452428"
style="color:#ff0000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
transform="matrix(1.1306064,0,0,1.1306064,236.54995,184.02987)"
sodipodi:type="arc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -1,99 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.2333331mm"
height="4.2333336mm"
viewBox="0 0 14.999999 15.000001"
id="svg5686"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="organizational-units.svg">
<defs
id="defs5688" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.4"
inkscape:cx="5.6785521"
inkscape:cy="9.78007"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5691">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-249.7742,-362.12625)">
<g
id="g5737">
<rect
ry="0"
y="372.12625"
x="249.7742"
height="4.9375"
width="5.0000014"
id="rect8421"
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;enable-background:accumulate" />
<rect
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;enable-background:accumulate"
id="rect8425"
width="5.0000014"
height="5.0000024"
x="259.7742"
y="372.12625"
ry="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 252.30545,372.6575 0,-3.03125 9.96875,0 0,3.03125"
id="path8427"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 257.2742,369.62625 0,-3.5"
id="path9198"
inkscape:connector-curvature="0" />
<rect
ry="0"
y="362.12625"
x="254.7742"
height="5.0000024"
width="5.0000014"
id="rect9200"
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;enable-background:accumulate" />
</g>
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55.61 58.15"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M27.8,25.81a9,9,0,1,1,9.05-9A9,9,0,0,1,27.8,25.81Z"/><path class="cls-1" d="M27.8,44.83h0a1.11,1.11,0,0,1-.9-.47L14.46,26.93A17.33,17.33,0,0,1,11,16.77a16.78,16.78,0,0,1,33.55,0,17.54,17.54,0,0,1-3.43,10.16L28.71,44.36A1.13,1.13,0,0,1,27.8,44.83Zm0-42.61A14.56,14.56,0,0,0,13.26,16.77a15.12,15.12,0,0,0,3,8.87L27.8,41.8,39.34,25.64a15.31,15.31,0,0,0,3-8.87A14.56,14.56,0,0,0,27.8,2.22Z"/><rect class="cls-1" x="20.6" y="46.44" width="14.41" height="2.06"/><path class="cls-1" d="M7.23,34.71A7.23,7.23,0,0,0,0,41.94a7.58,7.58,0,0,0,1.5,4.41l5.73,8,5.74-8a7.58,7.58,0,0,0,1.5-4.41A7.24,7.24,0,0,0,7.23,34.71Z"/><rect class="cls-1" x="3.67" y="56.09" width="7.14" height="2.06"/><path class="cls-1" d="M48.38,34.71a7.24,7.24,0,0,0-7.24,7.23,7.58,7.58,0,0,0,1.5,4.41l5.74,8,5.73-8a7.51,7.51,0,0,0,1.5-4.41A7.23,7.23,0,0,0,48.38,34.71Z"/><rect class="cls-1" x="44.81" y="56.09" width="7.13" height="2.06"/></svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,113 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5155559mm"
height="4.5155573mm"
viewBox="0 0 16.000001 16.000006"
id="svg5678"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="connector.svg">
<defs
id="defs5680" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6568543"
inkscape:cx="0.61170891"
inkscape:cy="10.188916"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid5722" />
<sodipodi:guide
position="3.5433069,14.173229"
orientation="0,1"
id="guide5724" />
</sodipodi:namedview>
<metadata
id="metadata5683">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-66.285713,-332.93362)">
<path
sodipodi:nodetypes="ccccccccccc"
inkscape:connector-curvature="0"
style="color:#bebebe;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
id="path11308-6"
d="m 66.28962,332.93977 -0.0039,15.99386 7.000072,0 0,-2 -4.950726,0.0494 -0.04935,-12.19226 6.999918,0 0,3.14283 1.999982,0 0,-4.99383 z" />
<path
inkscape:connector-curvature="0"
style="display:inline;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path2182"
d="m 72.285714,342.93363 2,0 c 0.276425,-1.10346 1.065134,-3.72415 3,-4 l 3,0 0,2 2,0 0,2 -2,0 0,2 2,0 0,2 -2,0 0,2 -3,0 c -1.934866,-0.27585 -2.723575,-2.89656 -3,-4 l -2,0 z"
sodipodi:nodetypes="ccccccccccccccccc" />
<g
transform="matrix(0.9960805,0,0,1,-193.68484,115.93363)"
id="layer10-93" />
<g
transform="matrix(0.9960805,0,0,1,-193.68484,115.93363)"
id="layer11-7" />
<g
transform="matrix(0.9960805,0,0,1,-193.68484,115.93363)"
id="layer12-45" />
<g
transform="matrix(0.9960805,0,0,1,-193.68484,115.93363)"
id="layer13-25" />
<g
transform="matrix(0.9960805,0,0,1,-193.68484,115.93363)"
id="layer14-4" />
<g
transform="matrix(0.9960805,0,0,1,-193.68484,115.93363)"
id="layer15-7"
style="display:inline" />
<g
transform="matrix(0.9960805,0,0,1,-193.68484,115.93363)"
id="g4953-4"
style="display:inline" />
<rect
style="fill:none;stroke:none"
id="rect2999"
width="16"
height="16"
x="66.285713"
y="332.93362" />
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.26 44.49"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M21.13,36a1.18,1.18,0,0,1-.55-.14l-10.42-6a1.11,1.11,0,0,1-.56-1v-12a1.11,1.11,0,0,1,.56-1l10.42-6a1.1,1.1,0,0,1,1.11,0l10.42,6a1.12,1.12,0,0,1,.55,1v12a1.12,1.12,0,0,1-.55,1l-10.42,6A1.22,1.22,0,0,1,21.13,36Zm-9.31-7.77,9.31,5.38,9.31-5.38V17.48L21.13,12.1l-9.31,5.38Zm19.73.65h0Z"/><path class="cls-1" d="M21.13,41.15A1.11,1.11,0,0,1,20,40V22.85a1.11,1.11,0,0,1,.57-1l15.47-8.6a1.11,1.11,0,0,1,1.08,2l-14.9,8.28V40A1.11,1.11,0,0,1,21.13,41.15Z"/><path class="cls-1" d="M21.13,11.93A1.11,1.11,0,0,1,20,10.82V5.56a1.11,1.11,0,1,1,2.22,0v5.26A1.11,1.11,0,0,1,21.13,11.93Z"/><path class="cls-1" d="M21.13,24a1.06,1.06,0,0,1-.54-.14L5.12,15.23a1.11,1.11,0,0,1-.43-1.51,1.12,1.12,0,0,1,1.51-.44l15.47,8.6A1.11,1.11,0,0,1,21.13,24Z"/><path class="cls-1" d="M5.66,32.56a1.12,1.12,0,0,1-.54-2.09l5.15-2.86a1.11,1.11,0,1,1,1.08,1.95L6.2,32.42A1.14,1.14,0,0,1,5.66,32.56Z"/><path class="cls-1" d="M36.6,32.56a1.17,1.17,0,0,1-.54-.14l-5.4-3a1.11,1.11,0,1,1,1.08-1.94l5.4,3a1.12,1.12,0,0,1-.54,2.09Z"/><rect class="cls-1" y="8.9" width="6.67" height="6.67" rx="3.34" ry="3.34"/><rect class="cls-1" y="28.92" width="6.67" height="6.67" rx="3.34" ry="3.34"/><rect class="cls-1" x="35.59" y="8.9" width="6.67" height="6.67" rx="3.34" ry="3.34"/><rect class="cls-1" x="35.59" y="28.92" width="6.67" height="6.67" rx="3.34" ry="3.34"/><rect class="cls-1" x="17.8" width="6.67" height="6.67" rx="3.34" ry="3.34"/><rect class="cls-1" x="17.8" y="37.81" width="6.67" height="6.67" rx="3.34" ry="3.34"/></svg>

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,175 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.524375mm"
height="4.524375mm"
viewBox="0 0 16.03125 16.03125"
id="svg6888"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="portal.svg">
<defs
id="defs6890">
<inkscape:path-effect
effect="spiro"
id="path-effect3947"
is_visible="true" />
<inkscape:path-effect
is_visible="true"
id="path-effect3951"
effect="spiro" />
<inkscape:path-effect
is_visible="true"
id="path-effect3957"
effect="spiro" />
<inkscape:path-effect
effect="spiro"
id="path-effect3959"
is_visible="true" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="15.839192"
inkscape:cx="0.92229618"
inkscape:cy="10.634328"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata6893">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-357.69866,-721.48944)">
<rect
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;opacity:0.51464431;fill:none;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
id="rect3900"
width="16"
height="16"
x="357.72992"
y="721.52069" />
<circle
id="path3908-61"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
cx="359.71429"
cy="723.53632"
r="2.015625" />
<circle
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
id="path3910-1"
cx="359.71429"
cy="735.47382"
r="2.015625" />
<circle
id="path3912"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
cx="371.71429"
cy="735.47382"
r="2.015625" />
<circle
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
id="path3914"
cx="371.71429"
cy="723.50507"
r="2.015625" />
<rect
y="723.55194"
x="359.76117"
height="11.96875"
width="11.96875"
id="rect3916"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:new" />
<rect
y="727.02069"
x="363.16742"
height="5"
width="5.0625"
id="rect3918"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:0.9999997;stroke-opacity:1;marker:none;enable-background:new" />
<circle
id="path3937"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
cx="368.21429"
cy="732.00507"
r="1.515625" />
<circle
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
id="path3939"
cx="363.21429"
cy="732.00507"
r="1.515625" />
<circle
id="path3941"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
cx="363.21429"
cy="727.03632"
r="1.515625" />
<circle
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
id="path3943"
cx="368.27679"
cy="727.03632"
r="1.515625" />
<path
inkscape:connector-curvature="0"
inkscape:original-d="m 368.23399,732.05615 3.42505,3.42505"
inkscape:path-effect="#path-effect3947"
id="path3945"
d="m 368.23399,732.05615 3.42505,3.42505"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:0.99999976;stroke-opacity:1;marker:none;enable-background:new" />
<path
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:0.99999976;stroke-opacity:1;marker:none;enable-background:new"
d="m 363.65904,732.05615 -3.42505,3.42505"
id="path3949"
inkscape:path-effect="#path-effect3951"
inkscape:original-d="m 363.65904,732.05615 -3.42505,3.42505"
inkscape:connector-curvature="0" />
<path
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:0.99999976;stroke-opacity:1;marker:none;enable-background:new"
d="m 368.23399,727.4812 3.42505,-3.42505"
id="path3953"
inkscape:path-effect="#path-effect3957"
inkscape:original-d="m 368.23399,727.4812 3.42505,-3.42505"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
inkscape:original-d="m 363.65904,727.4812 -3.42505,-3.42505"
inkscape:path-effect="#path-effect3959"
id="path3955"
d="m 363.65904,727.4812 -3.42505,-3.42505"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:0.99999976;stroke-opacity:1;marker:none;enable-background:new" />
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48.1 47.9"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M35.19,2.22l8.45,4.86-8.45,4.85H2.62V2.22H35.19M35.78,0H.39V14.16H35.78L48.1,7.08,35.78,0Z"/><path class="cls-1" d="M34.31,13.35a1.12,1.12,0,0,1-1.11-1.12V1.11a1.12,1.12,0,0,1,2.23,0V12.23A1.12,1.12,0,0,1,34.31,13.35Z"/><path class="cls-1" d="M5.4,13.35a1.11,1.11,0,0,1-1.11-1.12V1.11a1.11,1.11,0,1,1,2.22,0V12.23A1.12,1.12,0,0,1,5.4,13.35Z"/><path class="cls-1" d="M40,47.9H28.47l-1.83-4.65H13.35L11.51,47.9H0L19.88,7.48h.22ZM16.37,35.58h7.24L20,26.29Z"/><polygon class="cls-1" points="46.44 7.79 40.88 4.58 40.88 11 46.44 7.79"/></svg>

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 740 B

View File

@ -1,175 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.524375mm"
height="4.524375mm"
viewBox="0 0 16.03125 16.03125"
id="svg6888"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="portal.svg">
<defs
id="defs6890">
<inkscape:path-effect
effect="spiro"
id="path-effect3947"
is_visible="true" />
<inkscape:path-effect
is_visible="true"
id="path-effect3951"
effect="spiro" />
<inkscape:path-effect
is_visible="true"
id="path-effect3957"
effect="spiro" />
<inkscape:path-effect
effect="spiro"
id="path-effect3959"
is_visible="true" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="15.839192"
inkscape:cx="0.92229618"
inkscape:cy="10.634328"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata6893">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-357.69866,-721.48944)">
<rect
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;opacity:0.51464431;fill:none;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
id="rect3900"
width="16"
height="16"
x="357.72992"
y="721.52069" />
<circle
id="path3908-61"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
cx="359.71429"
cy="723.53632"
r="2.015625" />
<circle
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
id="path3910-1"
cx="359.71429"
cy="735.47382"
r="2.015625" />
<circle
id="path3912"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
cx="371.71429"
cy="735.47382"
r="2.015625" />
<circle
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
id="path3914"
cx="371.71429"
cy="723.50507"
r="2.015625" />
<rect
y="723.55194"
x="359.76117"
height="11.96875"
width="11.96875"
id="rect3916"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:new" />
<rect
y="727.02069"
x="363.16742"
height="5"
width="5.0625"
id="rect3918"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:0.9999997;stroke-opacity:1;marker:none;enable-background:new" />
<circle
id="path3937"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
cx="368.21429"
cy="732.00507"
r="1.515625" />
<circle
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
id="path3939"
cx="363.21429"
cy="732.00507"
r="1.515625" />
<circle
id="path3941"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
cx="363.21429"
cy="727.03632"
r="1.515625" />
<circle
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999976;marker:none;enable-background:new"
id="path3943"
cx="368.27679"
cy="727.03632"
r="1.515625" />
<path
inkscape:connector-curvature="0"
inkscape:original-d="m 368.23399,732.05615 3.42505,3.42505"
inkscape:path-effect="#path-effect3947"
id="path3945"
d="m 368.23399,732.05615 3.42505,3.42505"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:0.99999976;stroke-opacity:1;marker:none;enable-background:new" />
<path
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:0.99999976;stroke-opacity:1;marker:none;enable-background:new"
d="m 363.65904,732.05615 -3.42505,3.42505"
id="path3949"
inkscape:path-effect="#path-effect3951"
inkscape:original-d="m 363.65904,732.05615 -3.42505,3.42505"
inkscape:connector-curvature="0" />
<path
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:0.99999976;stroke-opacity:1;marker:none;enable-background:new"
d="m 368.23399,727.4812 3.42505,-3.42505"
id="path3953"
inkscape:path-effect="#path-effect3957"
inkscape:original-d="m 368.23399,727.4812 3.42505,-3.42505"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
inkscape:original-d="m 363.65904,727.4812 -3.42505,-3.42505"
inkscape:path-effect="#path-effect3959"
id="path3955"
d="m 363.65904,727.4812 -3.42505,-3.42505"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:0.99999976;stroke-opacity:1;marker:none;enable-background:new" />
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 47.71 47.68"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M34.79,2.22l8.46,4.86-8.46,4.85H2.22V2.22H34.79M35.39,0H0V14.16H35.39L47.71,7.08,35.39,0Z"/><path class="cls-1" d="M33.92,13.35a1.12,1.12,0,0,1-1.11-1.12V1.11a1.11,1.11,0,1,1,2.22,0V12.23A1.11,1.11,0,0,1,33.92,13.35Z"/><path class="cls-1" d="M5,13.35a1.12,1.12,0,0,1-1.12-1.12V1.11a1.12,1.12,0,0,1,2.23,0V12.23A1.12,1.12,0,0,1,5,13.35Z"/><polygon class="cls-1" points="46.04 7.79 40.48 4.58 40.48 11 46.04 7.79"/><path class="cls-1" d="M35.66,14l-6.19,7.18a9.78,9.78,0,0,0-7.85-4.06c-6.09,0-9.88,4.47-9.88,10.77s3.79,10.81,9.88,10.81a9.8,9.8,0,0,0,7.85-4l6.14,7.17c-3.9,4.32-8.38,5.88-14,5.88C10,47.68,1.7,39.15,1.7,27.87S10,8.1,21.62,8.1C27.86,8.1,31.86,10,35.66,14Z"/></svg>

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 880 B

View File

@ -1,111 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5155554mm"
height="4.5155554mm"
viewBox="0 0 15.999999 15.999999"
id="svg6036"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="roles.svg">
<defs
id="defs6038" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="23.269249"
inkscape:cy="5.7340883"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata6041">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-272,-458.64792)">
<g
id="g9203"
inkscape:label="system-users"
transform="translate(290.9996,-190.35208)">
<g
transform="translate(-0.49981,0)"
id="g9188"
style="display:inline">
<g
id="g9172">
<path
style="fill:#000000;fill-opacity:1;stroke:none"
d="m -5.2115283,658.6875 c -0.4937891,0.47964 -1.0774305,0.69712 -1.7882906,0.69712 -0.7108599,0 -1.2972314,-0.22349 -1.7910205,-0.70313 -0.7765701,0.27945 -1.7052286,0.99058 -1.7062566,2.23257 l -0.0027,2.3167 c -5.15e-4,0.42615 0.31219,0.76924 0.6999914,0.76924 l 5.600024,0 c 0.3878016,0 0.7000029,-0.34309 0.7000029,-0.76924 l 0,-2.30769 c 0,-1.0667 -0.7716202,-1.96599 -1.7117243,-2.23557 z"
id="path9137"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csccsssscc" />
<circle
r="2.5"
cy="342.5"
cx="49.5"
transform="matrix(0.92307481,0,0,0.92307481,-52.69199,340.15457)"
id="path9139"
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate" />
</g>
<g
id="g9176">
<path
sodipodi:nodetypes="csccssccccc"
inkscape:connector-curvature="0"
id="path9178"
d="m -12.21155,654.6875 c -0.493789,0.47964 -1.077431,0.69712 -1.788291,0.69712 -0.71086,0 -1.297231,-0.22349 -1.79102,-0.70313 -0.77657,0.27945 -1.705229,0.99058 -1.706257,2.23257 l -0.0027,2.3167 c -5.15e-4,0.42615 0.31219,0.76924 0.699991,0.76924 l 5.735381,0 c 0.06219,-0.3952 0.261624,-0.72266 0.564646,-1 l 0,-2.07693 c 0,-1.0667 -0.77162,-1.96599 -1.711724,-2.23557 z"
style="fill:#000000;fill-opacity:1;stroke:none" />
<circle
r="2.5"
cy="342.5"
cx="49.5"
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
id="path9180"
transform="matrix(0.92307481,0,0,0.92307481,-59.692012,336.15457)" />
</g>
</g>
<rect
inkscape:label="a"
y="649"
x="-18.999603"
height="16"
width="16"
id="rect9125"
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none" />
</g>
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55.61 55.61"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M31,2.35a27,27,0,0,1,3.92.8L35.77,7a2.86,2.86,0,0,0,1.52,1.95,3,3,0,0,0,1.28.3A2.77,2.77,0,0,0,39.74,9l3.55-1.59a27.12,27.12,0,0,1,3,2.67l-1.17,3.7a2.87,2.87,0,0,0,2.44,3.72l3.88.39a24.89,24.89,0,0,1,1.26,3.8l-2.88,2.63a2.91,2.91,0,0,0-.92,2.3,2.85,2.85,0,0,0,1.18,2.14L53.26,31a27.1,27.1,0,0,1-.8,3.91l-3.83.84a2.88,2.88,0,0,0-1.94,1.51,2.83,2.83,0,0,0,0,2.46l1.59,3.55a27.12,27.12,0,0,1-2.67,3l-3.71-1.17a2.77,2.77,0,0,0-2.43.34,2.86,2.86,0,0,0-1.28,2.1l-.39,3.88A24.89,24.89,0,0,1,34,52.7l-2.63-2.87a2.84,2.84,0,0,0-2.12-.93H29a2.87,2.87,0,0,0-2.16,1.18l-2.29,3.18a27.1,27.1,0,0,1-3.91-.8l-.84-3.83A2.9,2.9,0,0,0,17,46.38a2.77,2.77,0,0,0-1.17.26l-3.55,1.59a26.14,26.14,0,0,1-3-2.67l1.17-3.7a2.85,2.85,0,0,0-.34-2.44,2.82,2.82,0,0,0-2.1-1.27l-3.88-.4A24.89,24.89,0,0,1,2.91,34l2.88-2.63a2.88,2.88,0,0,0-.26-4.44L2.35,24.6a26.69,26.69,0,0,1,.8-3.92L7,19.84a2.87,2.87,0,0,0,1.94-1.52A2.81,2.81,0,0,0,9,15.87L7.38,12.32a26.14,26.14,0,0,1,2.67-3l3.71,1.17a2.82,2.82,0,0,0,.86.14,2.87,2.87,0,0,0,1.57-.48,2.82,2.82,0,0,0,1.27-2.1l.4-3.88a24.53,24.53,0,0,1,3.8-1.26L24.3,5.79a2.85,2.85,0,0,0,2.1.93h.21a2.86,2.86,0,0,0,2.12-1.18L31,2.35M30,0l-3,4.23a.63.63,0,0,1-.48.26h0a.61.61,0,0,1-.47-.21L22.43.45l-.79.18a27.93,27.93,0,0,0-5.12,1.69l-.74.33-.53,5.18A.65.65,0,0,1,15,8.3a.69.69,0,0,1-.35.1l-.2,0L9.48,6.81l-.59.55a28.11,28.11,0,0,0-3.59,4l-.48.65,2.12,4.73a.64.64,0,0,1-.44.89L1.4,18.79l-.24.78A28,28,0,0,0,.09,24.84l-.09.8,4.23,3.05a.64.64,0,0,1,.26.48.62.62,0,0,1-.21.51L.45,33.18.63,34A28.54,28.54,0,0,0,2.32,39.1l.33.74,5.18.52a.68.68,0,0,1,.47.28.65.65,0,0,1,.07.55L6.81,46.13l.55.59a28.12,28.12,0,0,0,4,3.6l.65.47,4.73-2.12a.52.52,0,0,1,.26-.06.68.68,0,0,1,.29.07.6.6,0,0,1,.33.43l1.13,5.1.78.24a28.16,28.16,0,0,0,5.27,1.08l.8.08,3.05-4.23a.63.63,0,0,1,.48-.26h0a.64.64,0,0,1,.48.21l3.5,3.83L34,55a27.93,27.93,0,0,0,5.12-1.69l.74-.33.53-5.18a.64.64,0,0,1,.63-.57l.19,0,4.94,1.56.6-.55a28.11,28.11,0,0,0,3.59-4l.48-.65-2.12-4.73a.63.63,0,0,1,0-.55.6.6,0,0,1,.43-.33l5.1-1.13.24-.78a28.14,28.14,0,0,0,1.07-5.27l.09-.8-4.23-3a.63.63,0,0,1-.26-.48.59.59,0,0,1,.21-.5l3.83-3.51L55,21.64a28.28,28.28,0,0,0-1.69-5.13L53,15.78l-5.18-.53a.65.65,0,0,1-.47-.28.64.64,0,0,1-.07-.54L48.8,9.48l-.55-.59a28.11,28.11,0,0,0-4-3.59l-.65-.48L38.83,6.94a.52.52,0,0,1-.26.06.64.64,0,0,1-.29-.07.63.63,0,0,1-.34-.43L36.82,1.4,36,1.16A28.14,28.14,0,0,0,30.77.09L30,0Z"/><path class="cls-1" d="M27.56,11.37a16.49,16.49,0,0,0-3.9,32.52c0-5.16,0-3.24,0-8.49a.41.41,0,0,0-.42-.41.41.41,0,0,0-.41.41c0,3.57,0-.74,0,2.68a1.39,1.39,0,1,1-2.78,0V27.39c0-2.07,1.3-4.29,3.58-4.56h7.87c2.6,0,4.07,2.34,4.07,4.56V38.11a1.39,1.39,0,1,1-2.78,0c0-3.13,0,.68,0-2.68a.42.42,0,0,0-.43-.41.41.41,0,0,0-.41.41v8.36a16.49,16.49,0,0,0-4.41-32.39Zm.26,10.89a3.47,3.47,0,1,1,3.48-3.47A3.47,3.47,0,0,1,27.82,22.26Z"/></svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,86 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5155554mm"
height="4.5155554mm"
viewBox="0 0 15.999999 15.999999"
id="svg5650"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="application.svg">
<defs
id="defs5652" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="15.839192"
inkscape:cx="6.4750549"
inkscape:cy="2.2777175"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5655">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-317.71429,-481.50506)">
<g
style="display:inline;fill:#000000;enable-background:new"
id="g3781-5"
transform="translate(309.71429,201.50506)"
inkscape:label="video-display">
<rect
y="280"
x="8"
height="16"
width="16"
id="rect3003-7"
style="opacity:0.02000002;fill:#000000;stroke:none" />
<path
id="rect3773-3"
d="m 11,281 c -1.662,0 -3,1.338 -3,3 l 0,7 c 0,1.662 1.338,3 3,3 l 10,0 c 1.662,0 3,-1.338 3,-3 l 0,-7 c 0,-1.662 -1.338,-3 -3,-3 z m 0,2 10,0 c 0.554,0 1,0.446 1,1 l 0,7 c 0,0.554 -0.446,1 -1,1 l -10,0 c -0.554,0 -1,-0.446 -1,-1 l 0,-7 c 0,-0.554 0.446,-1 1,-1 z"
style="fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ssssssssssssssssss" />
<path
sodipodi:nodetypes="sccccs"
inkscape:connector-curvature="0"
id="rect3778-2"
d="m 16,296 c 3,0 4,-1 4,-1 l -1,0 -6,0 -1,0 c 0,0 1,1 4,1 z"
style="fill:#000000;fill-opacity:1;stroke:none" />
</g>
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55.61 55.16"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M55.61,15.57H0V0H55.61ZM2.22,13.35H53.39V2.22H2.22Z"/><rect class="cls-1" x="6.67" y="6.67" width="2.22" height="2.22"/><rect class="cls-1" x="11.12" y="6.67" width="2.22" height="2.22"/><rect class="cls-1" x="15.57" y="6.67" width="2.22" height="2.22"/><circle class="cls-1" cx="38.93" cy="7.79" r="2.22"/><circle class="cls-1" cx="45.6" cy="7.79" r="2.22"/><path class="cls-1" d="M0,19.8V35.37H55.61V19.8Zm8.9,8.89H6.67V26.47H8.9Zm4.45,0H11.12V26.47h2.23Zm4.45,0H15.57V26.47H17.8Zm21.13,1.12a2.23,2.23,0,1,1,2.22-2.23A2.23,2.23,0,0,1,38.93,29.81Zm6.67,0a2.23,2.23,0,1,1,2.22-2.23A2.22,2.22,0,0,1,45.6,29.81Z"/><path class="cls-1" d="M55.61,55.16H0V39.59H55.61ZM2.22,52.94H53.39V41.81H2.22Z"/><rect class="cls-1" x="6.67" y="46.26" width="2.22" height="2.22"/><rect class="cls-1" x="11.12" y="46.26" width="2.22" height="2.22"/><rect class="cls-1" x="15.57" y="46.26" width="2.22" height="2.22"/><circle class="cls-1" cx="38.93" cy="47.38" r="2.22"/><circle class="cls-1" cx="45.6" cy="47.38" r="2.22"/></svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1,85 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5155554mm"
height="4.5155578mm"
viewBox="0 0 15.999999 16.000008"
id="svg6097"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="settings.svg">
<defs
id="defs6099" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="11.472982"
inkscape:cy="-1.3045761"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata6102">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-123.42857,-301.50506)">
<g
style="display:inline"
id="g4948"
transform="matrix(0.99983741,0,0,0.99709409,83.434873,-404.39106)"
inkscape:label="preferences-system">
<path
inkscape:connector-curvature="0"
id="path3908"
d="m 43.549718,708.04419 c -0.399396,0 -0.786509,0.0919 -1.143474,0.21635 l 1.885188,1.88519 c 0.387409,0.3874 0.387409,1.00329 0,1.39071 l -0.710808,0.71081 c -0.387409,0.3874 -1.003305,0.3874 -1.390714,0 l -1.885188,-1.88519 c -0.12446,0.35695 -0.216334,0.74407 -0.216334,1.14347 0,1.91164 1.549691,3.46132 3.46133,3.46132 0.399396,0 0.786511,-0.0919 1.143476,-0.21633 l 1.17438,1.17438 a 2.4726259,2.4726259 0 0 1 0.0618,0 l 2.070622,-2.07061 -1.205284,-1.20529 c 0.124458,-0.35695 0.216332,-0.74407 0.216332,-1.14347 0,-1.91164 -1.549689,-3.46134 -3.46133,-3.46134 z m 6.551804,7.91162 -2.070618,2.07061 a 2.4726259,2.4726259 0 0 1 0.03091,0.0927 l 1.143474,1.14347 c -0.124458,0.357 -0.216332,0.74412 -0.216332,1.14352 0,1.91164 1.549689,3.46134 3.46133,3.46134 0.433532,0 0.853742,-0.1017 1.236188,-0.24724 l -2.008806,-2.00881 c -0.387409,-0.38742 -0.387409,-1.0342 0,-1.42162 l 0.679904,-0.6799 c 0.193705,-0.19371 0.458013,-0.30906 0.710808,-0.30906 0.252795,0 0.517105,0.11535 0.71081,0.30906 l 1.946998,1.94699 c 0.104867,-0.33054 0.185428,-0.6855 0.185428,-1.05076 0,-1.91164 -1.549691,-3.46132 -3.46133,-3.46132 -0.399396,0 -0.786511,0.0919 -1.143476,0.21633 l -1.205286,-1.2053 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="path3910"
d="m 53.860505,707.95337 -1.542705,1.44172 c -0.451586,0.42201 -0.529293,1.15218 -0.266343,1.71144 l -5.889182,6.01323 a 1.4919155,1.4919127 0 0 0 -0.03108,2.5e-4 1.4919155,1.4919127 0 0 0 -0.840306,-0.14884 1.4919155,1.4919127 0 0 0 -0.866771,0.44188 l -3.94684,4.00899 a 1.4943601,1.4943574 0 1 0 2.129781,2.09677 l 3.946839,-4.00899 a 1.4919155,1.4919127 0 0 0 0.297178,-1.74277 l 5.889423,-5.98216 c 0.557911,0.2491 1.273451,0.1474 1.707079,-0.29305 l 1.417423,-1.56504 -2.004499,-1.97343 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none;enable-background:new"
id="rect4445"
width="16"
height="16"
x="201"
y="245"
transform="matrix(1.0001626,0,0,1.0029144,-161.03248,462.23935)" />
</g>
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44.49 38.93"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M5.56,20.36a1.11,1.11,0,0,1-1.11-1.11V1.11a1.11,1.11,0,0,1,2.22,0V19.25A1.11,1.11,0,0,1,5.56,20.36Z"/><path class="cls-1" d="M27.81,9.75a1.12,1.12,0,0,1-1.12-1.11V1.11a1.12,1.12,0,0,1,2.23,0V8.64A1.11,1.11,0,0,1,27.81,9.75Z"/><path class="cls-1" d="M38.93,15.06A1.11,1.11,0,0,1,37.82,14V1.11a1.11,1.11,0,1,1,2.22,0V14A1.11,1.11,0,0,1,38.93,15.06Z"/><path class="cls-1" d="M16.68,15.06A1.11,1.11,0,0,1,15.57,14V1.11a1.12,1.12,0,0,1,2.23,0V14A1.12,1.12,0,0,1,16.68,15.06Z"/><path class="cls-1" d="M7.58,25.67h-4A3.55,3.55,0,0,1,0,22.13v-.45a3.55,3.55,0,0,1,3.54-3.54h4a3.55,3.55,0,0,1,3.54,3.54v.45A3.55,3.55,0,0,1,7.58,25.67Zm-4-5.31a1.33,1.33,0,0,0-1.32,1.32v.45a1.32,1.32,0,0,0,1.32,1.31h4A1.32,1.32,0,0,0,8.9,22.13v-.45a1.32,1.32,0,0,0-1.32-1.32Z"/><path class="cls-1" d="M18.7,20.36h-4a3.55,3.55,0,0,1-3.54-3.54v-.45a3.55,3.55,0,0,1,3.54-3.54h4a3.54,3.54,0,0,1,3.54,3.54v.45A3.54,3.54,0,0,1,18.7,20.36Zm-4-5.3a1.31,1.31,0,0,0-1.31,1.31v.45a1.32,1.32,0,0,0,1.31,1.32h4A1.32,1.32,0,0,0,20,16.82v-.45a1.32,1.32,0,0,0-1.32-1.31Z"/><path class="cls-1" d="M41,20.36h-4a3.55,3.55,0,0,1-3.54-3.54v-.45a3.55,3.55,0,0,1,3.54-3.54h4a3.55,3.55,0,0,1,3.54,3.54v.45A3.55,3.55,0,0,1,41,20.36Zm-4-5.3a1.32,1.32,0,0,0-1.32,1.31v.45a1.32,1.32,0,0,0,1.32,1.32h4a1.32,1.32,0,0,0,1.31-1.32v-.45A1.31,1.31,0,0,0,41,15.06Z"/><rect class="cls-1" x="23.36" y="8.64" width="8.9" height="5.3" rx="2.43" ry="2.43"/><path class="cls-1" d="M29.83,15.06h-4a3.55,3.55,0,0,1-3.55-3.54v-.45a3.55,3.55,0,0,1,3.55-3.54h4a3.55,3.55,0,0,1,3.54,3.54v.45A3.55,3.55,0,0,1,29.83,15.06Zm-4-5.31a1.32,1.32,0,0,0-1.32,1.32v.45a1.32,1.32,0,0,0,1.32,1.31h4a1.31,1.31,0,0,0,1.31-1.31v-.45a1.32,1.32,0,0,0-1.31-1.32Z"/><path class="cls-1" d="M5.56,38.93a1.12,1.12,0,0,1-1.11-1.12V24.55a1.11,1.11,0,0,1,2.22,0V37.81A1.11,1.11,0,0,1,5.56,38.93Z"/><path class="cls-1" d="M16.68,38.93a1.12,1.12,0,0,1-1.11-1.12V19.25a1.12,1.12,0,0,1,2.23,0V37.81A1.12,1.12,0,0,1,16.68,38.93Z"/><path class="cls-1" d="M27.81,38.93a1.12,1.12,0,0,1-1.12-1.12V14a1.12,1.12,0,1,1,2.23,0V37.81A1.12,1.12,0,0,1,27.81,38.93Z"/><path class="cls-1" d="M38.93,38.93a1.11,1.11,0,0,1-1.11-1.12V19.25a1.11,1.11,0,0,1,2.22,0V37.81A1.12,1.12,0,0,1,38.93,38.93Z"/></svg>

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -1,97 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5155554mm"
height="4.5155554mm"
viewBox="0 0 15.999999 15.999999"
id="svg5640"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="dessin.svg">
<defs
id="defs5642" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="15.839192"
inkscape:cx="8.6960487"
inkscape:cy="0.71185324"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
inkscape:window-height="1043"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata5645">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(479.42857,-375.79078)">
<path
sodipodi:nodetypes="cc"
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/Users/hylkebons/tmp/mid/Toolbar/Graphics/tiny_toolbar_icons/icons/cell-network-no-connection.png"
style="display:inline;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -465.48663,377.73272 0,12"
id="path11924"
inkscape:connector-curvature="0" />
<path
id="path11926"
d="m -477.37845,380.73272 0,9"
style="display:inline;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:export-filename="/Users/hylkebons/tmp/mid/Toolbar/Graphics/tiny_toolbar_icons/icons/cell-network-no-connection.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cc"
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/Users/hylkebons/tmp/mid/Toolbar/Graphics/tiny_toolbar_icons/icons/cell-network-no-connection.png"
style="display:inline;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -469.45057,382.40689 0,7.32583"
id="path11928"
inkscape:connector-curvature="0" />
<path
id="path11930"
d="m -473.41451,384.33361 0,5.39911"
style="display:inline;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:export-filename="/Users/hylkebons/tmp/mid/Toolbar/Graphics/tiny_toolbar_icons/icons/cell-network-no-connection.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0" />
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 46.71 46.71"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M21.77,22.7V3.17a21.77,21.77,0,0,0-16.47,36Z"/><path class="cls-1" d="M41.2,27.16a19.55,19.55,0,0,1-30.29,14l14-14H41.2m2.35-2.22Zm0,0H24L7.54,41.41a21.77,21.77,0,0,0,36-16.47Z"/><path class="cls-1" d="M28.4,14.61l10-10c-.52-.41-1.07-.8-1.63-1.16L26.58,13.64A11.72,11.72,0,0,1,28.4,14.61Z"/><path class="cls-1" d="M24.94,0V2.8L27.57.16A22.79,22.79,0,0,0,24.94,0Z"/><path class="cls-1" d="M33.07,20.14,43.23,10c-.36-.56-.75-1.11-1.16-1.63l-10,10A12.3,12.3,0,0,1,33.07,20.14Z"/><path class="cls-1" d="M29.54.49l-4.6,4.6v2.8l6.8-6.8A20.39,20.39,0,0,0,29.54.49Z"/><path class="cls-1" d="M31.12,17,41,7.09c-.45-.48-.91-1-1.4-1.4l-9.9,9.9A13.22,13.22,0,0,1,31.12,17Z"/><path class="cls-1" d="M46.55,19.14l-2.64,2.63h2.8A22.79,22.79,0,0,0,46.55,19.14Z"/><path class="cls-1" d="M45.62,15l-6.8,6.8h2.8l4.6-4.6A20.39,20.39,0,0,0,45.62,15Z"/><path class="cls-1" d="M44.09,11.41,33.73,21.77h2.8L45,13.3A20.55,20.55,0,0,0,44.09,11.41Z"/><path class="cls-1" d="M33.42,1.71l-8.48,8.48V13L35.3,2.62C34.69,2.29,34.06,2,33.42,1.71Z"/></svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1,67 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="3.8452778mm"
height="3.9510829mm"
viewBox="0 0 13.625 13.9999"
id="svg5637"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="system.svg">
<defs
id="defs5639" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.4"
inkscape:cx="14.84129"
inkscape:cy="4.388379"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5642">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-198.85735,-507.90688)">
<path
sodipodi:nodetypes="sccccccccccsccccccccccsccccccccccsccccccccccssssss"
inkscape:connector-curvature="0"
id="path35543-6-4"
d="m 205.66985,507.90688 c -0.22065,0 -0.44081,0.0113 -0.65625,0.0312 l -0.40625,2.09375 c -0.33446,0.0733 -0.66305,0.17589 -0.96875,0.3125 l -1.53125,-1.46875 c -0.38863,0.23011 -0.72695,0.51408 -1.0625,0.8125 l 0.90625,1.90625 c -0.22242,0.24899 -0.42425,0.5225 -0.59375,0.8125 l -2.09375,-0.28125 c -0.17772,0.40877 -0.30872,0.83637 -0.40625,1.28125 l 1.84375,1 c -0.0171,0.16809 -0.0312,0.3274 -0.0312,0.5 0,0.1726 0.0142,0.33191 0.0312,0.5 l -1.84375,1 c 0.0975,0.44488 0.22853,0.87248 0.40625,1.28125 l 2.09375,-0.28125 c 0.1695,0.29 0.37133,0.56351 0.59375,0.8125 l -0.90625,1.90625 c 0.33555,0.29842 0.67387,0.58239 1.0625,0.8125 l 1.53125,-1.46875 c 0.3057,0.13661 0.63429,0.23916 0.96875,0.3125 l 0.40625,2.09375 c 0.21544,0.02 0.4356,0.0312 0.65625,0.0312 0.22065,0 0.44081,-0.0113 0.65625,-0.0312 l 0.40625,-2.09375 c 0.33446,-0.0733 0.66305,-0.17589 0.96875,-0.3125 l 1.53125,1.46875 c 0.38863,-0.23011 0.72695,-0.51408 1.0625,-0.8125 l -0.90625,-1.90625 c 0.22242,-0.24899 0.42425,-0.5225 0.59375,-0.8125 l 2.09375,0.28125 c 0.17772,-0.40877 0.30872,-0.83637 0.40625,-1.28125 l -1.84375,-1 c 0.0171,-0.16809 0.0312,-0.3274 0.0312,-0.5 0,-0.1726 -0.0142,-0.33191 -0.0312,-0.5 l 1.84375,-1 c -0.0975,-0.44488 -0.22853,-0.87248 -0.40625,-1.28125 l -2.09375,0.28125 c -0.1695,-0.29 -0.37133,-0.56351 -0.59375,-0.8125 l 0.90625,-1.90625 c -0.33555,-0.29842 -0.67387,-0.58239 -1.0625,-0.8125 l -1.53125,1.46875 c -0.3057,-0.13661 -0.63429,-0.23916 -0.96875,-0.3125 l -0.40625,-2.09375 c -0.21544,-0.02 -0.4356,-0.0312 -0.65625,-0.0312 z m 0,4 c 1.65685,0 3,1.34315 3,3 0,1.65685 -1.34315,3 -3,3 -1.65685,0 -3,-1.34315 -3,-3 0,-1.65685 1.34315,-3 3,-3 z"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;enable-background:accumulate" />
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 51.05 51.06"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M45.08,27V24l-4.25-.85a15.74,15.74,0,0,0-.89-3.3L43.2,17,41.72,14.4l-4.13,1.39a15.38,15.38,0,0,0-2.42-2.42l1.39-4.13L34,7.76,31.11,11a15.49,15.49,0,0,0-3.29-.89L27,5.87H24l-.86,4.27a15.82,15.82,0,0,0-3.29.89L17,7.76,14.39,9.24l1.39,4.13a15.76,15.76,0,0,0-2.41,2.42L9.24,14.4,7.76,17,11,19.84a15.2,15.2,0,0,0-.88,3.29L5.87,24v3l4.27.86A14.67,14.67,0,0,0,11,31.12L7.76,34l1.48,2.56,4.13-1.39a15.76,15.76,0,0,0,2.41,2.42l-1.39,4.13L17,43.2l2.87-3.27a15.91,15.91,0,0,0,3.3.89L24,45.09h3l.86-4.28a15.14,15.14,0,0,0,3.3-.88L34,43.2l2.56-1.48-1.4-4.13a15.45,15.45,0,0,0,2.43-2.42l4.13,1.39L43.2,34l-3.27-2.87a15.85,15.85,0,0,0,.9-3.31ZM25.47,33.65a8.17,8.17,0,1,1,8.17-8.17A8.16,8.16,0,0,1,25.47,33.65Z"/><path class="cls-1" d="M25.5,51.06a1.11,1.11,0,1,1,0-2.22c.72,0,1.44,0,2.15-.1a1.12,1.12,0,0,1,1.21,1,1.11,1.11,0,0,1-1,1.21c-.77.07-1.56.11-2.35.11Zm-6.7-.92a1,1,0,0,1-.3,0,23.55,23.55,0,0,1-2.24-.75,1.11,1.11,0,1,1,.8-2.07,21.39,21.39,0,0,0,2.05.68,1.11,1.11,0,0,1-.31,2.18Zm15.53-.73a1.11,1.11,0,0,1-.4-2.15c.66-.26,1.32-.55,2-.87a1.11,1.11,0,0,1,1,2c-.7.35-1.43.67-2.16.95A1,1,0,0,1,34.33,49.41ZM10.75,46.14a1.12,1.12,0,0,1-.67-.22c-.62-.47-1.23-1-1.81-1.51a1.11,1.11,0,1,1,1.49-1.64c.54.48,1.1.94,1.66,1.37a1.11,1.11,0,0,1-.67,2ZM42,44.67a1.09,1.09,0,0,1-.82-.36,1.11,1.11,0,0,1,.06-1.57Q42,42,42.74,41.21a1.11,1.11,0,0,1,1.64,1.5c-.52.57-1.08,1.14-1.66,1.67A1.16,1.16,0,0,1,42,44.67ZM4.69,39.51a1.11,1.11,0,0,1-1-.52c-.41-.67-.8-1.36-1.15-2.06a1.11,1.11,0,0,1,2-1,21.51,21.51,0,0,0,1,1.88,1.1,1.1,0,0,1-.35,1.53A1.09,1.09,0,0,1,4.69,39.51Zm42.69-2a1.12,1.12,0,0,1-1-1.61c.32-.64.61-1.3.87-2a1.11,1.11,0,1,1,2.07.8,23.16,23.16,0,0,1-.95,2.16A1.13,1.13,0,0,1,47.38,37.5Zm-46-6.36a1.12,1.12,0,0,1-1.09-.91C.19,29.46.08,28.67,0,27.89a1.12,1.12,0,0,1,1-1.21,1.12,1.12,0,0,1,1.21,1c.07.7.17,1.42.3,2.13a1.13,1.13,0,0,1-.89,1.3Zm48.42-2.29h-.1a1.12,1.12,0,0,1-1-1.21c.07-.72.1-1.44.1-2.16v-.1a1.11,1.11,0,1,1,2.22,0v.1c0,.78,0,1.58-.1,2.36A1.12,1.12,0,0,1,49.84,28.85ZM1.41,22.15l-.2,0a1.11,1.11,0,0,1-.9-1.29c.15-.77.32-1.55.54-2.3a1.11,1.11,0,0,1,2.14.6c-.2.69-.36,1.4-.49,2.1A1.11,1.11,0,0,1,1.41,22.15ZM49,19.81A1.11,1.11,0,0,1,47.92,19c-.2-.69-.43-1.38-.69-2a1.11,1.11,0,1,1,2.07-.81c.28.73.54,1.48.76,2.24a1.11,1.11,0,0,1-.76,1.37A1.18,1.18,0,0,1,49,19.81Zm-44.36-6a1.13,1.13,0,0,1-.58-.16,1.12,1.12,0,0,1-.36-1.53c.41-.68.86-1.33,1.33-2A1.11,1.11,0,0,1,6.8,11.45C6.37,12,6,12.62,5.58,13.23A1.11,1.11,0,0,1,4.63,13.76Zm40.32-2a1.11,1.11,0,0,1-.89-.44c-.43-.57-.9-1.12-1.38-1.65a1.11,1.11,0,0,1,1.64-1.51c.53.58,1,1.19,1.51,1.81a1.11,1.11,0,0,1-.21,1.56A1.13,1.13,0,0,1,45,11.78ZM10.68,7.11a1.14,1.14,0,0,1-.89-.44A1.11,1.11,0,0,1,10,5.11,23.24,23.24,0,0,1,12,3.77a1.11,1.11,0,1,1,1.17,1.88c-.6.38-1.2.79-1.77,1.23A1.13,1.13,0,0,1,10.68,7.11Zm27.6-1.37a1.13,1.13,0,0,1-.58-.16,20.32,20.32,0,0,0-1.88-1,1.11,1.11,0,0,1,1-2c.7.35,1.4.73,2.07,1.15a1.1,1.1,0,0,1,.36,1.52A1.09,1.09,0,0,1,38.28,5.74ZM18.71,3.07A1.11,1.11,0,0,1,18.4.89,23.22,23.22,0,0,1,20.7.35a1.1,1.1,0,0,1,1.3.88,1.12,1.12,0,0,1-.89,1.3c-.7.13-1.4.3-2.09.5A1.15,1.15,0,0,1,18.71,3.07Zm11.18-.55h-.2c-.7-.13-1.42-.23-2.13-.29A1.11,1.11,0,0,1,27.75,0c.78.07,1.57.18,2.34.32a1.11,1.11,0,0,1-.2,2.2Z"/></svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,92 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5155554mm"
height="4.5155554mm"
viewBox="0 0 15.999999 15.999999"
id="svg6224"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="users.svg">
<defs
id="defs6226" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="22.564605"
inkscape:cy="9.3957432"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata6229">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-263.42857,-432.93363)">
<g
style="display:inline"
id="g6234"
inkscape:label="avatar-default"
transform="translate(222.42837,95.933633)">
<rect
inkscape:label="a"
y="337"
x="41.000198"
height="16"
width="16"
id="rect20566"
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none" />
<g
id="g3938"
transform="translate(-577.9998,-648.3622)">
<path
sodipodi:nodetypes="csccsssscc"
inkscape:connector-curvature="0"
id="path3940-5"
d="m 629.55469,993.45593 c -0.70541,0.62353 -1.53918,0.90625 -2.55469,0.90625 -1.01551,0 -1.85318,-0.29053 -2.55859,-0.91406 -1.10938,0.36328 -2.43603,1.28775 -2.4375,2.90234 L 622,999.36218 c -7.2e-4,0.554 0.446,1.00002 1,1.00002 l 8,0 c 0.554,0 1,-0.44602 1,-1.00002 l 0,-3 c 0,-1.38672 -1.10231,-2.5558 -2.44531,-2.90625 z"
style="fill:#000000;fill-opacity:1;stroke:none" />
<circle
r="2.5"
cy="342.5"
cx="49.5"
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
id="path3942-6"
transform="matrix(1.2,0,0,1.2,567.6,579.36217)" />
</g>
</g>
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56.72 60.59"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M29.88,53.68h-.07a1.12,1.12,0,0,1-1-.77L28.19,51a.79.79,0,0,0-.75-.54H23.21a.78.78,0,0,0-.75.54l-.64,1.92a1.11,1.11,0,0,1-1,.76A1.08,1.08,0,0,1,19.76,53l-2.34-5a.79.79,0,0,0-.92-.43L4.8,50.67a6.79,6.79,0,0,0-2.92,1.64A1.11,1.11,0,0,1,.34,50.7a9.06,9.06,0,0,1,3.89-2.18l11.7-3.1a3,3,0,0,1,3.51,1.64l1.2,2.59a3,3,0,0,1,2.57-1.44h4.23A3,3,0,0,1,30,49.65l1.2-2.58a3,3,0,0,1,3.51-1.65l11.67,3.1a9.1,9.1,0,0,1,3.86,2.15,1.11,1.11,0,0,1-1.53,1.62,6.78,6.78,0,0,0-2.9-1.62l-11.67-3.1a.81.81,0,0,0-.92.43l-2.34,5A1.12,1.12,0,0,1,29.88,53.68Z"/><path class="cls-1" d="M25.29,44.43a12.78,12.78,0,0,1-5.11-1.06A22,22,0,0,1,14.53,40c-3-2.6-3.82-6.75-4-9a7.33,7.33,0,0,1-3.73-3.89,13,13,0,0,1-.38-4.36v-.11c0-.43,0-.9,0-1.39A4.46,4.46,0,0,1,7.7,18.08C7.07,12.38,7.07,9,7.68,7c1.25-4.06,5.79-5.68,9.61-5.55A10.32,10.32,0,0,1,22.94,0h1.13A36.48,36.48,0,0,1,35.76,1.53c3.12.86,8.14,4.12,7.13,16.29A5.83,5.83,0,0,1,44.19,21a15.8,15.8,0,0,1-.37,6.12A7.35,7.35,0,0,1,40.1,31c-.21,2.2-1,6.33-4.05,9a21.69,21.69,0,0,1-5.65,3.4A12.82,12.82,0,0,1,25.29,44.43ZM9.94,18.78a1.12,1.12,0,0,1-.34.56,2.4,2.4,0,0,0-1,1.91c0,.5,0,1,0,1.42v.11a12.13,12.13,0,0,0,.26,3.6A5.58,5.58,0,0,0,12,29.26a1.12,1.12,0,0,1,.67.95c.11,1.65.65,5.74,3.34,8.09a19.9,19.9,0,0,0,5.08,3,10.59,10.59,0,0,0,8.44,0,19.9,19.9,0,0,0,5.08-3c2.73-2.38,3.25-6.45,3.34-8.09a1.12,1.12,0,0,1,.67-.95,5.63,5.63,0,0,0,3.13-2.88,13.83,13.83,0,0,0,.24-5.2,3.58,3.58,0,0,0-1-2.2,1.34,1.34,0,0,1-.11-.14c-14.52-.14-19.58-2.25-21.3-3.93A18.34,18.34,0,0,1,9.94,18.78Zm11-5.72c.15.27,2.18,3.38,19.86,3.55.54-9.72-3.21-12.28-5.58-12.93a34.43,34.43,0,0,0-11-1.45H22.94a7.8,7.8,0,0,0-4.68,1.22,1.09,1.09,0,0,1-.74.21c-2.2-.16-6.64.47-7.71,4-.47,1.49-.48,4.42,0,8.94A16.49,16.49,0,0,0,19,12.43a1.11,1.11,0,0,1,1.88.63Zm0,.16Zm0,0Zm0,0h0Zm0,0Zm0,0Zm0,0Z"/><path class="cls-1" d="M49.13,60.59H1.74a1.12,1.12,0,0,1,0-2.23H49.13a1.12,1.12,0,0,1,0,2.23Z"/><path class="cls-1" d="M19.13,14s-5.64,2.5-4.75,3.12-5.87.62-5.87.62L8.14,8.5,10,5.37s3-2.32,1.88-1.75,5.65-1.68,5.65-1.68l3.84-.69,8.12-.12,8.37,2,4.49,5.59L42,15l-.25,3.21L27.13,16.61S21.21,14.5,21.63,15,19.13,14,19.13,14Z"/><path class="cls-1" d="M56.64,25.54a3.75,3.75,0,0,0-1-2.27c.87-9.22-2.69-11.64-4.93-12.26-1.94-.53-7.93-.82-9.21-1a26.29,26.29,0,0,1,.32,7.7h0c0,.16,0,.31,0,.47a4.75,4.75,0,0,1,1.34,2.89,15.26,15.26,0,0,1-.3,5.66A6.69,6.69,0,0,1,39,30.28c-.1,1.73-.66,6.19-3.72,8.86a17.68,17.68,0,0,1-3,2c.65.37,5.87.74,6.66,1.08a9.11,9.11,0,0,0,7.33,0,16.16,16.16,0,0,0,4.22-2.52c2.41-2.1,2.85-5.6,2.93-7A5.18,5.18,0,0,0,56.4,30,12,12,0,0,0,56.64,25.54Z"/><rect class="cls-1" x="18.67" y="25.63" width="3.87" height="2.26" rx="1.04" ry="1.04"/><rect class="cls-1" x="28.34" y="25.63" width="3.87" height="2.26" rx="1.04" ry="1.04"/></svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,86 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="4.5155554mm"
height="4.5155554mm"
viewBox="0 0 15.999999 15.999999"
id="svg6277"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="workflows.svg">
<defs
id="defs6279" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.4"
inkscape:cx="13.229018"
inkscape:cy="4.9245935"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1280"
inkscape:window-height="736"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata6282">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(319.42857,-518.64792)">
<g
style="display:inline"
inkscape:label="system-run"
id="g42953"
transform="translate(-360.42877,181.64792)">
<rect
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none"
id="rect42957"
width="16"
height="16"
x="41.000198"
y="337"
inkscape:label="a" />
<path
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
d="m 52.375,337.25 c -0.239942,0.43525 -0.467624,1.00577 -0.71875,1.4375 -0.09387,-0.007 -0.185709,-0.0313 -0.28125,-0.0313 -0.332255,0 -0.660088,0.0487 -0.96875,0.125 -0.305025,-0.3828 -0.630342,-0.89813 -0.9375,-1.28125 -0.284596,0.10504 -0.552268,0.22648 -0.8125,0.375 0.09593,0.48262 0.276896,1.07105 0.375,1.5625 -0.343004,0.24882 -0.626184,0.532 -0.875,0.875 -0.491453,-0.0981 -1.079882,-0.27907 -1.5625,-0.375 -0.148521,0.26023 -0.269963,0.5279 -0.375,0.8125 0.383118,0.30716 0.898446,0.63248 1.28125,0.9375 -0.07635,0.30866 -0.125,0.6365 -0.125,0.96875 0,0.0955 0.02466,0.18738 0.03125,0.28125 -0.431735,0.25113 -1.00225,0.47881 -1.4375,0.71875 0.05124,0.27476 0.128303,0.55374 0.21875,0.8125 0.491399,-0.01 1.099493,-0.0946 1.59375,-0.0937 0.187125,0.39176 0.420532,0.75381 0.71875,1.0625 -0.172042,0.46783 -0.448123,1.0086 -0.625,1.46875 0.212898,0.1757 0.449497,0.32623 0.6875,0.46875 0.369206,-0.32011 0.775422,-0.77147 1.15625,-1.09375 0.378045,0.17256 0.788621,0.26529 1.21875,0.3125 0.164542,0.47676 0.304284,1.08808 0.46875,1.5625 0.30154,-0.002 0.586801,-0.0141 0.875,-0.0625 0.08055,-0.49291 0.110368,-1.11855 0.1875,-1.625 0.410087,-0.11684 0.811342,-0.26698 1.15625,-0.5 0.424331,0.26446 0.898868,0.62889 1.3125,0.875 0.223737,-0.19067 0.43433,-0.40126 0.625,-0.625 -0.246108,-0.41363 -0.610541,-0.88817 -0.875,-1.3125 0.233016,-0.34491 0.383162,-0.74616 0.5,-1.15625 0.506449,-0.0771 1.132085,-0.10695 1.625,-0.1875 0.04835,-0.2882 0.06081,-0.57346 0.0625,-0.875 -0.474423,-0.16447 -1.085738,-0.30421 -1.5625,-0.46875 C 55.265292,341.78862 55.172555,341.37805 55,341 c 0.32228,-0.38083 0.773639,-0.78704 1.09375,-1.15625 -0.142521,-0.238 -0.293051,-0.4746 -0.46875,-0.6875 -0.460149,0.17688 -1.000924,0.45296 -1.46875,0.625 -0.308689,-0.29822 -0.670736,-0.53162 -1.0625,-0.71875 -8.87e-4,-0.49426 0.08396,-1.10235 0.09375,-1.59375 -0.258762,-0.0904 -0.537737,-0.16751 -0.8125,-0.21875 z m -1,3.40625 c 1.104569,0 2,0.89543 2,2 0,1.10457 -0.895431,2 -2,2 -1.104569,0 -2,-0.89543 -2,-2 0,-1.10457 0.895431,-2 2,-2 z"
id="path42961"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
d="m 64.6875,344.75 c -0.230139,0.0471 -0.443908,0.13096 -0.65625,0.21875 -0.01671,0.62433 0.08693,1.44177 -0.15625,1.65625 -0.238965,0.21077 -1.038358,0.0343 -1.65625,-0.0313 -0.131388,0.23649 -0.235259,0.48523 -0.3125,0.75 0.478093,0.39586 1.140508,0.83901 1.15625,1.15625 0.01594,0.32119 -0.626418,0.80489 -1.0625,1.25 0.103387,0.25783 0.250144,0.49354 0.40625,0.71875 0.608323,-0.12641 1.366392,-0.37354 1.625,-0.1875 0.263308,0.18942 0.265212,1.00535 0.34375,1.625 0.249548,0.075 0.512509,0.1045 0.78125,0.125 0.281352,-0.55462 0.567413,-1.3198 0.875,-1.40625 0.315752,-0.0887 0.963545,0.45813 1.5,0.78125 0.21871,-0.1516 0.412931,-0.33706 0.59375,-0.53125 -0.253838,-0.57232 -0.721084,-1.29192 -0.59375,-1.59375 0.127453,-0.30211 0.975404,-0.46963 1.5625,-0.6875 0.0044,-0.0735 0.03125,-0.14414 0.03125,-0.21875 0,-0.19137 -0.0344,-0.37899 -0.0625,-0.5625 -0.606097,-0.16082 -1.467207,-0.2413 -1.625,-0.53125 -0.156736,-0.28801 0.241786,-1.0614 0.4375,-1.65625 -0.201161,-0.17858 -0.419409,-0.33716 -0.65625,-0.46875 -0.500893,0.37513 -1.084329,0.99436 -1.40625,0.9375 -0.316887,-0.056 -0.662888,-0.81955 -1,-1.34375 -0.04019,0.007 -0.08527,-0.008 -0.125,0 z m 0.625,1.875 c 0.931981,0 1.6875,0.75552 1.6875,1.6875 0,0.93198 -0.755519,1.6875 -1.6875,1.6875 -0.931981,0 -1.6875,-0.75552 -1.6875,-1.6875 0,-0.93198 0.755519,-1.6875 1.6875,-1.6875 z"
transform="translate(-20,0)"
id="path42972" />
</g>
</g>
</svg>
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 43.16 44.71"><defs><style>.cls-1{fill:#242d3c;}</style></defs><title>Pictos_v3_EXPORT</title><path class="cls-1" d="M21.58,40.26a1.11,1.11,0,0,1-1.11-1.11V18.68a1.11,1.11,0,0,1,2.22,0V39.15A1.1,1.1,0,0,1,21.58,40.26Z"/><path class="cls-1" d="M37.63,40.22a1.12,1.12,0,0,1-1.12-1.11l0-10.19H6.67V39.11a1.11,1.11,0,0,1-2.22,0V27.81a1.12,1.12,0,0,1,1.11-1.12h32a1.11,1.11,0,0,1,1.11,1.11l0,11.3a1.12,1.12,0,0,1-1.11,1.12Z"/><path class="cls-1" d="M31.59,18.59V1.43A1.43,1.43,0,0,0,30.16,0H13a1.43,1.43,0,0,0-1.43,1.43V18.59A1.43,1.43,0,0,0,13,20H30.16A1.43,1.43,0,0,0,31.59,18.59ZM27.3,10a1.43,1.43,0,0,1-1.43,1.43H23V14.3a1.43,1.43,0,0,1-2.86,0V11.44H17.29a1.43,1.43,0,0,1,0-2.86h2.86V5.72a1.43,1.43,0,1,1,2.86,0V8.58h2.86A1.43,1.43,0,0,1,27.3,10Z"/><path class="cls-1" d="M10,44.71H1.11A1.11,1.11,0,0,1,0,43.6V34.7a1.11,1.11,0,0,1,1.11-1.11H10a1.11,1.11,0,0,1,1.11,1.11v8.9A1.11,1.11,0,0,1,10,44.71ZM2.22,42.49H8.9V35.81H2.22Z"/><path class="cls-1" d="M26,44.71h-8.9A1.11,1.11,0,0,1,16,43.6V34.7a1.11,1.11,0,0,1,1.11-1.11H26a1.11,1.11,0,0,1,1.11,1.11v8.9A1.11,1.11,0,0,1,26,44.71Zm-7.79-2.22h6.68V35.81H18.24Z"/><path class="cls-1" d="M42.05,44.71h-8.9A1.11,1.11,0,0,1,32,43.6V34.7a1.11,1.11,0,0,1,1.11-1.11h8.9a1.11,1.11,0,0,1,1.11,1.11v8.9A1.11,1.11,0,0,1,42.05,44.71Zm-7.79-2.22h6.68V35.81H34.26Z"/></svg>

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

17
inkscape_wrapper.py Executable file
View File

@ -0,0 +1,17 @@
#! /usr/bin/env python3
# inkscape wrapper to support command-line parameters for <1.0 and 1.0
# versions.
import subprocess
import sys
inkscape_version = subprocess.check_output('inkscape --version', shell=True)
args = sys.argv[1:]
if b'Inkscape 0' not in inkscape_version:
# --export-png replaced by --export-filename
# --without-gui and --file removed
args = [
x.replace('--export-png', '--export-filename') for x in args if x not in ('--without-gui', '--file')
]
sys.exit(subprocess.call(['inkscape'] + args))

115
pylint.rc Normal file
View File

@ -0,0 +1,115 @@
[MASTER]
persistent=yes
ignore=vendor,Bouncers,ezt.py
[MESSAGES CONTROL]
disable=
abstract-method,
arguments-differ,
attribute-defined-outside-init,
bad-super-call,
consider-using-f-string,
consider-using-set-comprehension,
consider-using-ternary,
cyclic-import,
duplicate-code,
exec-used,
fixme,
import-outside-toplevel,
inconsistent-return-statements,
invalid-name,
invalid-str-returned,
keyword-arg-before-vararg,
missing-class-docstring,
missing-function-docstring,
missing-module-docstring,
no-else-return,
no-member,
not-an-iterable,
protected-access,
raise-missing-from,
redefined-argument-from-local,
redefined-builtin,
redefined-outer-name,
superfluous-parens,
too-many-ancestors,
too-many-branches,
too-many-instance-attributes,
too-many-lines,
too-many-locals,
too-many-nested-blocks,
too-many-return-statements,
too-many-statements,
undefined-loop-variable,
unnecessary-lambda-assignment,
unspecified-encoding,
unsubscriptable-object,
unsupported-assignment-operation,
unsupported-membership-test,
unused-argument,
use-a-generator,
use-implicit-booleaness-not-comparison
[REPORTS]
output-format=parseable
[BASIC]
no-docstring-rgx=__.*__|_.*
class-rgx=[A-Z_][a-zA-Z0-9_]+$
function-rgx=[a-zA_][a-zA-Z0-9_]{2,70}$
method-rgx=[a-z_][a-zA-Z0-9_]{2,70}$
const-rgx=(([A-Z_][A-Z0-9_]*)|([a-z_][a-z0-9_]*)|(__.*__)|register|urlpatterns)$
good-names=_,i,j,k,e,x,Run,,setUp,tearDown,r,p,s,v,fd
[TYPECHECK]
# Tells whether missing members accessed in mixin class should be ignored. A
# mixin class is detected if its name ends with "mixin" (case insensitive).
ignore-mixin-members=yes
# List of classes names for which member attributes should not be checked
# (useful for classes with attributes dynamically set).
ignored-classes=SQLObject,WSGIRequest,Publisher,NullSessionManager
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E0201 when accessed.
generated-members=objects,DoesNotExist,id,pk,_meta,base_fields,context
# List of method names used to declare (i.e. assign) instance attributes
defining-attr-methods=__init__,__new__,setUp
[VARIABLES]
init-import=no
dummy-variables-rgx=_|dummy
additional-builtins=_,N_,ngettext
good-names=_,i,j,k,e,x,Run,,setUp,tearDown,r,p,s,v,fd
[SIMILARITIES]
min-similarity-lines=6
ignore-comments=yes
ignore-docstrings=yes
[MISCELLANEOUS]
notes=FIXME,XXX,TODO
[FORMAT]
max-line-length=160
max-module-lines=2000
indent-string=' '
[DESIGN]
max-args=10
max-locals=15
max-returns=6
max-branches=12
max-statements=50
max-parents=7
max-attributes=7
min-public-methods=0
max-public-methods=50

5
pylint.sh Executable file
View File

@ -0,0 +1,5 @@
#! /bin/bash
set -e -x
env
pylint -f parseable --rcfile pylint.rc "$@" | tee pylint.out || /bin/true

2
pytest.ini Normal file
View File

@ -0,0 +1,2 @@
[pytest]
DJANGO_SETTINGS_MODULE = tests.project.settings

159
setup.py
View File

@ -1,26 +1,27 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import os
import glob
import os
import re
import sys
import subprocess
import sys
import tempfile
import xml.etree.ElementTree as ET
from distutils.cmd import Command
from distutils.errors import CompileError
from distutils.spawn import find_executable
from setuptools.command.install_lib import install_lib as _install_lib
from distutils.command.build import build as _build
from distutils.command.sdist import sdist
from setuptools import setup, find_packages
from distutils.errors import CompileError
from distutils.spawn import find_executable
from setuptools import find_packages, setup
from setuptools.command.install_lib import install_lib as _install_lib
inkscape = os.path.abspath(os.path.join(os.path.dirname(__file__), 'inkscape_wrapper.py'))
class eo_sdist(sdist):
def run(self):
print("creating VERSION file")
print('creating VERSION file')
if os.path.exists('VERSION'):
os.remove('VERSION')
version = get_version()
@ -28,33 +29,35 @@ class eo_sdist(sdist):
version_file.write(version)
version_file.close()
sdist.run(self)
print("removing VERSION file")
print('removing VERSION file')
if os.path.exists('VERSION'):
os.remove('VERSION')
def get_version():
'''Use the VERSION, if absent generates a version with git describe, if not
tag exists, take 0.0- and add the length of the commit log.
tag exists, take 0.0- and add the length of the commit log.
'''
if os.path.exists('VERSION'):
with open('VERSION', 'r') as v:
with open('VERSION') as v:
return v.read()
if os.path.exists('.git'):
p = subprocess.Popen(['git','describe','--dirty=.dirty','--match=v*'],
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
p = subprocess.Popen(
['git', 'describe', '--dirty=.dirty', '--match=v*'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
result = p.communicate()[0]
if p.returncode == 0:
result = result.decode('ascii').strip()[1:] # strip spaces/newlines and initial v
if '-' in result: # not a tagged version
result = result.decode('ascii').strip()[1:] # strip spaces/newlines and initial v
if '-' in result: # not a tagged version
real_number, commit_count, commit_hash = result.split('-', 2)
version = '%s.post%s+%s' % (real_number, commit_count, commit_hash)
else:
version = result
version = result.replace('.dirty', '+dirty')
return version
else:
return '0.0.post%s' % len(
subprocess.check_output(
['git', 'rev-list', 'HEAD']).splitlines())
return '0.0.post%s' % len(subprocess.check_output(['git', 'rev-list', 'HEAD']).splitlines())
return '0.0'
@ -72,6 +75,7 @@ class compile_translations(Command):
curdir = os.getcwd()
try:
from django.core.management import call_command
for path, dirs, files in os.walk('gadjo'):
if 'locale' not in dirs:
continue
@ -96,12 +100,14 @@ class compile_scss(Command):
def run(self):
sass_bin = None
for program in ('sass', 'sassc'):
for program in ('sassc', 'sass'):
sass_bin = find_executable(program)
if sass_bin:
break
if not sass_bin:
raise CompileError('A sass compiler is required but none was found. See sass-lang.com for choices.')
raise CompileError(
'A sass compiler is required but none was found. See sass-lang.com for choices.'
)
for package in self.distribution.packages:
for package_path in __import__(package).__path__:
@ -111,10 +117,14 @@ class compile_scss(Command):
continue
if filename.startswith('_'):
continue
subprocess.check_call([sass_bin, '%s/%s' % (path, filename),
'%s/%s' % (path, filename.replace('.scss', '.css'))],
env={'LC_ALL': 'C.UTF-8'}
)
subprocess.check_call(
[
sass_bin,
'%s/%s' % (path, filename),
'%s/%s' % (path, filename.replace('.scss', '.css')),
],
env={'LC_ALL': 'C.UTF-8'},
)
class build_icons(Command):
@ -131,58 +141,66 @@ class build_icons(Command):
destpath = 'gadjo/static/css/icons/'
if not os.path.exists(destpath):
os.mkdir(destpath)
variants = {
'small': {'colour': 'e7e7e7', 'width': '20',
'css': 'ul#sidepage-menu li a.icon-%(name)s { background-image: url(icons/%(filename)s); }'},
'large': {'colour': 'e7e7e7', 'width': '80',
'css': 'ul.apps li.icon-%(name)s a { background-image: url(icons/%(filename)s); }'},
'large-hover': {'colour': 'bebebe', 'width': '80',
'css': 'ul.apps li.icon-%(name)s a:hover { background-image: url(icons/%(filename)s); }'},
variants_applications = {
'small': {'colour': '386ede', 'width': '40'},
'large': {'colour': 'e7e7e7', 'width': '80'},
'large-hover': {'colour': 'bebebe', 'width': '80'},
}
variants_actions = {
'small': {'colour': '386ede', 'width': '40'},
'small.white': {'colour': 'ffffff', 'width': '40'},
'hover': {'colour': '2b2b2b', 'width': '40'},
}
css_rules = []
for basepath, dirnames, filenames in os.walk('icons'):
for filename in filenames:
basename = os.path.splitext(filename)[0]
variants = variants_applications
if not filename.endswith('.svg'):
continue
if filename.startswith('action-'):
variants = variants_actions
for variant in variants:
dest_filename = '%s.%s.png' % (basename, variant)
destname = os.path.join(destpath, dest_filename)
self.generate(os.path.join(basepath, filename), destname,
**variants.get(variant))
css = variants.get(variant).get('css')
if css:
css_rules.append(css % {'name': basename, 'filename': dest_filename})
#print '\n'.join(sorted(css_rules))
self.generate(os.path.join(basepath, filename), destname, **variants.get(variant))
def generate(self, src, dest, colour, width, **kwargs):
if os.path.exists(dest) and os.stat(dest).st_mtime >= os.stat(src).st_mtime:
return
# default values
from PIL import Image
from PIL import PngImagePlugin
author = 'GNOME Project'
license = 'Creative Commons Attribution-Share Alike 3.0'
from PIL import Image, PngImagePlugin
license = 'Creative Commons Attribution-Share Alike 3.0'
if 'old-set' in src:
author = 'GNOME Project'
tree = ET.fromstring(open(src).read().replace('#000000', '#%s' % colour))
for elem in tree.findall('*'):
if not elem.attrib.get('style'):
elem.attrib['style'] = 'fill:#%s' % colour
else:
author = "J'articule"
tree = ET.fromstring(open(src).read())
for elem in tree.findall('{http://www.w3.org/2000/svg}defs/{http://www.w3.org/2000/svg}style'):
elem.text = elem.text.replace('242d3c', colour)
tree = ET.fromstring(open(src).read().replace('#000000', '#%s' % colour))
for elem in tree.findall('*'):
if not elem.attrib.get('style'):
elem.attrib['style'] = 'fill:#%s' % colour
for elem in tree.getchildren():
if elem.tag == '{http://www.w3.org/2000/svg}text' and elem.text.startswith('Created by'):
author = elem.text[len('Created by')+1:]
tree.remove(elem)
for elem in tree.getchildren():
if elem.tag == '{http://www.w3.org/2000/svg}text' and 'Noun Project' in elem.text:
tree.remove(elem)
f = tempfile.NamedTemporaryFile(suffix='.svg', delete=False)
f.write(ET.tostring(tree))
f.close()
subprocess.call(['inkscape', '--without-gui',
'--file', f.name,
'--export-area-drawing',
'--export-area-snap',
'--export-png', dest,
'--export-width', width])
subprocess.call(
[
inkscape,
'--without-gui',
'--file',
f.name,
'--export-area-drawing',
'--export-area-snap',
'--export-png',
dest,
'--export-width',
width,
]
)
# write down licensing info in the png file
meta = PngImagePlugin.PngInfo()
@ -192,9 +210,11 @@ class build_icons(Command):
class build(_build):
sub_commands = [('compile_translations', None),
('compile_scss', None),
('build_icons', None)] + _build.sub_commands
sub_commands = [
('compile_translations', None),
('compile_scss', None),
('build_icons', None),
] + _build.sub_commands
class install_lib(_install_lib):
@ -202,12 +222,12 @@ class install_lib(_install_lib):
self.run_command('compile_translations')
_install_lib.run(self)
setup(
name='gadjo',
version=get_version(),
license='AGPLv3 or later',
description='Django base template tailored for management interfaces',
long_description=open(os.path.join(os.path.dirname(__file__), 'README.txt')).read(),
url='https://dev.entrouvert.org/projects/gadjo/',
author='Frederic Peters',
author_email='fpeters@entrouvert.com',
@ -215,11 +235,11 @@ setup(
include_package_data=True,
install_requires=[
'XStatic',
'XStatic_Font_Awesome',
'XStatic_Font_Awesome<5',
'XStatic_jQuery',
'XStatic_jquery_ui',
'XStatic_OpenSans',
],
],
setup_requires=[
'Pillow',
],
@ -231,7 +251,6 @@ setup(
'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 3',
],
zip_safe=False,
@ -241,6 +260,6 @@ setup(
'compile_scss': compile_scss,
'compile_translations': compile_translations,
'install_lib': install_lib,
'sdist': eo_sdist
'sdist': eo_sdist,
},
)

0
tests/__init__.py Normal file
View File

Some files were not shown because too many files have changed in this diff Show More