diff --git a/.gitignore b/.gitignore index 5972a0f..6dc4bf3 100644 --- a/.gitignore +++ b/.gitignore @@ -30,5 +30,3 @@ api/.env # Claude settings .claude /.claude/* - -doc-conception.md diff --git a/public/assets/css/pagedjs-interface.css b/public/assets/css/pagedjs-interface.css index 2361147..c03eeb7 100644 --- a/public/assets/css/pagedjs-interface.css +++ b/public/assets/css/pagedjs-interface.css @@ -161,7 +161,7 @@ .element-selected { outline: 2px dashed #7136ff !important; - /* background-color: #7136ff1a !important; */ + background-color: #7136ff1a !important; } .element-hover-label { diff --git a/public/assets/css/src/_actions-btn.scss b/public/assets/css/src/_actions-btn.scss deleted file mode 100644 index d7ff436..0000000 --- a/public/assets/css/src/_actions-btn.scss +++ /dev/null @@ -1,178 +0,0 @@ -#actions-btn{ - -position: fixed; -bottom: 0.5rem; -left: 0rem; -padding: 2em; -width: calc(var(--panel-w) - 4em); - z-index: 1000; - --color-bg: var(--color-panel-bg); - --color-text: var(--color-interface-800); - - display: flex; - align-items: center; - // align-content: stretch; - gap: 1em; - // background-color: var(--color-panel-bg); - - button{ - color: var(--color-text); - - // font-size: 1.2rem; - font-family: var(--sans-serif); - height: calc(var(--input-h)*1.25); - padding: 0 1ch; - border: 1px solid currentColor; - border-radius: 5px; - font-weight: 500; - background-color: var(--color-panel-bg); - // width: 14ch; - - display: flex; - align-items: center; - // justify-content: center; - gap: 0.5ch; - margin-top: var(--space-xs); - cursor: pointer; - - - .icon{ - position: relative; - top: 2px; - } - svg{ - width: 20px; - height: 20px; - fill: var(--color-text); - } - - &.has-changes { -outline-offset: 2px; - outline: 3px solid rgb(247, 98, 98); - - } - } - - .error-tooltip{ - position: absolute; - top: 0em; - font-size: 10px; - max-width: 20ch; - color: rgb(247, 98, 98); - } - -} - - - - - -.last-saved{ - position: absolute; - padding-top: 0.75em; - font-size: 10px; - max-width: 20ch; - color: var(--color-interface-400); - - -} - - -.save-button-wrapper { - // position: fixed; - // top: 2rem; - // right: 5rem; - // z-index: 1000; - // display: flex; - // flex-direction: column; - // align-items: flex-end; - // gap: 0.5rem; -} - -// .save-btn { -// width: 3.5rem; -// height: 3.5rem; -// border-radius: 50%; -// border: none; -// background: var(--color-interface-300, #ccc); -// color: white; -// cursor: not-allowed; -// display: flex; -// align-items: center; -// justify-content: center; -// box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); -// transition: all 0.2s ease; -// position: relative; -// } - -// .save-btn.has-changes { -// background: var(--color-page-highlight, #ff8a50); -// cursor: pointer; -// } - -// .save-btn.has-changes:hover { -// transform: scale(1.1); -// box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3); -// } - -// .save-btn.is-saving { -// cursor: wait; -// } - -// .save-btn.has-error { -// background: #e74c3c; -// } - -// .save-btn.save-success { -// background: #2ecc71; -// } - -// .save-icon, -// .success-icon { -// width: 1.5rem; -// height: 1.5rem; -// } - -.spinner { - width: 1.5rem; - height: 1.5rem; - border-radius: 50%; - border-top: 2px solid white; - border-right: 2px solid transparent; - animation: rotation 1s linear infinite; -} - -@keyframes rotation { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} - -// .last-saved { -// font-size: 0.75rem; -// color: var(--color-interface-600, #666); -// background: white; -// padding: 0.25rem 0.5rem; -// border-radius: 0.25rem; -// box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); -// white-space: nowrap; -// } - -// .error-tooltip { -// position: absolute; -// top: calc(100% + 0.5rem); -// right: 0; -// background: #e74c3c; -// color: white; -// padding: 0.5rem 0.75rem; -// border-radius: 0.25rem; -// font-size: 0.875rem; -// white-space: nowrap; -// box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); -// max-width: 15rem; -// word-wrap: break-word; -// white-space: normal; -// } \ No newline at end of file diff --git a/public/assets/css/src/_buttons.scss b/public/assets/css/src/_buttons.scss new file mode 100644 index 0000000..33cf881 --- /dev/null +++ b/public/assets/css/src/_buttons.scss @@ -0,0 +1,60 @@ + +.unit-toggle{ + button:not(.spinner-btn) { + cursor: pointer; + + border: 1px solid var(--color-interface-400); + color: var(--color-interface-400); + background-color: var(--color-panel-bg); + border-radius: var(--border-radius); + padding: 0.1rem 0.3rem; + height: calc(var(--input-h)*0.75); + + + &:not(.active):hover{ + background-color: var(--color-interface-100); + } + + &.active { + // border: 1px solid var(--color-interface-700); + color: var(--color-interface-050); + background-color: var(--color-interface-500); + cursor: auto; + } + + + } +} + + +#editor-panel .tabs{ + .tab{ + color: var(--color-interface-600); + font-size: 1rem; + font-family: var(--sans-serif); + height: var(--input-h); + padding: 0 1ch; + border: 1px solid currentColor; + border-radius: calc(var(--input-h)); + font-weight: 500; + background-color: var(--color-panel-bg); + + &.active{ + background-color: var(--color-interface-400); + border-color: var(--color-interface-400); + color: var(--color-panel-bg); + } + + &:not(.active):hover{ + cursor: pointer; + background-color: var(--color-interface-100); + } + } + // .tab { + // &.active { + // background-color: var(--color-txt); + // color: #fff; + // border: none; + // } + // } +} diff --git a/public/assets/css/src/_colors.scss b/public/assets/css/src/_colors.scss index 41c7892..3bd46fd 100644 --- a/public/assets/css/src/_colors.scss +++ b/public/assets/css/src/_colors.scss @@ -91,7 +91,7 @@ } -[data-color-type="text"]{ +[data-color-type="elem"]{ --color-050: #f4f0ff; --color-100: #e7e1ff; --color-200: #dacfff; diff --git a/public/assets/css/src/_forms-section.scss b/public/assets/css/src/_forms-section.scss new file mode 100644 index 0000000..a9cae5d --- /dev/null +++ b/public/assets/css/src/_forms-section.scss @@ -0,0 +1,34 @@ +.settings-section { + margin: var(--space-m) 0; + + h2 { + margin-bottom: var(--space); + + font-weight: 600; + font-size: 1.4rem; + + border-bottom: 1px solid var(--color-200); + color: var(--color-800); + } + + .infos { + font-size: 0.8rem; + color: var(--color-interface-400); + } +} + +.settings-subsection:not(:last-child) { + border-bottom: 1px solid var(--color-interface-100); +} + +.settings-subsection { + padding: var(--space-xs) 0; + + h3 { + margin-top: calc(var(--space-xs) * 1.5); + margin-bottom: calc(var(--space-xs) * 2); + // color: var(--color-600); + font-size: 1rem; + font-weight: 600; + } +} diff --git a/public/assets/css/src/_forms.scss b/public/assets/css/src/_forms.scss index 097184b..b472c84 100644 --- a/public/assets/css/src/_forms.scss +++ b/public/assets/css/src/_forms.scss @@ -8,71 +8,119 @@ input[type="number"] { color: var(--color-txt); font-size: 1rem; padding-left: 0.5ch; - padding-right: 0.5ch; + // min-width: var(--input-w); + // width: 100%; + // padding: 0 1ch; } -input[type="number"]{ - padding-left: 0.75ch; -} - -select{ - flex-grow: 1; - width: 100%; -} - -.input-with-unit{ - +.field { display: flex; - align-items: center; - gap: 0.5ch; - input[type="range"]{ - flex-grow: 1; - margin-right: 1ch; + label { + font-weight: 600; + color: var(--color-800); } - .number-input{ - --input-w: 4ch; - flex-grow: 1; - max-width: calc(var(--input-w)*1.75); - display: flex; - align-items: center; - - .number-input{ - flex-grow: 1; - display: flex; - align-items: center; - - - } - input[type="number"]{ - width: var(--input-w); - padding-right: calc(var(--input-w)*0.5); - - } - } - - .unit-toggle{ + .input-with-unit { display: flex; + gap: 0.3rem; + } + + .unit-toggle { + height: var(--input-h); + display: flex; + gap: 0.3rem; align-items: center; - gap: 0.25ch; - - } - -} - -.field-checkbox{ - display: flex; - align-items: center; - gap: 0.5ch; - input[type="checkbox"]{ - accent-color: var(--color-interface-800); } + .input-with-color { + width: 100%; + .clr-field { + width: 100%; + display: grid; + grid-template-columns: var(--input-h) 1fr; + grid-gap: 1ch; + button { + grid-column: 1; + position: relative; + border-radius: var(--border-radius); + cursor: pointer; + pointer-events: auto; + } + input { + grid-column: 2; + } + } + } } +.field { + display: grid; + grid-template-columns: var(--label-w) 1fr; + label { + align-self: center; + } +} -/* Label with tooltip ---------------------------------------------- */ +.field-font { + display: grid; + grid-template-columns: var(--label-w) 1fr; + grid-template-rows: var(--input-h) var(--input-h); + + select { + width: 100%; + } + .field-checkbox { + grid-column: 2; + padding-top: var(--space-xs); + label { + font-weight: 400; + margin-left: 0.75ch; + color: var(--color-txt); + } + } +} + +.field-text-size { + input[type="number"] { + width: var(--input-w-small); + padding-left: 0.75ch; + } + input[type="range"] { + flex-grow: 2; + flex-shrink: 2; + } +} + +.field-margin, +.field-size { + display: inline-grid; + width: calc(50% - 1ch); + grid-template-columns: 6.5ch var(--input-w-small) 1fr; + margin-bottom: var(--space-xs); + input { + width: var(--input-w-small); + padding-left: 0.75ch; + } + &:nth-of-type(odd) { + margin-right: 2ch; + } +} + +.checkbox-field { + margin: calc(var(--space-xs) * 2) 0; + grid-template-columns: 3ch 1fr; + input { + justify-self: left; + margin: 0; + } +} + +.field--view-only { + opacity: 0.3; +} + +/* Label with CSS tooltip */ .label-with-tooltip { text-decoration: underline dotted 1px var(--color-200); text-underline-offset: 2px; @@ -106,82 +154,9 @@ select{ } } +// INPUT NUMBER =============================================== -// INPUT COLOR ------------------------------------------------ - -.input-with-color { - width: 100%; - .clr-field { - width: 100%; - display: grid; - grid-template-columns: var(--input-h) minmax(0, 1fr); - grid-gap: 1ch; - button { - grid-column: 1; - position: relative; - border-radius: var(--border-radius); - cursor: pointer; - pointer-events: auto; - } - input { - grid-column: 2; - } - } - } - - -// INPUT RANGE --------------------------------------------- - -input[type="range"] { - -webkit-appearance: none; - appearance: none; - background: transparent; - cursor: pointer; - - &::-webkit-slider-runnable-track { - height: 6px; - background: linear-gradient(to right, var(--color-interface-400) var(--progress, 0%), var(--color-interface-200) var(--progress, 0%)); - border: none; - border-radius: 2px; - } - &::-moz-range-track { - height: 6px; - background: linear-gradient(to right, var(--color-interface-400) var(--progress, 0%), var(--color-interface-200) var(--progress, 0%)); - border: none; - border-radius: 2px; - } - - - &::-moz-range-progress { - height: 6px; - background: var(--color-interface-400); - border: none; - border-radius: 2px; - } - - // Thumb - &::-webkit-slider-thumb { - -webkit-appearance: none; - appearance: none; - width: 14px; - height: 14px; - background: var(--color-interface-900); - border: none; - border-radius: 3px; - margin-top: -5px; - } - &::-moz-range-thumb { - width: 14px; - height: 14px; - background: var(--color-interface-900); - border: none; - border-radius: 3px; - } -} - -// INPUT NUMBER --------------------------------------------- - -// disable natif +// Masquer les spinners natifs partout input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; @@ -195,6 +170,7 @@ input[type="number"] { .number-input { position: relative; + // padding: 0 1ch!important; input { padding-top: 0; padding-bottom: 0; @@ -233,3 +209,66 @@ input[type="number"] { } } } +// Composant NumberInput avec boutons personnalisés +// .number-input { +// position: relative; +// display: flex; +// align-items: center; +// width: 100%; +// position: relative; + +// input[type="number"] { +// width: 100%; +// box-sizing: border-box; +// } + +// .spinner-buttons { +// background-color: red; +// position: absolute; +// right: 1px; +// top: 1px; +// bottom: 1px; +// display: flex; +// flex-direction: column; +// justify-content: center; +// gap: 1px; +// z-index: 10; + +// .spinner-btn { +// display: flex; +// align-items: center; +// justify-content: center; +// width: 20px; +// height: 10px; +// padding: 0; +// margin: 0; +// background-color: var(--color-interface-200); +// border: 1px solid var(--color-interface-300); +// border-radius: 2px; +// cursor: pointer; +// transition: background-color 0.15s ease; +// color: var(--color-interface-700); +// line-height: 0; + +// svg { +// width: 8px; +// height: 6px; +// display: block; +// } + +// &:hover:not(:disabled) { +// background-color: var(--color-interface-300); +// color: var(--color-interface-900); +// } + +// &:active:not(:disabled) { +// background-color: var(--color-interface-400); +// } + +// &:disabled { +// opacity: 0.3; +// cursor: not-allowed; +// } +// } +// } +// } diff --git a/public/assets/css/src/_panel-settings.scss b/public/assets/css/src/_panel-settings.scss deleted file mode 100644 index 67730b8..0000000 --- a/public/assets/css/src/_panel-settings.scss +++ /dev/null @@ -1,75 +0,0 @@ -.panel-settings__container { - // margin-top: var(--space-m); - margin-bottom: var(--space-s); - - border: 1px solid var(--color-300); - border-radius: var(--border-radius); - padding: var(--space-s); - - .settings__header { - display: flex; - align-items: center; - gap: var(--space-xs); - margin-bottom: var(--space-s); - - - .icon { - position: relative; - top: 2px; - - svg { - width: 20px; - height: 20px; - fill: var(--color-600); - } - } - - .title { - font-size: 1.2rem; - color: var(--color-600); - } - - } - - - .setting__section { - .setting__header { - color: var(--color-600); - } - } - - .setting__section[data-setting="format"] { - border-bottom: none; - padding-bottom: var(--space-xs); - - } - - .setting__section[data-setting="dimensions"] { - border-top: none; - padding-top: 0; - - .setting__header { - display: none; - } - - .setting__body { - grid-column: 2; - width: 0; - display: flex; - gap: var(--space-s); - - .field-size-page { - display: flex; - align-items: center; - justify-content: space-between; - gap: var(--space-xs); - - } - } - - .field-size-page:first-of-type .unit-toggle { - display: none; - } - - } -} \ No newline at end of file diff --git a/public/assets/css/src/_panel-tabs.scss b/public/assets/css/src/_panel-tabs.scss deleted file mode 100644 index bbe2a71..0000000 --- a/public/assets/css/src/_panel-tabs.scss +++ /dev/null @@ -1,26 +0,0 @@ - - -#editor-panel .tabs{ - .tab{ - color: var(--color-interface-600); - font-size: 1rem; - font-family: var(--sans-serif); - height: var(--input-h); - padding: 0 1ch; - border: 1px solid currentColor; - border-radius: calc(var(--input-h)); - font-weight: 500; - background-color: var(--color-panel-bg); - - &.active{ - background-color: var(--color-interface-400); - border-color: var(--color-interface-400); - color: var(--color-panel-bg); - } - - &:not(.active):hover{ - cursor: pointer; - background-color: var(--color-interface-100); - } - } -} diff --git a/public/assets/css/src/_setting__section.scss b/public/assets/css/src/_setting__section.scss deleted file mode 100644 index eeeb346..0000000 --- a/public/assets/css/src/_setting__section.scss +++ /dev/null @@ -1,133 +0,0 @@ -.setting__section{ - display: grid; - grid-template-columns: 17ch 1fr; - padding: var(--space-s) 0; - - &:not(:last-child) { - border-bottom: 1px solid var(--color-interface-100); -} - - .setting__header{ - height: var(--input-h); - display: flex; - align-items: center; - gap: 1ch; - align-self: start; - - - .label-with-tooltip{ - font-weight: bold; - } - } - - .info-default{ - font-size: 0.7rem; - color: var(--color-interface-500); - margin: 0; - grid-column: 2; - padding-top: 4px; - - } - - -.unit-toggle{ - button:not(.spinner-btn) { - cursor: pointer; - - border: 1px solid var(--color-interface-400); - color: var(--color-interface-400); - background-color: var(--color-panel-bg); - border-radius: var(--border-radius); - padding: 0.1rem 0.3rem; - height: calc(var(--input-h)*0.75); - - - &:not(.active):hover{ - background-color: var(--color-interface-100); - } - - &.active { - // border: 1px solid var(--color-interface-700); - color: var(--color-interface-050); - background-color: var(--color-interface-500); - cursor: auto; - } - - - } -} - - - -} - -.setting-disabled .setting__body { - opacity: 0.4; - pointer-events: none; -} - - -.setting__section[data-setting="font"] { - .setting__body{ - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); - column-gap: 1ch; - margin-bottom: var(--space-xs); - - select{ - grid-column: span 2; - margin-bottom: var(--space-xs); - } - -} - -} - -.setting__section[data-setting="textDecoration"], -.setting__section[data-setting="border"] { - .setting__body{ - padding-top: 4px; - } - .field__option{ - display: grid; - width: 100%; - grid-template-columns: 9ch minmax(0, 1fr); - margin-bottom: var(--space-xs); - } -} - - -.setting__section[data-setting="margin"], -.setting__section[data-setting="padding"]{ - display: block; - - .setting__header{ - margin-bottom: var(--space-s); - .label-with-tooltip{ - flex-grow: 1; - } - - .lock-toggle svg{ - color: var(--color-interface-400); - } - .lock-toggle.locked svg{ - color: var(--color-interface-800); - } - } - - .setting__body{ - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); - grid-row-gap: var(--space-xs); - grid-column-gap: var(--space-m); - } - - .field-margin{ - display: flex; - align-items: center; - .label-with-tooltip{ - flex-grow: 1; - align-items: center; - } - } -} \ No newline at end of file diff --git a/public/assets/css/src/_settings-popup.scss b/public/assets/css/src/_settings-popup.scss index 123ed9e..1cc55dc 100644 --- a/public/assets/css/src/_settings-popup.scss +++ b/public/assets/css/src/_settings-popup.scss @@ -1,3 +1,4 @@ +// Common styles for ElementPopup and PagePopup components .settings-popup { position: fixed; @@ -49,11 +50,11 @@ background-color: var(--color-panel-bg); } -// .setting__section h4 { -// margin: 0 0 0.5rem 0; -// font-size: 0.875rem; -// font-weight: 600; -// } +.settings-subsection h4 { + margin: 0 0 0.5rem 0; + font-size: 0.875rem; + font-weight: 600; +} // Label with CSS tooltip // .label-with-tooltip { @@ -90,27 +91,27 @@ // } // Inheritance lock/unlock button -// .inheritance-btn { -// display: flex; -// align-items: center; -// gap: 0.5rem; -// padding: 0; -// background: transparent; -// border: none; -// cursor: pointer; -// font-size: 0.875rem; -// color: #666; -// transition: color 0.2s; +.inheritance-btn { + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0; + background: transparent; + border: none; + cursor: pointer; + font-size: 0.875rem; + color: #666; + transition: color 0.2s; -// &:hover { -// color: #333; -// } + &:hover { + color: #333; + } -// svg { -// width: 1.25rem; -// height: 1.25rem; -// } -// } + svg { + width: 1.25rem; + height: 1.25rem; + } +} // CSS Editor panel .popup-css { diff --git a/public/assets/css/src/_toggle-setting.scss b/public/assets/css/src/_toggle-setting.scss deleted file mode 100644 index 5871089..0000000 --- a/public/assets/css/src/_toggle-setting.scss +++ /dev/null @@ -1,38 +0,0 @@ -.toggle-setting { - position: absolute; - opacity: 0; - width: 0; - height: 0; - -} - -.toggle-setting + label { - position: relative; - display: inline-block; - width: 24px; - height: 14px; - background: #ccc; - border-radius: 18px; - transition: background 0.2s ease; - cursor: pointer; - - &::after { - content: ""; - position: absolute; - top: 2px; - left: 2px; - width: 10px; - height: 10px; - background: white; - border-radius: 50%; - transition: transform 0.2s ease; - } -} - -.toggle-setting:checked + label{ - background: var(--color-purple); - - &::after { - transform: translateX(10px); - } -} \ No newline at end of file diff --git a/public/assets/css/src/_variables.scss b/public/assets/css/src/_variables.scss index 9156d46..a9667b8 100644 --- a/public/assets/css/src/_variables.scss +++ b/public/assets/css/src/_variables.scss @@ -5,6 +5,10 @@ --color-browngray-050: #f5f3f0; --color-browngray-200: #d0c4ba; + + + + --color-txt: var(--color-interface-900); --color-panel-bg: var(--color-interface-050); @@ -31,6 +35,6 @@ --label-w: 18ch; font-size: 14px; - --panel-w: 560px; + --panel-w: 540px; --panel-nav-h: 60px; } diff --git a/public/assets/css/style.css b/public/assets/css/style.css index 091e050..91c2e11 100644 --- a/public/assets/css/style.css +++ b/public/assets/css/style.css @@ -176,7 +176,7 @@ --color-900: #d96a30; } -[data-color-type=text] { +[data-color-type=elem] { --color-050: #f4f0ff; --color-100: #e7e1ff; --color-200: #dacfff; @@ -241,7 +241,7 @@ img { --input-w-small: 45px; --label-w: 18ch; font-size: 14px; - --panel-w: 560px; + --panel-w: 540px; --panel-nav-h: 60px; } @@ -269,61 +269,6 @@ h2 { string-set: title content(text); } -.panel-settings__container { - margin-bottom: var(--space-s); - border: 1px solid var(--color-300); - border-radius: var(--border-radius); - padding: var(--space-s); -} -.panel-settings__container .settings__header { - display: flex; - align-items: center; - gap: var(--space-xs); - margin-bottom: var(--space-s); -} -.panel-settings__container .settings__header .icon { - position: relative; - top: 2px; -} -.panel-settings__container .settings__header .icon svg { - width: 20px; - height: 20px; - fill: var(--color-600); -} -.panel-settings__container .settings__header .title { - font-size: 1.2rem; - color: var(--color-600); -} -.panel-settings__container .setting__section .setting__header { - color: var(--color-600); -} -.panel-settings__container .setting__section[data-setting=format] { - border-bottom: none; - padding-bottom: var(--space-xs); -} -.panel-settings__container .setting__section[data-setting=dimensions] { - border-top: none; - padding-top: 0; -} -.panel-settings__container .setting__section[data-setting=dimensions] .setting__header { - display: none; -} -.panel-settings__container .setting__section[data-setting=dimensions] .setting__body { - grid-column: 2; - width: 0; - display: flex; - gap: var(--space-s); -} -.panel-settings__container .setting__section[data-setting=dimensions] .setting__body .field-size-page { - display: flex; - align-items: center; - justify-content: space-between; - gap: var(--space-xs); -} -.panel-settings__container .setting__section[data-setting=dimensions] .field-size-page:first-of-type .unit-toggle { - display: none; -} - select, input[type=text], input[type=number] { @@ -334,59 +279,111 @@ input[type=number] { color: var(--color-txt); font-size: 1rem; padding-left: 0.5ch; - padding-right: 0.5ch; } -input[type=number] { - padding-left: 0.75ch; +.field { + display: flex; } - -select { - flex-grow: 1; +.field label { + font-weight: 600; + color: var(--color-800); +} +.field .input-with-unit { + display: flex; + gap: 0.3rem; +} +.field .unit-toggle { + height: var(--input-h); + display: flex; + gap: 0.3rem; + align-items: center; +} +.field .input-with-color { width: 100%; } - -.input-with-unit { - display: flex; - align-items: center; - gap: 0.5ch; +.field .input-with-color .clr-field { + width: 100%; + display: grid; + grid-template-columns: var(--input-h) 1fr; + grid-gap: 1ch; } -.input-with-unit input[type=range] { - flex-grow: 1; - margin-right: 1ch; +.field .input-with-color .clr-field button { + grid-column: 1; + position: relative; + border-radius: var(--border-radius); + cursor: pointer; + pointer-events: auto; } -.input-with-unit .number-input { - --input-w: 4ch; - flex-grow: 1; - max-width: calc(var(--input-w) * 1.75); - display: flex; - align-items: center; -} -.input-with-unit .number-input .number-input { - flex-grow: 1; - display: flex; - align-items: center; -} -.input-with-unit .number-input input[type=number] { - width: var(--input-w); - padding-right: calc(var(--input-w) * 0.5); -} -.input-with-unit .unit-toggle { - display: flex; - align-items: center; - gap: 0.25ch; +.field .input-with-color .clr-field input { + grid-column: 2; } -.field-checkbox { - display: flex; - align-items: center; - gap: 0.5ch; +.field { + display: grid; + grid-template-columns: var(--label-w) 1fr; } -.field-checkbox input[type=checkbox] { - accent-color: var(--color-interface-800); +.field label { + align-self: center; } -/* Label with tooltip ---------------------------------------------- */ +.field-font { + display: grid; + grid-template-columns: var(--label-w) 1fr; + grid-template-rows: var(--input-h) var(--input-h); +} +.field-font select { + width: 100%; +} +.field-font .field-checkbox { + grid-column: 2; + padding-top: var(--space-xs); +} +.field-font .field-checkbox label { + font-weight: 400; + margin-left: 0.75ch; + color: var(--color-txt); +} + +.field-text-size input[type=number] { + width: var(--input-w-small); + padding-left: 0.75ch; +} +.field-text-size input[type=range] { + flex-grow: 2; + flex-shrink: 2; +} + +.field-margin, +.field-size { + display: inline-grid; + width: calc(50% - 1ch); + grid-template-columns: 6.5ch var(--input-w-small) 1fr; + margin-bottom: var(--space-xs); +} +.field-margin input, +.field-size input { + width: var(--input-w-small); + padding-left: 0.75ch; +} +.field-margin:nth-of-type(odd), +.field-size:nth-of-type(odd) { + margin-right: 2ch; +} + +.checkbox-field { + margin: calc(var(--space-xs) * 2) 0; + grid-template-columns: 3ch 1fr; +} +.checkbox-field input { + justify-self: left; + margin: 0; +} + +.field--view-only { + opacity: 0.3; +} + +/* Label with CSS tooltip */ .label-with-tooltip { -webkit-text-decoration: underline dotted 1px var(--color-200); text-decoration: underline dotted 1px var(--color-200); @@ -417,69 +414,6 @@ select { visibility: visible; } -.input-with-color { - width: 100%; -} -.input-with-color .clr-field { - width: 100%; - display: grid; - grid-template-columns: var(--input-h) minmax(0, 1fr); - grid-gap: 1ch; -} -.input-with-color .clr-field button { - grid-column: 1; - position: relative; - border-radius: var(--border-radius); - cursor: pointer; - pointer-events: auto; -} -.input-with-color .clr-field input { - grid-column: 2; -} - -input[type=range] { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background: transparent; - cursor: pointer; -} -input[type=range]::-webkit-slider-runnable-track { - height: 6px; - background: linear-gradient(to right, var(--color-interface-400) var(--progress, 0%), var(--color-interface-200) var(--progress, 0%)); - border: none; - border-radius: 2px; -} -input[type=range]::-moz-range-track { - height: 6px; - background: linear-gradient(to right, var(--color-interface-400) var(--progress, 0%), var(--color-interface-200) var(--progress, 0%)); - border: none; - border-radius: 2px; -} -input[type=range]::-moz-range-progress { - height: 6px; - background: var(--color-interface-400); - border: none; - border-radius: 2px; -} -input[type=range]::-webkit-slider-thumb { - -webkit-appearance: none; - appearance: none; - width: 14px; - height: 14px; - background: var(--color-interface-900); - border: none; - border-radius: 3px; - margin-top: -5px; -} -input[type=range]::-moz-range-thumb { - width: 14px; - height: 14px; - background: var(--color-interface-900); - border: none; - border-radius: 3px; -} - input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; @@ -522,6 +456,53 @@ input[type=number] { .number-input .spinner-buttons button:hover svg path { fill: var(--color-interface-900); } +.settings-section { + margin: var(--space-m) 0; +} +.settings-section h2 { + margin-bottom: var(--space); + font-weight: 600; + font-size: 1.4rem; + border-bottom: 1px solid var(--color-200); + color: var(--color-800); +} +.settings-section .infos { + font-size: 0.8rem; + color: var(--color-interface-400); +} + +.settings-subsection:not(:last-child) { + border-bottom: 1px solid var(--color-interface-100); +} + +.settings-subsection { + padding: var(--space-xs) 0; +} +.settings-subsection h3 { + margin-top: calc(var(--space-xs) * 1.5); + margin-bottom: calc(var(--space-xs) * 2); + font-size: 1rem; + font-weight: 600; +} + +.unit-toggle button:not(.spinner-btn) { + cursor: pointer; + border: 1px solid var(--color-interface-400); + color: var(--color-interface-400); + background-color: var(--color-panel-bg); + border-radius: var(--border-radius); + padding: 0.1rem 0.3rem; + height: calc(var(--input-h) * 0.75); +} +.unit-toggle button:not(.spinner-btn):not(.active):hover { + background-color: var(--color-interface-100); +} +.unit-toggle button:not(.spinner-btn).active { + color: var(--color-interface-050); + background-color: var(--color-interface-500); + cursor: auto; +} + #editor-panel .tabs .tab { color: var(--color-interface-600); font-size: 1rem; @@ -543,116 +524,6 @@ input[type=number] { background-color: var(--color-interface-100); } -#actions-btn { - position: fixed; - bottom: 0.5rem; - left: 0rem; - padding: 2em; - width: calc(var(--panel-w) - 4em); - z-index: 1000; - --color-bg: var(--color-panel-bg); - --color-text: var(--color-interface-800); - display: flex; - align-items: center; - gap: 1em; -} -#actions-btn button { - color: var(--color-text); - font-family: var(--sans-serif); - height: calc(var(--input-h) * 1.25); - padding: 0 1ch; - border: 1px solid currentColor; - border-radius: 5px; - font-weight: 500; - background-color: var(--color-panel-bg); - display: flex; - align-items: center; - gap: 0.5ch; - margin-top: var(--space-xs); - cursor: pointer; -} -#actions-btn button .icon { - position: relative; - top: 2px; -} -#actions-btn button svg { - width: 20px; - height: 20px; - fill: var(--color-text); -} -#actions-btn button.has-changes { - outline-offset: 2px; - outline: 3px solid rgb(247, 98, 98); -} -#actions-btn .error-tooltip { - position: absolute; - top: 0em; - font-size: 10px; - max-width: 20ch; - color: rgb(247, 98, 98); -} - -.last-saved { - position: absolute; - padding-top: 0.75em; - font-size: 10px; - max-width: 20ch; - color: var(--color-interface-400); -} - -.spinner { - width: 1.5rem; - height: 1.5rem; - border-radius: 50%; - border-top: 2px solid white; - border-right: 2px solid transparent; - animation: rotation 1s linear infinite; -} - -@keyframes rotation { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -.toggle-setting { - position: absolute; - opacity: 0; - width: 0; - height: 0; -} - -.toggle-setting + label { - position: relative; - display: inline-block; - width: 24px; - height: 14px; - background: #ccc; - border-radius: 18px; - transition: background 0.2s ease; - cursor: pointer; -} -.toggle-setting + label::after { - content: ""; - position: absolute; - top: 2px; - left: 2px; - width: 10px; - height: 10px; - background: white; - border-radius: 50%; - transition: transform 0.2s ease; -} - -.toggle-setting:checked + label { - background: var(--color-purple); -} -.toggle-setting:checked + label::after { - transform: translateX(10px); -} - .settings-popup { position: fixed; background: white; @@ -703,6 +574,32 @@ input[type=number] { background-color: var(--color-panel-bg); } +.settings-subsection h4 { + margin: 0 0 0.5rem 0; + font-size: 0.875rem; + font-weight: 600; +} + +.inheritance-btn { + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0; + background: transparent; + border: none; + cursor: pointer; + font-size: 0.875rem; + color: #666; + transition: color 0.2s; +} +.inheritance-btn:hover { + color: #333; +} +.inheritance-btn svg { + width: 1.25rem; + height: 1.25rem; +} + .popup-css { flex: 1; background: #f5f5f5; @@ -793,116 +690,6 @@ input[type=number] { outline: none; } -.setting__section { - display: grid; - grid-template-columns: 17ch 1fr; - padding: var(--space-s) 0; -} -.setting__section:not(:last-child) { - border-bottom: 1px solid var(--color-interface-100); -} -.setting__section .setting__header { - height: var(--input-h); - display: flex; - align-items: center; - gap: 1ch; - align-self: start; -} -.setting__section .setting__header .label-with-tooltip { - font-weight: bold; -} -.setting__section .info-default { - font-size: 0.7rem; - color: var(--color-interface-500); - margin: 0; - grid-column: 2; - padding-top: 4px; -} -.setting__section .unit-toggle button:not(.spinner-btn) { - cursor: pointer; - border: 1px solid var(--color-interface-400); - color: var(--color-interface-400); - background-color: var(--color-panel-bg); - border-radius: var(--border-radius); - padding: 0.1rem 0.3rem; - height: calc(var(--input-h) * 0.75); -} -.setting__section .unit-toggle button:not(.spinner-btn):not(.active):hover { - background-color: var(--color-interface-100); -} -.setting__section .unit-toggle button:not(.spinner-btn).active { - color: var(--color-interface-050); - background-color: var(--color-interface-500); - cursor: auto; -} - -.setting-disabled .setting__body { - opacity: 0.4; - pointer-events: none; -} - -.setting__section[data-setting=font] .setting__body { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); - -moz-column-gap: 1ch; - column-gap: 1ch; - margin-bottom: var(--space-xs); -} -.setting__section[data-setting=font] .setting__body select { - grid-column: span 2; - margin-bottom: var(--space-xs); -} - -.setting__section[data-setting=textDecoration] .setting__body, -.setting__section[data-setting=border] .setting__body { - padding-top: 4px; -} -.setting__section[data-setting=textDecoration] .field__option, -.setting__section[data-setting=border] .field__option { - display: grid; - width: 100%; - grid-template-columns: 9ch minmax(0, 1fr); - margin-bottom: var(--space-xs); -} - -.setting__section[data-setting=margin], -.setting__section[data-setting=padding] { - display: block; -} -.setting__section[data-setting=margin] .setting__header, -.setting__section[data-setting=padding] .setting__header { - margin-bottom: var(--space-s); -} -.setting__section[data-setting=margin] .setting__header .label-with-tooltip, -.setting__section[data-setting=padding] .setting__header .label-with-tooltip { - flex-grow: 1; -} -.setting__section[data-setting=margin] .setting__header .lock-toggle svg, -.setting__section[data-setting=padding] .setting__header .lock-toggle svg { - color: var(--color-interface-400); -} -.setting__section[data-setting=margin] .setting__header .lock-toggle.locked svg, -.setting__section[data-setting=padding] .setting__header .lock-toggle.locked svg { - color: var(--color-interface-800); -} -.setting__section[data-setting=margin] .setting__body, -.setting__section[data-setting=padding] .setting__body { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); - grid-row-gap: var(--space-xs); - grid-column-gap: var(--space-m); -} -.setting__section[data-setting=margin] .field-margin, -.setting__section[data-setting=padding] .field-margin { - display: flex; - align-items: center; -} -.setting__section[data-setting=margin] .field-margin .label-with-tooltip, -.setting__section[data-setting=padding] .field-margin .label-with-tooltip { - flex-grow: 1; - align-items: center; -} - button[disabled] { cursor: not-allowed !important; opacity: 0.6; diff --git a/public/assets/css/style.css.map b/public/assets/css/style.css.map index eafcd95..7512c9a 100644 --- a/public/assets/css/style.css.map +++ b/public/assets/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["src/_fonts.scss","style.css","src/_colors.scss","src/_reset.scss","src/_variables.scss","src/_text.scss","src/_print-styles.scss","src/_panel-settings.scss","src/_forms.scss","src/_panel-tabs.scss","src/_actions-btn.scss","src/_toggle-setting.scss","src/_settings-popup.scss","src/_setting__section.scss","src/_global.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file +{"version":3,"sources":["src/_fonts.scss","style.css","src/_colors.scss","src/_reset.scss","src/_variables.scss","src/_text.scss","src/_print-styles.scss","src/_forms.scss","src/_forms-section.scss","src/_buttons.scss","src/_settings-popup.scss","src/_global.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file diff --git a/public/assets/css/style.scss b/public/assets/css/style.scss index 240aa4e..e05b0f7 100644 --- a/public/assets/css/style.scss +++ b/public/assets/css/style.scss @@ -4,11 +4,8 @@ @use "src/_variables.scss" as *; @use "src/_text.scss" as *; @use "src/_print-styles.scss" as *; -@use "src/_panel-settings.scss" as *; @use "src/_forms.scss" as *; -@use "src/_panel-tabs.scss" as *; -@use "src/_actions-btn.scss" as *; -@use "src/_toggle-setting.scss" as *; +@use "src/_forms-section.scss" as *; +@use "src/_buttons.scss" as *; @use "src/_settings-popup.scss" as *; -@use "src/_setting__section.scss" as *; @use "src/_global.scss" as *; diff --git a/public/assets/css/stylesheet.print.css b/public/assets/css/stylesheet.print.css index 2002186..12776e7 100644 --- a/public/assets/css/stylesheet.print.css +++ b/public/assets/css/stylesheet.print.css @@ -1,4 +1,8 @@ - +@page { + size: A5; + margin: 20mm 15mm 26mm 15mm; + background: rgba(255, 255, 255, 1); +} @page { @bottom-center { @@ -6,6 +10,9 @@ } } +body { + font-family: "DM Sans", sans-serif; +} @@ -14,7 +21,10 @@ figure, img{ margin: 0; } - +p{ + font-size: 14px; + line-height: 18px; +} /* ─────────────────────────────────────────── @@ -30,22 +40,37 @@ figure, img{ z-index: -1; } -.figure-backgroung-cover img{ - width: 100%; - height: 100%; - object-fit: cover; + +h1{ + font-size: 38px; + background: rgba(255, 255, 255, 0.521); + padding: 10px 20px; + margin: 0; + margin-top: 60px; } +p.author{ + font-size: 24px; + font-weight: bold; + background: rgba(255, 255, 255, 0.521); + padding: 10px 20px; + margin: 0; + margin-top: 20px; +} -/* .introduction{ font-size: 26px; background: rgba(255, 255, 255, 0.521); padding: 10px 20px; margin: 0; margin-top: 60px; -} - */ +} +.figure-backgroung-cover img{ + width: 100%; + height: 100%; + object-fit: cover; +} + @@ -59,9 +84,15 @@ figure, img{ h2{ + font-size: 38px; + margin-top: 36px; + background-color: #cfcfcf; + padding: 20px; break-after: avoid; } - + + + /* ─────────────────────────────────────────── CHAPITRES @@ -69,7 +100,8 @@ h2{ h3{ - break-after: avoid; + margin-top: 30px; + break-after: avoid; } @@ -79,6 +111,9 @@ h3{ h4{ break-after: avoid; + margin-top: 30px; + text-decoration: underline; + } @@ -86,22 +121,13 @@ h4{ MARKERS ─────────────────────────────────────────── */ - -.marker-title{ - display: flex; - align-items: center; - -} -.marker-title img{ - width: 30px; -} - h5{ - font-weight: bold; - font-size: 16px; - margin-top: 20px; - margin-bottom: 10px; + display: flex; + align-items: center; +} +.marker-title img{ + width: 40px; } diff --git a/public/assets/fonts/project/Alegreya/Alegreya-Italic-VariableFont_wght.ttf b/public/assets/fonts/project/Alegreya/Alegreya-Italic-VariableFont_wght.ttf deleted file mode 100644 index bb33596..0000000 Binary files a/public/assets/fonts/project/Alegreya/Alegreya-Italic-VariableFont_wght.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/Alegreya-VariableFont_wght.ttf b/public/assets/fonts/project/Alegreya/Alegreya-VariableFont_wght.ttf deleted file mode 100644 index cc69fc6..0000000 Binary files a/public/assets/fonts/project/Alegreya/Alegreya-VariableFont_wght.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/OFL.txt b/public/assets/fonts/project/Alegreya/OFL.txt deleted file mode 100644 index 0042c66..0000000 --- a/public/assets/fonts/project/Alegreya/OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright 2011 The Alegreya Project Authors (https://github.com/huertatipografica/Alegreya) - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -https://openfontlicense.org - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/public/assets/fonts/project/Alegreya/README.txt b/public/assets/fonts/project/Alegreya/README.txt deleted file mode 100644 index 6c8e9b0..0000000 --- a/public/assets/fonts/project/Alegreya/README.txt +++ /dev/null @@ -1,75 +0,0 @@ -Alegreya Variable Font -====================== - -This download contains Alegreya as both variable fonts and static fonts. - -Alegreya is a variable font with this axis: - wght - -This means all the styles are contained in these files: - Alegreya/Alegreya-VariableFont_wght.ttf - Alegreya/Alegreya-Italic-VariableFont_wght.ttf - -If your app fully supports variable fonts, you can now pick intermediate styles -that aren’t available as static fonts. Not all apps support variable fonts, and -in those cases you can use the static font files for Alegreya: - Alegreya/static/Alegreya-Regular.ttf - Alegreya/static/Alegreya-Medium.ttf - Alegreya/static/Alegreya-SemiBold.ttf - Alegreya/static/Alegreya-Bold.ttf - Alegreya/static/Alegreya-ExtraBold.ttf - Alegreya/static/Alegreya-Black.ttf - Alegreya/static/Alegreya-Italic.ttf - Alegreya/static/Alegreya-MediumItalic.ttf - Alegreya/static/Alegreya-SemiBoldItalic.ttf - Alegreya/static/Alegreya-BoldItalic.ttf - Alegreya/static/Alegreya-ExtraBoldItalic.ttf - Alegreya/static/Alegreya-BlackItalic.ttf - -Get started ------------ - -1. Install the font files you want to use - -2. Use your app's font picker to view the font family and all the -available styles - -Learn more about variable fonts -------------------------------- - - https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts - https://variablefonts.typenetwork.com - https://medium.com/variable-fonts - -In desktop apps - - https://theblog.adobe.com/can-variable-fonts-illustrator-cc - https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts - -Online - - https://developers.google.com/fonts/docs/getting_started - https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide - https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts - -Installing fonts - - MacOS: https://support.apple.com/en-us/HT201749 - Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux - Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows - -Android Apps - - https://developers.google.com/fonts/docs/android - https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts - -License -------- -Please read the full license text (OFL.txt) to understand the permissions, -restrictions and requirements for usage, redistribution, and modification. - -You can use them in your products & projects – print or digital, -commercial or otherwise. - -This isn't legal advice, please consider consulting a lawyer and see the full -license for all details. diff --git a/public/assets/fonts/project/Alegreya/static/Alegreya-Black.ttf b/public/assets/fonts/project/Alegreya/static/Alegreya-Black.ttf deleted file mode 100644 index d9b85af..0000000 Binary files a/public/assets/fonts/project/Alegreya/static/Alegreya-Black.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/static/Alegreya-BlackItalic.ttf b/public/assets/fonts/project/Alegreya/static/Alegreya-BlackItalic.ttf deleted file mode 100644 index 7207a0f..0000000 Binary files a/public/assets/fonts/project/Alegreya/static/Alegreya-BlackItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/static/Alegreya-Bold.ttf b/public/assets/fonts/project/Alegreya/static/Alegreya-Bold.ttf deleted file mode 100644 index 7ca725a..0000000 Binary files a/public/assets/fonts/project/Alegreya/static/Alegreya-Bold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/static/Alegreya-BoldItalic.ttf b/public/assets/fonts/project/Alegreya/static/Alegreya-BoldItalic.ttf deleted file mode 100644 index ab39d11..0000000 Binary files a/public/assets/fonts/project/Alegreya/static/Alegreya-BoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/static/Alegreya-ExtraBold.ttf b/public/assets/fonts/project/Alegreya/static/Alegreya-ExtraBold.ttf deleted file mode 100644 index 3e2edc0..0000000 Binary files a/public/assets/fonts/project/Alegreya/static/Alegreya-ExtraBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/static/Alegreya-ExtraBoldItalic.ttf b/public/assets/fonts/project/Alegreya/static/Alegreya-ExtraBoldItalic.ttf deleted file mode 100644 index ef00269..0000000 Binary files a/public/assets/fonts/project/Alegreya/static/Alegreya-ExtraBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/static/Alegreya-Italic.ttf b/public/assets/fonts/project/Alegreya/static/Alegreya-Italic.ttf deleted file mode 100644 index ee5972f..0000000 Binary files a/public/assets/fonts/project/Alegreya/static/Alegreya-Italic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/static/Alegreya-Medium.ttf b/public/assets/fonts/project/Alegreya/static/Alegreya-Medium.ttf deleted file mode 100644 index 13d8e00..0000000 Binary files a/public/assets/fonts/project/Alegreya/static/Alegreya-Medium.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/static/Alegreya-MediumItalic.ttf b/public/assets/fonts/project/Alegreya/static/Alegreya-MediumItalic.ttf deleted file mode 100644 index 792b2c3..0000000 Binary files a/public/assets/fonts/project/Alegreya/static/Alegreya-MediumItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/static/Alegreya-Regular.ttf b/public/assets/fonts/project/Alegreya/static/Alegreya-Regular.ttf deleted file mode 100644 index a921a6f..0000000 Binary files a/public/assets/fonts/project/Alegreya/static/Alegreya-Regular.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/static/Alegreya-SemiBold.ttf b/public/assets/fonts/project/Alegreya/static/Alegreya-SemiBold.ttf deleted file mode 100644 index d620b2e..0000000 Binary files a/public/assets/fonts/project/Alegreya/static/Alegreya-SemiBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Alegreya/static/Alegreya-SemiBoldItalic.ttf b/public/assets/fonts/project/Alegreya/static/Alegreya-SemiBoldItalic.ttf deleted file mode 100644 index 82afcd0..0000000 Binary files a/public/assets/fonts/project/Alegreya/static/Alegreya-SemiBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/EB_Garamond/EBGaramond-Italic-VariableFont_wght.ttf b/public/assets/fonts/project/EB_Garamond/EBGaramond-Italic-VariableFont_wght.ttf deleted file mode 100644 index 9cb1376..0000000 Binary files a/public/assets/fonts/project/EB_Garamond/EBGaramond-Italic-VariableFont_wght.ttf and /dev/null differ diff --git a/public/assets/fonts/project/EB_Garamond/EBGaramond-VariableFont_wght.ttf b/public/assets/fonts/project/EB_Garamond/EBGaramond-VariableFont_wght.ttf deleted file mode 100644 index baf64b2..0000000 Binary files a/public/assets/fonts/project/EB_Garamond/EBGaramond-VariableFont_wght.ttf and /dev/null differ diff --git a/public/assets/fonts/project/EB_Garamond/OFL.txt b/public/assets/fonts/project/EB_Garamond/OFL.txt deleted file mode 100644 index 132cf64..0000000 --- a/public/assets/fonts/project/EB_Garamond/OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright 2017 The EB Garamond Project Authors (https://github.com/octaviopardo/EBGaramond12) - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -https://openfontlicense.org - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/public/assets/fonts/project/EB_Garamond/README.txt b/public/assets/fonts/project/EB_Garamond/README.txt deleted file mode 100644 index 47f3e3f..0000000 --- a/public/assets/fonts/project/EB_Garamond/README.txt +++ /dev/null @@ -1,73 +0,0 @@ -EB Garamond Variable Font -========================= - -This download contains EB Garamond as both variable fonts and static fonts. - -EB Garamond is a variable font with this axis: - wght - -This means all the styles are contained in these files: - EB_Garamond/EBGaramond-VariableFont_wght.ttf - EB_Garamond/EBGaramond-Italic-VariableFont_wght.ttf - -If your app fully supports variable fonts, you can now pick intermediate styles -that aren’t available as static fonts. Not all apps support variable fonts, and -in those cases you can use the static font files for EB Garamond: - EB_Garamond/static/EBGaramond-Regular.ttf - EB_Garamond/static/EBGaramond-Medium.ttf - EB_Garamond/static/EBGaramond-SemiBold.ttf - EB_Garamond/static/EBGaramond-Bold.ttf - EB_Garamond/static/EBGaramond-ExtraBold.ttf - EB_Garamond/static/EBGaramond-Italic.ttf - EB_Garamond/static/EBGaramond-MediumItalic.ttf - EB_Garamond/static/EBGaramond-SemiBoldItalic.ttf - EB_Garamond/static/EBGaramond-BoldItalic.ttf - EB_Garamond/static/EBGaramond-ExtraBoldItalic.ttf - -Get started ------------ - -1. Install the font files you want to use - -2. Use your app's font picker to view the font family and all the -available styles - -Learn more about variable fonts -------------------------------- - - https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts - https://variablefonts.typenetwork.com - https://medium.com/variable-fonts - -In desktop apps - - https://theblog.adobe.com/can-variable-fonts-illustrator-cc - https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts - -Online - - https://developers.google.com/fonts/docs/getting_started - https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide - https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts - -Installing fonts - - MacOS: https://support.apple.com/en-us/HT201749 - Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux - Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows - -Android Apps - - https://developers.google.com/fonts/docs/android - https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts - -License -------- -Please read the full license text (OFL.txt) to understand the permissions, -restrictions and requirements for usage, redistribution, and modification. - -You can use them in your products & projects – print or digital, -commercial or otherwise. - -This isn't legal advice, please consider consulting a lawyer and see the full -license for all details. diff --git a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-Bold.ttf b/public/assets/fonts/project/EB_Garamond/static/EBGaramond-Bold.ttf deleted file mode 100644 index c7f629e..0000000 Binary files a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-Bold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-BoldItalic.ttf b/public/assets/fonts/project/EB_Garamond/static/EBGaramond-BoldItalic.ttf deleted file mode 100644 index 6df3637..0000000 Binary files a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-BoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-ExtraBold.ttf b/public/assets/fonts/project/EB_Garamond/static/EBGaramond-ExtraBold.ttf deleted file mode 100644 index 74b8274..0000000 Binary files a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-ExtraBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-ExtraBoldItalic.ttf b/public/assets/fonts/project/EB_Garamond/static/EBGaramond-ExtraBoldItalic.ttf deleted file mode 100644 index a2e13f9..0000000 Binary files a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-ExtraBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-Italic.ttf b/public/assets/fonts/project/EB_Garamond/static/EBGaramond-Italic.ttf deleted file mode 100644 index 231d7e9..0000000 Binary files a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-Italic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-Medium.ttf b/public/assets/fonts/project/EB_Garamond/static/EBGaramond-Medium.ttf deleted file mode 100644 index e9e3b1e..0000000 Binary files a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-Medium.ttf and /dev/null differ diff --git a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-MediumItalic.ttf b/public/assets/fonts/project/EB_Garamond/static/EBGaramond-MediumItalic.ttf deleted file mode 100644 index 7027943..0000000 Binary files a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-MediumItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-Regular.ttf b/public/assets/fonts/project/EB_Garamond/static/EBGaramond-Regular.ttf deleted file mode 100644 index fd54ab4..0000000 Binary files a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-Regular.ttf and /dev/null differ diff --git a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-SemiBold.ttf b/public/assets/fonts/project/EB_Garamond/static/EBGaramond-SemiBold.ttf deleted file mode 100644 index 3202ac5..0000000 Binary files a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-SemiBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-SemiBoldItalic.ttf b/public/assets/fonts/project/EB_Garamond/static/EBGaramond-SemiBoldItalic.ttf deleted file mode 100644 index e297855..0000000 Binary files a/public/assets/fonts/project/EB_Garamond/static/EBGaramond-SemiBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-Black.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-Black.ttf deleted file mode 100644 index 113cd3b..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-Black.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-BlackItalic.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-BlackItalic.ttf deleted file mode 100644 index 1c49fb2..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-BlackItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-Bold.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-Bold.ttf deleted file mode 100644 index e3593fb..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-Bold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-BoldItalic.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-BoldItalic.ttf deleted file mode 100644 index 305b0b8..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-BoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-ExtraBold.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-ExtraBold.ttf deleted file mode 100644 index 83744c1..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-ExtraBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-ExtraBoldItalic.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-ExtraBoldItalic.ttf deleted file mode 100644 index 54bcaca..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-ExtraBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-ExtraLight.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-ExtraLight.ttf deleted file mode 100644 index 2d4e331..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-ExtraLight.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-ExtraLightItalic.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-ExtraLightItalic.ttf deleted file mode 100644 index ef666ad..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-ExtraLightItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-Italic.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-Italic.ttf deleted file mode 100644 index 27d32ed..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-Italic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-Light.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-Light.ttf deleted file mode 100644 index 663d1de..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-Light.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-LightItalic.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-LightItalic.ttf deleted file mode 100644 index d1b1fc5..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-LightItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-Medium.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-Medium.ttf deleted file mode 100644 index 001ebe7..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-Medium.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-MediumItalic.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-MediumItalic.ttf deleted file mode 100644 index b7640be..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-MediumItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-Regular.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-Regular.ttf deleted file mode 100644 index 6f80647..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-Regular.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-SemiBold.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-SemiBold.ttf deleted file mode 100644 index 0c93b7e..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-SemiBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-SemiBoldItalic.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-SemiBoldItalic.ttf deleted file mode 100644 index e1a2989..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-SemiBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-Thin.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-Thin.ttf deleted file mode 100644 index c925f94..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-Thin.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/FiraSans-ThinItalic.ttf b/public/assets/fonts/project/Fira_Sans/FiraSans-ThinItalic.ttf deleted file mode 100644 index dd39092..0000000 Binary files a/public/assets/fonts/project/Fira_Sans/FiraSans-ThinItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Fira_Sans/OFL.txt b/public/assets/fonts/project/Fira_Sans/OFL.txt deleted file mode 100644 index fc506b8..0000000 --- a/public/assets/fonts/project/Fira_Sans/OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright (c) 2012-2015, The Mozilla Foundation and Telefonica S.A. - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -https://openfontlicense.org - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/public/assets/fonts/project/Montserrat/Montserrat-Italic-VariableFont_wght.ttf b/public/assets/fonts/project/Montserrat/Montserrat-Italic-VariableFont_wght.ttf deleted file mode 100644 index 76e3f9d..0000000 Binary files a/public/assets/fonts/project/Montserrat/Montserrat-Italic-VariableFont_wght.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/Montserrat-VariableFont_wght.ttf b/public/assets/fonts/project/Montserrat/Montserrat-VariableFont_wght.ttf deleted file mode 100644 index 451e692..0000000 Binary files a/public/assets/fonts/project/Montserrat/Montserrat-VariableFont_wght.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/OFL.txt b/public/assets/fonts/project/Montserrat/OFL.txt deleted file mode 100644 index 8e618c8..0000000 --- a/public/assets/fonts/project/Montserrat/OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright 2024 The Montserrat.Git Project Authors (https://github.com/JulietaUla/Montserrat.git) - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -https://openfontlicense.org - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/public/assets/fonts/project/Montserrat/README.txt b/public/assets/fonts/project/Montserrat/README.txt deleted file mode 100644 index 930137d..0000000 --- a/public/assets/fonts/project/Montserrat/README.txt +++ /dev/null @@ -1,81 +0,0 @@ -Montserrat Variable Font -======================== - -This download contains Montserrat as both variable fonts and static fonts. - -Montserrat is a variable font with this axis: - wght - -This means all the styles are contained in these files: - Montserrat/Montserrat-VariableFont_wght.ttf - Montserrat/Montserrat-Italic-VariableFont_wght.ttf - -If your app fully supports variable fonts, you can now pick intermediate styles -that aren’t available as static fonts. Not all apps support variable fonts, and -in those cases you can use the static font files for Montserrat: - Montserrat/static/Montserrat-Thin.ttf - Montserrat/static/Montserrat-ExtraLight.ttf - Montserrat/static/Montserrat-Light.ttf - Montserrat/static/Montserrat-Regular.ttf - Montserrat/static/Montserrat-Medium.ttf - Montserrat/static/Montserrat-SemiBold.ttf - Montserrat/static/Montserrat-Bold.ttf - Montserrat/static/Montserrat-ExtraBold.ttf - Montserrat/static/Montserrat-Black.ttf - Montserrat/static/Montserrat-ThinItalic.ttf - Montserrat/static/Montserrat-ExtraLightItalic.ttf - Montserrat/static/Montserrat-LightItalic.ttf - Montserrat/static/Montserrat-Italic.ttf - Montserrat/static/Montserrat-MediumItalic.ttf - Montserrat/static/Montserrat-SemiBoldItalic.ttf - Montserrat/static/Montserrat-BoldItalic.ttf - Montserrat/static/Montserrat-ExtraBoldItalic.ttf - Montserrat/static/Montserrat-BlackItalic.ttf - -Get started ------------ - -1. Install the font files you want to use - -2. Use your app's font picker to view the font family and all the -available styles - -Learn more about variable fonts -------------------------------- - - https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts - https://variablefonts.typenetwork.com - https://medium.com/variable-fonts - -In desktop apps - - https://theblog.adobe.com/can-variable-fonts-illustrator-cc - https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts - -Online - - https://developers.google.com/fonts/docs/getting_started - https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide - https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts - -Installing fonts - - MacOS: https://support.apple.com/en-us/HT201749 - Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux - Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows - -Android Apps - - https://developers.google.com/fonts/docs/android - https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts - -License -------- -Please read the full license text (OFL.txt) to understand the permissions, -restrictions and requirements for usage, redistribution, and modification. - -You can use them in your products & projects – print or digital, -commercial or otherwise. - -This isn't legal advice, please consider consulting a lawyer and see the full -license for all details. diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-Black.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-Black.ttf deleted file mode 100644 index 2fab7ab..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-Black.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-BlackItalic.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-BlackItalic.ttf deleted file mode 100644 index 04d3b47..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-BlackItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-Bold.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-Bold.ttf deleted file mode 100644 index 4033587..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-Bold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-BoldItalic.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-BoldItalic.ttf deleted file mode 100644 index 0cc5c2c..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-BoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-ExtraBold.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-ExtraBold.ttf deleted file mode 100644 index 476ec30..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-ExtraBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-ExtraBoldItalic.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-ExtraBoldItalic.ttf deleted file mode 100644 index a1ac9a9..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-ExtraBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-ExtraLight.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-ExtraLight.ttf deleted file mode 100644 index efaeab0..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-ExtraLight.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-ExtraLightItalic.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-ExtraLightItalic.ttf deleted file mode 100644 index a8d18de..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-ExtraLightItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-Italic.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-Italic.ttf deleted file mode 100644 index 5f08df0..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-Italic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-Light.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-Light.ttf deleted file mode 100644 index 881f12d..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-Light.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-LightItalic.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-LightItalic.ttf deleted file mode 100644 index b2991d0..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-LightItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-Medium.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-Medium.ttf deleted file mode 100644 index c9a39ea..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-Medium.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-MediumItalic.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-MediumItalic.ttf deleted file mode 100644 index 086dd6e..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-MediumItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-Regular.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-Regular.ttf deleted file mode 100644 index 895e220..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-Regular.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-SemiBold.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-SemiBold.ttf deleted file mode 100644 index 161477a..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-SemiBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-SemiBoldItalic.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-SemiBoldItalic.ttf deleted file mode 100644 index 73dc6c6..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-SemiBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-Thin.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-Thin.ttf deleted file mode 100644 index c9cf195..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-Thin.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Montserrat/static/Montserrat-ThinItalic.ttf b/public/assets/fonts/project/Montserrat/static/Montserrat-ThinItalic.ttf deleted file mode 100644 index e6dfc05..0000000 Binary files a/public/assets/fonts/project/Montserrat/static/Montserrat-ThinItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/OFL.txt b/public/assets/fonts/project/Open_Sans/OFL.txt deleted file mode 100644 index 4fc6170..0000000 --- a/public/assets/fonts/project/Open_Sans/OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright 2020 The Open Sans Project Authors (https://github.com/googlefonts/opensans) - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -https://openfontlicense.org - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/public/assets/fonts/project/Open_Sans/OpenSans-Italic-VariableFont_wdth,wght.ttf b/public/assets/fonts/project/Open_Sans/OpenSans-Italic-VariableFont_wdth,wght.ttf deleted file mode 100644 index 8a2c9d9..0000000 Binary files a/public/assets/fonts/project/Open_Sans/OpenSans-Italic-VariableFont_wdth,wght.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf b/public/assets/fonts/project/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf deleted file mode 100644 index 9c57fbd..0000000 Binary files a/public/assets/fonts/project/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/README.txt b/public/assets/fonts/project/Open_Sans/README.txt deleted file mode 100644 index 9b94759..0000000 --- a/public/assets/fonts/project/Open_Sans/README.txt +++ /dev/null @@ -1,100 +0,0 @@ -Open Sans Variable Font -======================= - -This download contains Open Sans as both variable fonts and static fonts. - -Open Sans is a variable font with these axes: - wdth - wght - -This means all the styles are contained in these files: - Open_Sans/OpenSans-VariableFont_wdth,wght.ttf - Open_Sans/OpenSans-Italic-VariableFont_wdth,wght.ttf - -If your app fully supports variable fonts, you can now pick intermediate styles -that aren’t available as static fonts. Not all apps support variable fonts, and -in those cases you can use the static font files for Open Sans: - Open_Sans/static/OpenSans_Condensed-Light.ttf - Open_Sans/static/OpenSans_Condensed-Regular.ttf - Open_Sans/static/OpenSans_Condensed-Medium.ttf - Open_Sans/static/OpenSans_Condensed-SemiBold.ttf - Open_Sans/static/OpenSans_Condensed-Bold.ttf - Open_Sans/static/OpenSans_Condensed-ExtraBold.ttf - Open_Sans/static/OpenSans_SemiCondensed-Light.ttf - Open_Sans/static/OpenSans_SemiCondensed-Regular.ttf - Open_Sans/static/OpenSans_SemiCondensed-Medium.ttf - Open_Sans/static/OpenSans_SemiCondensed-SemiBold.ttf - Open_Sans/static/OpenSans_SemiCondensed-Bold.ttf - Open_Sans/static/OpenSans_SemiCondensed-ExtraBold.ttf - Open_Sans/static/OpenSans-Light.ttf - Open_Sans/static/OpenSans-Regular.ttf - Open_Sans/static/OpenSans-Medium.ttf - Open_Sans/static/OpenSans-SemiBold.ttf - Open_Sans/static/OpenSans-Bold.ttf - Open_Sans/static/OpenSans-ExtraBold.ttf - Open_Sans/static/OpenSans_Condensed-LightItalic.ttf - Open_Sans/static/OpenSans_Condensed-Italic.ttf - Open_Sans/static/OpenSans_Condensed-MediumItalic.ttf - Open_Sans/static/OpenSans_Condensed-SemiBoldItalic.ttf - Open_Sans/static/OpenSans_Condensed-BoldItalic.ttf - Open_Sans/static/OpenSans_Condensed-ExtraBoldItalic.ttf - Open_Sans/static/OpenSans_SemiCondensed-LightItalic.ttf - Open_Sans/static/OpenSans_SemiCondensed-Italic.ttf - Open_Sans/static/OpenSans_SemiCondensed-MediumItalic.ttf - Open_Sans/static/OpenSans_SemiCondensed-SemiBoldItalic.ttf - Open_Sans/static/OpenSans_SemiCondensed-BoldItalic.ttf - Open_Sans/static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf - Open_Sans/static/OpenSans-LightItalic.ttf - Open_Sans/static/OpenSans-Italic.ttf - Open_Sans/static/OpenSans-MediumItalic.ttf - Open_Sans/static/OpenSans-SemiBoldItalic.ttf - Open_Sans/static/OpenSans-BoldItalic.ttf - Open_Sans/static/OpenSans-ExtraBoldItalic.ttf - -Get started ------------ - -1. Install the font files you want to use - -2. Use your app's font picker to view the font family and all the -available styles - -Learn more about variable fonts -------------------------------- - - https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts - https://variablefonts.typenetwork.com - https://medium.com/variable-fonts - -In desktop apps - - https://theblog.adobe.com/can-variable-fonts-illustrator-cc - https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts - -Online - - https://developers.google.com/fonts/docs/getting_started - https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide - https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts - -Installing fonts - - MacOS: https://support.apple.com/en-us/HT201749 - Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux - Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows - -Android Apps - - https://developers.google.com/fonts/docs/android - https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts - -License -------- -Please read the full license text (OFL.txt) to understand the permissions, -restrictions and requirements for usage, redistribution, and modification. - -You can use them in your products & projects – print or digital, -commercial or otherwise. - -This isn't legal advice, please consider consulting a lawyer and see the full -license for all details. diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans-Bold.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans-Bold.ttf deleted file mode 100644 index 8570eee..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans-Bold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans-BoldItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans-BoldItalic.ttf deleted file mode 100644 index e246ffa..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans-BoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans-ExtraBold.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans-ExtraBold.ttf deleted file mode 100644 index dfb9d6f..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans-ExtraBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans-ExtraBoldItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans-ExtraBoldItalic.ttf deleted file mode 100644 index 02288dc..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans-ExtraBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans-Italic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans-Italic.ttf deleted file mode 100644 index 569e6b0..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans-Italic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans-Light.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans-Light.ttf deleted file mode 100644 index e2d5717..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans-Light.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans-LightItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans-LightItalic.ttf deleted file mode 100644 index 6d6d917..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans-LightItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans-Medium.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans-Medium.ttf deleted file mode 100644 index 04d88fb..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans-Medium.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans-MediumItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans-MediumItalic.ttf deleted file mode 100644 index c238154..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans-MediumItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans-Regular.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans-Regular.ttf deleted file mode 100644 index 134d225..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans-Regular.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans-SemiBold.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans-SemiBold.ttf deleted file mode 100644 index 2310e8a..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans-SemiBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans-SemiBoldItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans-SemiBoldItalic.ttf deleted file mode 100644 index 7a7d9cd..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans-SemiBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Bold.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Bold.ttf deleted file mode 100644 index 58c5768..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Bold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-BoldItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-BoldItalic.ttf deleted file mode 100644 index 52ca54b..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-BoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-ExtraBold.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-ExtraBold.ttf deleted file mode 100644 index 4b3d7bd..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-ExtraBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-ExtraBoldItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-ExtraBoldItalic.ttf deleted file mode 100644 index df5d41a..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-ExtraBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Italic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Italic.ttf deleted file mode 100644 index 96f7e9f..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Italic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Light.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Light.ttf deleted file mode 100644 index c7c891c..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Light.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-LightItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-LightItalic.ttf deleted file mode 100644 index 8270601..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-LightItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Medium.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Medium.ttf deleted file mode 100644 index 79f586e..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Medium.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-MediumItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-MediumItalic.ttf deleted file mode 100644 index f55f42e..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-MediumItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Regular.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Regular.ttf deleted file mode 100644 index 67a73b8..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-Regular.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-SemiBold.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-SemiBold.ttf deleted file mode 100644 index 950774b..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-SemiBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-SemiBoldItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-SemiBoldItalic.ttf deleted file mode 100644 index 651a2f4..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_Condensed-SemiBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Bold.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Bold.ttf deleted file mode 100644 index 80322ef..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Bold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-BoldItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-BoldItalic.ttf deleted file mode 100644 index a160f1e..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-BoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-ExtraBold.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-ExtraBold.ttf deleted file mode 100644 index 3607b60..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-ExtraBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf deleted file mode 100644 index 22ee523..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Italic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Italic.ttf deleted file mode 100644 index a15b76b..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Italic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Light.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Light.ttf deleted file mode 100644 index e3555b3..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Light.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-LightItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-LightItalic.ttf deleted file mode 100644 index 35bf909..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-LightItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Medium.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Medium.ttf deleted file mode 100644 index 0220183..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Medium.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-MediumItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-MediumItalic.ttf deleted file mode 100644 index 8278f42..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-MediumItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Regular.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Regular.ttf deleted file mode 100644 index cf1646b..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-Regular.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-SemiBold.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-SemiBold.ttf deleted file mode 100644 index 9d9822b..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-SemiBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-SemiBoldItalic.ttf b/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-SemiBoldItalic.ttf deleted file mode 100644 index 3d05fd7..0000000 Binary files a/public/assets/fonts/project/Open_Sans/static/OpenSans_SemiCondensed-SemiBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/OFL.txt b/public/assets/fonts/project/Source_Code_Pro/OFL.txt deleted file mode 100644 index 54da4a4..0000000 --- a/public/assets/fonts/project/Source_Code_Pro/OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -https://openfontlicense.org - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/public/assets/fonts/project/Source_Code_Pro/README.txt b/public/assets/fonts/project/Source_Code_Pro/README.txt deleted file mode 100644 index b2ead00..0000000 --- a/public/assets/fonts/project/Source_Code_Pro/README.txt +++ /dev/null @@ -1,79 +0,0 @@ -Source Code Pro Variable Font -============================= - -This download contains Source Code Pro as both variable fonts and static fonts. - -Source Code Pro is a variable font with this axis: - wght - -This means all the styles are contained in these files: - Source_Code_Pro/SourceCodePro-VariableFont_wght.ttf - Source_Code_Pro/SourceCodePro-Italic-VariableFont_wght.ttf - -If your app fully supports variable fonts, you can now pick intermediate styles -that aren’t available as static fonts. Not all apps support variable fonts, and -in those cases you can use the static font files for Source Code Pro: - Source_Code_Pro/static/SourceCodePro-ExtraLight.ttf - Source_Code_Pro/static/SourceCodePro-Light.ttf - Source_Code_Pro/static/SourceCodePro-Regular.ttf - Source_Code_Pro/static/SourceCodePro-Medium.ttf - Source_Code_Pro/static/SourceCodePro-SemiBold.ttf - Source_Code_Pro/static/SourceCodePro-Bold.ttf - Source_Code_Pro/static/SourceCodePro-ExtraBold.ttf - Source_Code_Pro/static/SourceCodePro-Black.ttf - Source_Code_Pro/static/SourceCodePro-ExtraLightItalic.ttf - Source_Code_Pro/static/SourceCodePro-LightItalic.ttf - Source_Code_Pro/static/SourceCodePro-Italic.ttf - Source_Code_Pro/static/SourceCodePro-MediumItalic.ttf - Source_Code_Pro/static/SourceCodePro-SemiBoldItalic.ttf - Source_Code_Pro/static/SourceCodePro-BoldItalic.ttf - Source_Code_Pro/static/SourceCodePro-ExtraBoldItalic.ttf - Source_Code_Pro/static/SourceCodePro-BlackItalic.ttf - -Get started ------------ - -1. Install the font files you want to use - -2. Use your app's font picker to view the font family and all the -available styles - -Learn more about variable fonts -------------------------------- - - https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts - https://variablefonts.typenetwork.com - https://medium.com/variable-fonts - -In desktop apps - - https://theblog.adobe.com/can-variable-fonts-illustrator-cc - https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts - -Online - - https://developers.google.com/fonts/docs/getting_started - https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide - https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts - -Installing fonts - - MacOS: https://support.apple.com/en-us/HT201749 - Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux - Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows - -Android Apps - - https://developers.google.com/fonts/docs/android - https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts - -License -------- -Please read the full license text (OFL.txt) to understand the permissions, -restrictions and requirements for usage, redistribution, and modification. - -You can use them in your products & projects – print or digital, -commercial or otherwise. - -This isn't legal advice, please consider consulting a lawyer and see the full -license for all details. diff --git a/public/assets/fonts/project/Source_Code_Pro/SourceCodePro-Italic-VariableFont_wght.ttf b/public/assets/fonts/project/Source_Code_Pro/SourceCodePro-Italic-VariableFont_wght.ttf deleted file mode 100644 index d754a85..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/SourceCodePro-Italic-VariableFont_wght.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/SourceCodePro-VariableFont_wght.ttf b/public/assets/fonts/project/Source_Code_Pro/SourceCodePro-VariableFont_wght.ttf deleted file mode 100644 index cf59205..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/SourceCodePro-VariableFont_wght.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Black.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Black.ttf deleted file mode 100644 index 77ad095..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Black.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-BlackItalic.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-BlackItalic.ttf deleted file mode 100644 index 1148577..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-BlackItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Bold.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Bold.ttf deleted file mode 100644 index a7dac6b..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Bold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-BoldItalic.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-BoldItalic.ttf deleted file mode 100644 index 1d0682f..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-BoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-ExtraBold.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-ExtraBold.ttf deleted file mode 100644 index 9eb7f20..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-ExtraBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-ExtraBoldItalic.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-ExtraBoldItalic.ttf deleted file mode 100644 index 082fcbd..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-ExtraBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-ExtraLight.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-ExtraLight.ttf deleted file mode 100644 index 205c083..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-ExtraLight.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-ExtraLightItalic.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-ExtraLightItalic.ttf deleted file mode 100644 index e75f3f6..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-ExtraLightItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Italic.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Italic.ttf deleted file mode 100644 index 4f0d7c0..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Italic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Light.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Light.ttf deleted file mode 100644 index 7506643..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Light.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-LightItalic.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-LightItalic.ttf deleted file mode 100644 index 1d841b8..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-LightItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Medium.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Medium.ttf deleted file mode 100644 index 1a27075..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Medium.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-MediumItalic.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-MediumItalic.ttf deleted file mode 100644 index 07b421f..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-MediumItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Regular.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Regular.ttf deleted file mode 100644 index fd02539..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-Regular.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-SemiBold.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-SemiBold.ttf deleted file mode 100644 index 210f974..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-SemiBold.ttf and /dev/null differ diff --git a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-SemiBoldItalic.ttf b/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-SemiBoldItalic.ttf deleted file mode 100644 index a4f8ff8..0000000 Binary files a/public/assets/fonts/project/Source_Code_Pro/static/SourceCodePro-SemiBoldItalic.ttf and /dev/null differ diff --git a/public/assets/fonts/Inconsolata/Inconsolata-Black.woff2 b/public/assets/fonts/webfont/Inconsolata-Black.woff2 similarity index 100% rename from public/assets/fonts/Inconsolata/Inconsolata-Black.woff2 rename to public/assets/fonts/webfont/Inconsolata-Black.woff2 diff --git a/public/assets/fonts/Inconsolata/Inconsolata-Bold.woff2 b/public/assets/fonts/webfont/Inconsolata-Bold.woff2 similarity index 100% rename from public/assets/fonts/Inconsolata/Inconsolata-Bold.woff2 rename to public/assets/fonts/webfont/Inconsolata-Bold.woff2 diff --git a/public/assets/fonts/Inconsolata/Inconsolata-ExtraBold.woff2 b/public/assets/fonts/webfont/Inconsolata-ExtraBold.woff2 similarity index 100% rename from public/assets/fonts/Inconsolata/Inconsolata-ExtraBold.woff2 rename to public/assets/fonts/webfont/Inconsolata-ExtraBold.woff2 diff --git a/public/assets/fonts/Inconsolata/Inconsolata-ExtraLight.woff2 b/public/assets/fonts/webfont/Inconsolata-ExtraLight.woff2 similarity index 100% rename from public/assets/fonts/Inconsolata/Inconsolata-ExtraLight.woff2 rename to public/assets/fonts/webfont/Inconsolata-ExtraLight.woff2 diff --git a/public/assets/fonts/Inconsolata/Inconsolata-Light.woff2 b/public/assets/fonts/webfont/Inconsolata-Light.woff2 similarity index 100% rename from public/assets/fonts/Inconsolata/Inconsolata-Light.woff2 rename to public/assets/fonts/webfont/Inconsolata-Light.woff2 diff --git a/public/assets/fonts/Inconsolata/Inconsolata-Medium.woff2 b/public/assets/fonts/webfont/Inconsolata-Medium.woff2 similarity index 100% rename from public/assets/fonts/Inconsolata/Inconsolata-Medium.woff2 rename to public/assets/fonts/webfont/Inconsolata-Medium.woff2 diff --git a/public/assets/fonts/Inconsolata/Inconsolata-Regular.woff2 b/public/assets/fonts/webfont/Inconsolata-Regular.woff2 similarity index 100% rename from public/assets/fonts/Inconsolata/Inconsolata-Regular.woff2 rename to public/assets/fonts/webfont/Inconsolata-Regular.woff2 diff --git a/public/assets/fonts/Inconsolata/Inconsolata-SemiBold.woff2 b/public/assets/fonts/webfont/Inconsolata-SemiBold.woff2 similarity index 100% rename from public/assets/fonts/Inconsolata/Inconsolata-SemiBold.woff2 rename to public/assets/fonts/webfont/Inconsolata-SemiBold.woff2 diff --git a/public/assets/fonts/Inconsolata/Inconsolata-Thin.woff2 b/public/assets/fonts/webfont/Inconsolata-Thin.woff2 similarity index 100% rename from public/assets/fonts/Inconsolata/Inconsolata-Thin.woff2 rename to public/assets/fonts/webfont/Inconsolata-Thin.woff2 diff --git a/public/assets/fonts/Inconsolata/stylesheet.css b/public/assets/fonts/webfont/stylesheet.css similarity index 100% rename from public/assets/fonts/Inconsolata/stylesheet.css rename to public/assets/fonts/webfont/stylesheet.css diff --git a/public/assets/svg/book.svg b/public/assets/svg/book.svg deleted file mode 100644 index 4165e2c..0000000 --- a/public/assets/svg/book.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/public/assets/svg/text.svg b/public/assets/svg/text.svg deleted file mode 100644 index 363f37d..0000000 --- a/public/assets/svg/text.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/public/content/cohesion-des-mondes/5_test-avec-geoformat/1_plongez-dans-les-sources/3_la-nouvelle-ere/chapter.txt b/public/content/cohesion-des-mondes/5_test-avec-geoformat/1_plongez-dans-les-sources/3_la-nouvelle-ere/chapter.txt index 71f38af..c32c6fa 100644 --- a/public/content/cohesion-des-mondes/5_test-avec-geoformat/1_plongez-dans-les-sources/3_la-nouvelle-ere/chapter.txt +++ b/public/content/cohesion-des-mondes/5_test-avec-geoformat/1_plongez-dans-les-sources/3_la-nouvelle-ere/chapter.txt @@ -4,7 +4,7 @@ Title: La nouvelle ère Body: -[{"content":{"text":"

Là c'est le moment moins marrant où je vous mets une looooongue liste d'articles, de pages internet et de vidéos en tout genre. Mais c'est intéressant, promis !

♣ Les légendes Japonaises et Yôkais :

Roadtrip à vos risques et périls !

• Abura-Akago :

• Kappa :

Vidéo :

• Akaatama :

 

• Kitsune:

Prêts à frissonner ?

• Le tunnel de Kitotaki:

Vidéos :

• Kuchisake-Onna :

Vidéo :

• Aokigahara :

Vidéos :

Que la chance soit avec vous !

• Maneki-Neko :

• Teru Teru Bōzu :

Vidéo :

• Daruma :

Plongez dans les sources...

• Le maître des Yôkais :

Vidéo :

"},"id":"38715100-a428-49da-8aa9-cc2d04e9a7d7","isHidden":false,"type":"text"}] +[{"content":{"text":"

Là c'est le moment moins marrant où je vous mets une looooongue liste d'articles, de pages internet et de vidéos en tout genre. Mais c'est intéressant, promis !

♣ Les légendes Japonaises et Yôkais :

 

Roadtrip à vos risques et périls !

• Abura-Akago :

• Kappa :

Vidéo :

• Akaatama :

 

• Kitsune:

Prêts à frissonner ?

• Le tunnel de Kitotaki:

Vidéos :

• Kuchisake-Onna :

Vidéo :

• Aokigahara :

Vidéos :

Que la chance soit avec vous !

• Maneki-Neko :

• Teru Teru Bōzu :

Vidéo :

• Daruma :

Plongez dans les sources...

• Le maître des Yôkais :

Vidéo :

"},"id":"38715100-a428-49da-8aa9-cc2d04e9a7d7","isHidden":false,"type":"text"}] ---- diff --git a/public/content/cohesion-des-mondes/5_test-avec-geoformat/2_roadtrip-a-vos-risques-et-perils/.regenerate-map-image b/public/content/cohesion-des-mondes/5_test-avec-geoformat/2_roadtrip-a-vos-risques-et-perils/.regenerate-map-image new file mode 100644 index 0000000..c8d700e --- /dev/null +++ b/public/content/cohesion-des-mondes/5_test-avec-geoformat/2_roadtrip-a-vos-risques-et-perils/.regenerate-map-image @@ -0,0 +1 @@ +1772466016 \ No newline at end of file diff --git a/public/content/cohesion-des-mondes/5_test-avec-geoformat/2_roadtrip-a-vos-risques-et-perils/map-static.png b/public/content/cohesion-des-mondes/5_test-avec-geoformat/2_roadtrip-a-vos-risques-et-perils/map-static.png index 27629ef..e6a1148 100644 Binary files a/public/content/cohesion-des-mondes/5_test-avec-geoformat/2_roadtrip-a-vos-risques-et-perils/map-static.png and b/public/content/cohesion-des-mondes/5_test-avec-geoformat/2_roadtrip-a-vos-risques-et-perils/map-static.png differ diff --git a/public/content/cohesion-des-mondes/5_test-avec-geoformat/2_roadtrip-a-vos-risques-et-perils/map-static.png.txt b/public/content/cohesion-des-mondes/5_test-avec-geoformat/2_roadtrip-a-vos-risques-et-perils/map-static.png.txt index 6b24936..577d333 100644 --- a/public/content/cohesion-des-mondes/5_test-avec-geoformat/2_roadtrip-a-vos-risques-et-perils/map-static.png.txt +++ b/public/content/cohesion-des-mondes/5_test-avec-geoformat/2_roadtrip-a-vos-risques-et-perils/map-static.png.txt @@ -1 +1 @@ -Uuid: rbrttd19ethtb0ue \ No newline at end of file +Uuid: eozkssgjffkkux34 \ No newline at end of file diff --git a/public/content/cohesion-des-mondes/5_test-avec-geoformat/narrative.txt b/public/content/cohesion-des-mondes/5_test-avec-geoformat/narrative.txt index 9186dc5..65468c9 100644 --- a/public/content/cohesion-des-mondes/5_test-avec-geoformat/narrative.txt +++ b/public/content/cohesion-des-mondes/5_test-avec-geoformat/narrative.txt @@ -18,113 +18,7 @@ Intro:

Ah le Japon... Quel beau pays où nous trouvons des créatures en tout ---- -Customcss: - -@page { - size: A5; - margin: 16mm 16mm 16mm 16mm; -} - -body { - font-family: sans-serif; - color: rgb(0, 0, 0); -} - -p { - font-size: 22px; - line-height: 18px; -} - -h1 { - font-size: 28px; - line-height: 38px; - background: rgba(60, 143, 66, 0.52); - padding-top: 10px; - padding-right: 20px; - padding-bottom: 10px; - padding-left: 20px; - margin-top: 60px; - margin-bottom: 30px; - font-family: "EB Garamond"; - font-weight: normal; - margin-right: 0mm; - margin-left: 0mm; - color: rgb(224, 9, 9); - border-style: solid; - border-color: #e01b1b; - border-width: 3px; - text-align: right; - font-style: italic; -} - -em { - font-style: italic; -} - -i { - font-style: italic; -} - -strong { - font-weight: bold; -} - -b { - font-weight: bold; -} - -a { - color: #0000ee; - text-decoration-line: underline; -} -h5 { - font-weight: bold; -} - -h4 { - font-size: 20px; - background: #dedede; - font-weight: bold; - text-align: center; - margin-bottom: 30px; -} - -h3 { - font-size: 20px; - border-width: 2px; - font-weight: bold; - border-style: dotted; - border-color: #000000; - margin-top: 30px; - margin-bottom: 20px; -} - -h2 { - font-size: 38px; - border-width: 2px; - font-weight: bold; - border-style: solid; - border-color: #000000; - padding-top: 20px; - padding-right: 20px; - padding-bottom: 20px; - padding-left: 20px; - margin-top: 36px; -} - -p.author { - font-size: 24px; - background: rgba(255, 255, 255, 0.521); - font-weight: bold; - padding-top: 10px; - padding-right: 20px; - padding-bottom: 10px; - padding-left: 20px; - margin-top: 20px; - margin-right: 0px; - margin-bottom: 0px; - margin-left: 0px; -} +Customcss: ---- diff --git a/public/site/cache/index.html b/public/site/cache/index.html new file mode 100644 index 0000000..e69de29 diff --git a/public/site/templates/narrative.json.php b/public/site/templates/narrative.json.php index 1eedce0..6fbd992 100644 --- a/public/site/templates/narrative.json.php +++ b/public/site/templates/narrative.json.php @@ -22,13 +22,6 @@ function resolveFileUrl($field, $page) { return null; } -/** - * Supprime les

imbriqués dans les

  • (générés par Kirby pour les listes "loose") - */ -function stripParagraphsInListItems($html) { - return preg_replace('/
  • \s*

    (.*?)<\/p>\s*<\/li>/s', '

  • $1
  • ', $html); -} - /** * Résout les images dans le contenu HTML */ @@ -70,7 +63,7 @@ function parseBlocks($blocksField, $page) { switch ($block->type()) { case 'text': $blockData['content'] = [ - 'text' => stripParagraphsInListItems(resolveImagesInHtml($block->text()->value(), $page)) + 'text' => resolveImagesInHtml($block->text()->value(), $page) ]; break; @@ -94,7 +87,7 @@ function parseBlocks($blocksField, $page) { case 'list': $blockData['content'] = [ - 'text' => stripParagraphsInListItems($block->text()->value()) + 'text' => $block->text()->value() ]; break; diff --git a/src/App.vue b/src/App.vue index f84f12e..ca080d6 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,8 +5,6 @@ import ElementPopup from './components/ElementPopup.vue'; // import PagePopup from './components/PagePopup.vue'; // DISABLED: page template styling feature import PreviewLoader from './components/PreviewLoader.vue'; import SaveButton from './components/SaveButton.vue'; -import PrintButton from './components/PrintButton.vue'; -import ZoomControls from './components/ui/ZoomControls.vue'; import { onMounted, ref, computed, provide } from 'vue'; import { useStylesheetStore } from './stores/stylesheet'; import { useNarrativeStore } from './stores/narrative'; @@ -14,11 +12,9 @@ import { useKeyboardShortcuts } from './composables/useKeyboardShortcuts'; import { useIframeInteractions } from './composables/useIframeInteractions'; import { usePreviewRenderer } from './composables/usePreviewRenderer'; import { usePrintPreview } from './composables/usePrintPreview'; -import { useProjectFonts } from './composables/useProjectFonts'; const stylesheetStore = useStylesheetStore(); const narrativeStore = useNarrativeStore(); -const { loadFontsFromCss } = useProjectFonts(); const previewFrame1 = ref(null); const previewFrame2 = ref(null); @@ -76,10 +72,6 @@ const { handleKeyboardShortcut, isMac } = useKeyboardShortcuts({ // Attach keyboard shortcut handler to renderer setKeyboardShortcutHandler(handleKeyboardShortcut); -// Zoom -const zoomControls = ref(null); -const zoomStyle = computed(() => zoomControls.value?.zoomStyle ?? {}); - // Lifecycle: Initialize app on mount onMounted(async () => { // Load narrative data (narrativeUrl constructed from location, always present) @@ -88,8 +80,6 @@ onMounted(async () => { // Initialize stylesheet with custom CSS if (narrativeStore.data) { await stylesheetStore.initializeFromNarrative(narrativeStore.data); - // Pre-load any fonts referenced in the saved CSS so @font-face rules are ready for the preview - await loadFontsFromCss(stylesheetStore.customCss); } // Render preview after data is loaded @@ -108,18 +98,16 @@ onMounted(async () => { ref="previewFrame1" class="preview-frame" :class="{ shifted: activeTab.length > 0 }" - :style="zoomStyle" > - + { /> --> - - - -
    - - -
    - + diff --git a/src/components/PagePopup.vue b/src/components/PagePopup.vue index 5f26d1c..fcaebae 100644 --- a/src/components/PagePopup.vue +++ b/src/components/PagePopup.vue @@ -18,7 +18,7 @@ - - diff --git a/src/composables/useElementSettings.js b/src/composables/useElementSettings.js deleted file mode 100644 index a32e61c..0000000 --- a/src/composables/useElementSettings.js +++ /dev/null @@ -1,944 +0,0 @@ -import { ref, reactive, computed, watch, nextTick } from 'vue'; -import { ELEMENT_DEFAULTS, INLINE_DEFAULTS } from '../utils/defaults'; -import { useStylesheetStore } from '../stores/stylesheet'; -import { useDebounce } from './useDebounce'; -import { useTextDefaults } from './useTextDefaults'; -import { useProjectFonts } from './useProjectFonts'; - -export function useElementSettings({ margin, padding, basePopup }) { - const stylesheetStore = useStylesheetStore(); - const textDefaults = useTextDefaults(); - const { fonts: projectFonts, loadFont, loadAllFontPreviews } = useProjectFonts(); - const { debouncedUpdate } = useDebounce(500); - - let isUpdatingFromStore = false; - - // --- Selector state --- - const selector = ref(''); - const currentTag = ref(''); - - // --- Style refs (initial values from defaults.js) --- - const fontFamily = ref(ELEMENT_DEFAULTS.fontFamily); - const italic = ref(ELEMENT_DEFAULTS.italic); - const bold = ref(ELEMENT_DEFAULTS.bold); - const textAlign = ref(ELEMENT_DEFAULTS.textAlign); - const color = ref(ELEMENT_DEFAULTS.color); - const background = ref(ELEMENT_DEFAULTS.background); - const fontSize = reactive({ ...ELEMENT_DEFAULTS.fontSize }); - const fontSizeModel = computed({ - get: () => ({ value: fontSize.value, unit: fontSize.unit }), - set: (v) => { fontSize.value = v.value; fontSize.unit = v.unit; }, - }); - const lineHeight = reactive({ ...ELEMENT_DEFAULTS.lineHeight }); - const lineHeightModel = computed({ - get: () => ({ value: lineHeight.value, unit: lineHeight.unit }), - set: (v) => { lineHeight.value = v.value; lineHeight.unit = v.unit; }, - }); - const borderWidth = reactive({ ...ELEMENT_DEFAULTS.borderWidth }); - const borderStyle = ref(ELEMENT_DEFAULTS.borderStyle); - const borderColor = ref(ELEMENT_DEFAULTS.borderColor); - const textDecorationLine = ref(ELEMENT_DEFAULTS.textDecorationLine); - const textDecorationStyle = ref(ELEMENT_DEFAULTS.textDecorationStyle); - const textDecorationThickness = reactive({ ...ELEMENT_DEFAULTS.textDecorationThickness }); - const textDecorationColor = ref(ELEMENT_DEFAULTS.textDecorationColor); - const textUnderlineOffset = reactive({ ...ELEMENT_DEFAULTS.textUnderlineOffset }); - - // --- Toggle state --- - const settingEnabled = reactive({ - font: false, - fontSize: false, - lineHeight: false, - textAlign: false, - color: false, - background: false, - border: false, - textDecoration: false, - margin: false, - padding: false, - }); - - // --- Cache for special groups --- - const settingCache = reactive({ - font: null, - fontSize: null, - lineHeight: null, - color: null, - }); - - // --- Persistent state per element selector --- - const elementStates = new Map(); - - const saveElementState = () => { - if (!selector.value) return; - elementStates.set(selector.value, { - toggles: { ...settingEnabled }, - cache: { - font: settingCache.font ? { ...settingCache.font } : null, - fontSize: settingCache.fontSize ? { ...settingCache.fontSize } : null, - lineHeight: settingCache.lineHeight ? { ...settingCache.lineHeight } : null, - color: settingCache.color ?? null, - }, - values: { - fontFamily: fontFamily.value, - italic: italic.value, - bold: bold.value, - fontSize: { value: fontSize.value, unit: fontSize.unit }, - lineHeight: { value: lineHeight.value, unit: lineHeight.unit }, - color: color.value, - }, - }); - }; - - // --- Property descriptors --- - const styleProps = [ - { css: 'font-family', group: 'font', get: () => fontFamily.value === 'sans-serif' ? 'sans-serif' : `"${fontFamily.value}"`, set: v => fontFamily.value = v.replace(/['"]/g, ''), debounce: false, skipWatch: true }, - { css: 'font-style', group: 'font', get: () => italic.value ? 'italic' : 'normal', set: v => italic.value = v === 'italic', debounce: false, skipWhenDefault: v => v !== 'italic' }, - { css: 'font-weight', group: 'font', get: () => bold.value ? 'bold' : 'normal', set: v => bold.value = v === 'bold' || parseInt(v) >= 700, debounce: false, skipWhenDefault: v => v === 'normal' }, - { css: 'text-align', group: 'textAlign', get: () => textAlign.value, set: v => textAlign.value = v, debounce: false }, - { css: 'color', group: 'color', get: () => color.value, set: v => color.value = v, debounce: true }, - { css: 'background', group: 'background', get: () => background.value, set: v => background.value = v, debounce: true }, - { css: 'border-style', group: 'border', get: () => borderStyle.value, set: v => borderStyle.value = v || 'solid', debounce: false }, - { css: 'border-color', group: 'border', get: () => borderColor.value, set: v => borderColor.value = v, debounce: true }, - { css: 'text-decoration-line', group: 'textDecoration', get: () => textDecorationLine.value, set: v => textDecorationLine.value = v || 'underline', debounce: false }, - { css: 'text-decoration-style', group: 'textDecoration', get: () => textDecorationStyle.value, set: v => textDecorationStyle.value = v || 'solid', debounce: false }, - { css: 'text-decoration-color', group: 'textDecoration', get: () => textDecorationColor.value, set: v => textDecorationColor.value = v, debounce: true }, - ]; - - const unitProps = [ - { css: 'font-size', group: 'fontSize', ref: fontSize, debounce: true }, - { css: 'line-height', group: 'lineHeight', ref: lineHeight, debounce: true }, - { css: 'border-width', group: 'border', ref: borderWidth, debounce: true }, - { css: 'text-decoration-thickness', group: 'textDecoration', ref: textDecorationThickness, debounce: true }, - { css: 'text-underline-offset', group: 'textDecoration', ref: textUnderlineOffset, debounce: true }, - ]; - - const settingGroups = { - font: ['font-family', 'font-style', 'font-weight'], - fontSize: ['font-size'], - lineHeight: ['line-height'], - textAlign: ['text-align'], - color: ['color'], - background: ['background'], - border: ['border-width', 'border-style', 'border-color'], - textDecoration: ['text-decoration-line', 'text-decoration-style', 'text-decoration-thickness', 'text-decoration-color', 'text-underline-offset'], - margin: ['margin-top', 'margin-right', 'margin-bottom', 'margin-left'], - padding: ['padding-top', 'padding-right', 'padding-bottom', 'padding-left'], - }; - - // --- CSS helpers --- - const removeProps = (cssProps) => { - if (!selector.value) return; - const block = stylesheetStore.extractBlock(selector.value); - if (!block || !stylesheetStore.customCss.includes(block)) return; - - let newBlock = block; - for (const prop of cssProps) { - const escaped = prop.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); - newBlock = newBlock.replace( - new RegExp('[ \\t]*' + escaped + '\\s*:[^;]*;[ \\t]*\\n?', 'g'), - '' - ); - } - - const inner = newBlock.replace(/^[^{]*\{/, '').replace(/\}[^}]*$/, ''); - if (!inner.trim()) { - stylesheetStore.replaceInCustomCss(block, ''); - } else { - stylesheetStore.replaceBlock(block, newBlock); - } - }; - - const updateProp = (cssProp, value, unit) => { - if (!selector.value) return; - stylesheetStore.updateProperty(selector.value, cssProp, value, unit); - }; - - // --- Group apply/toggle --- - const applyGroup = (group) => { - if (!selector.value) return; - - for (const prop of styleProps) { - if (prop.group !== group) continue; - if (prop.skipWhenDefault && prop.skipWhenDefault(prop.get())) continue; - updateProp(prop.css, prop.get()); - } - for (const prop of unitProps) { - if (prop.group === group) updateProp(prop.css, prop.ref.value, prop.ref.unit); - } - if (group === 'margin') { - for (const side of ['top', 'right', 'bottom', 'left']) { - updateProp(`margin-${side}`, margin[side].value, margin[side].unit); - } - } - if (group === 'padding') { - for (const side of ['top', 'right', 'bottom', 'left']) { - updateProp(`padding-${side}`, padding[side].value, padding[side].unit); - } - } - }; - - const applyAllEnabledGroups = () => { - for (const group of Object.keys(settingEnabled)) { - if (settingEnabled[group]) applyGroup(group); - } - }; - - // --- Special group cache --- - const saveToCache = (group) => { - if (group === 'fontSize') { - settingCache.fontSize = { value: fontSize.value, unit: fontSize.unit }; - } else if (group === 'lineHeight') { - settingCache.lineHeight = { value: lineHeight.value, unit: lineHeight.unit }; - } else if (group === 'font') { - settingCache.font = { fontFamily: fontFamily.value, italic: italic.value, bold: bold.value }; - } else if (group === 'color') { - settingCache.color = color.value; - } - }; - - const restoreFromCache = (group) => { - if (group === 'fontSize' && settingCache.fontSize) { - fontSize.value = settingCache.fontSize.value; - fontSize.unit = settingCache.fontSize.unit; - settingCache.fontSize = null; - } else if (group === 'lineHeight' && settingCache.lineHeight) { - lineHeight.value = settingCache.lineHeight.value; - lineHeight.unit = settingCache.lineHeight.unit; - settingCache.lineHeight = null; - } else if (group === 'font' && settingCache.font) { - fontFamily.value = settingCache.font.fontFamily; - italic.value = settingCache.font.italic; - bold.value = settingCache.font.bold; - settingCache.font = null; - } else if (group === 'color' && settingCache.color !== null) { - color.value = settingCache.color; - settingCache.color = null; - } - }; - - const removeSpecialGroupProps = (group) => { - if (!selector.value) return; - if (group === 'fontSize') { - removeProps(['font-size']); - stylesheetStore.updateProperty('p', 'font-size', textDefaults.fontSize.value, textDefaults.fontSize.unit); - } else if (group === 'lineHeight') { - removeProps(['line-height']); - stylesheetStore.updateProperty('p', 'line-height', textDefaults.lineHeight.value, textDefaults.lineHeight.unit); - } else if (group === 'color') { - removeProps(['color']); - stylesheetStore.updateProperty('body', 'color', textDefaults.color); - } else if (group === 'font') { - removeProps(['font-family', 'font-style']); - // Write font-weight: normal explicitly so applyDefaultsCss() won't re-apply bold defaults on reload - stylesheetStore.updateProperty(selector.value, 'font-weight', 'normal'); - const fontVal = textDefaults.fontFamily === 'sans-serif' ? 'sans-serif' : `"${textDefaults.fontFamily}"`; - stylesheetStore.updateProperty('body', 'font-family', fontVal); - } - }; - - // --- Reset refs to inherited/default values when toggle is turned off --- - const resetRefsToDefaults = (group) => { - if (group === 'font') { - fontFamily.value = textDefaults.fontFamily; - italic.value = ELEMENT_DEFAULTS.italic; - bold.value = ELEMENT_DEFAULTS.bold; - // Re-apply inline defaults if applicable - const inlineDefaults = INLINE_DEFAULTS[currentTag.value]; - if (inlineDefaults) { - if (inlineDefaults.fontStyle === 'italic') italic.value = true; - if (inlineDefaults.fontWeight === 'bold') bold.value = true; - } - } else if (group === 'fontSize') { - fontSize.value = textDefaults.fontSize.value; - fontSize.unit = textDefaults.fontSize.unit; - } else if (group === 'lineHeight') { - lineHeight.value = textDefaults.lineHeight.value; - lineHeight.unit = textDefaults.lineHeight.unit; - } else if (group === 'color') { - color.value = textDefaults.color; - // Re-apply inline default color if applicable - const inlineDefaults = INLINE_DEFAULTS[currentTag.value]; - if (inlineDefaults?.color) color.value = inlineDefaults.color; - } - }; - - // --- Toggle actions --- - const onSubsectionClick = (group) => { - if (settingEnabled[group]) return; - onToggleSetting(group, true); - }; - - const onToggleSetting = (group, enabled) => { - settingEnabled[group] = enabled; - isUpdatingFromStore = true; - if (enabled) { - restoreFromCache(group); - applyAllEnabledGroups(); - } else { - saveToCache(group); - const specialGroups = ['font', 'fontSize', 'lineHeight', 'color']; - if (specialGroups.includes(group)) { - removeSpecialGroupProps(group); - } else { - removeProps(settingGroups[group]); - } - // Reset refs to defaults so displayedCss shows inherited values - resetRefsToDefaults(group); - } - saveElementState(); - nextTick(() => { isUpdatingFromStore = false; }); - }; - - // --- CSS display computeds --- - const elementCss = computed(() => { - if (!selector.value) return ''; - return stylesheetStore.extractBlock(selector.value) || ''; - }); - - const displayedCssOrder = [ - { css: 'font-family', group: 'font', special: true, - getValue: () => { const val = fontFamily.value; return val === 'sans-serif' ? 'sans-serif' : `"${val}"`; } }, - { css: 'font-style', group: 'font', - getValue: () => italic.value ? 'italic' : (INLINE_DEFAULTS[currentTag.value]?.fontStyle || null), - skip: () => !italic.value && !INLINE_DEFAULTS[currentTag.value]?.fontStyle && !hasInCss('font-style') }, - { css: 'font-weight', group: 'font', - getValue: () => bold.value ? 'bold' : (INLINE_DEFAULTS[currentTag.value]?.fontWeight || null), - skip: () => !bold.value && !INLINE_DEFAULTS[currentTag.value]?.fontWeight && !hasInCss('font-weight') }, - { css: 'font-size', group: 'fontSize', special: true, - getValue: () => `${fontSize.value}${fontSize.unit}`, - skip: () => isIndependentElement.value && !settingEnabled.fontSize && !hasInCss('font-size') }, - { css: 'line-height', group: 'lineHeight', special: true, - getValue: () => `${lineHeight.value}${lineHeight.unit}`, - skip: () => isIndependentElement.value && !settingEnabled.lineHeight && !hasInCss('line-height') }, - { css: 'text-align', group: 'textAlign', - getValue: () => textAlign.value, - skip: () => !settingEnabled.textAlign && !hasInCss('text-align') }, - { css: 'color', group: 'color', special: true, - getValue: () => color.value }, - { css: 'background', group: 'background', - getValue: () => background.value, - skip: () => !settingEnabled.background && !hasInCss('background') }, - { css: 'border-width', group: 'border', - getValue: () => `${borderWidth.value}${borderWidth.unit}`, - skip: () => !settingEnabled.border && !hasInCss('border-width') }, - { css: 'border-style', group: 'border', - getValue: () => borderStyle.value, - skip: () => (!settingEnabled.border && !hasInCss('border-style')) || borderWidth.value === 0 }, - { css: 'border-color', group: 'border', - getValue: () => borderColor.value, - skip: () => (!settingEnabled.border && !hasInCss('border-color')) || borderWidth.value === 0 }, - { css: 'text-decoration-line', group: 'textDecoration', - getValue: () => textDecorationLine.value || (INLINE_DEFAULTS[currentTag.value]?.textDecorationLine || null), - skip: () => !settingEnabled.textDecoration && !INLINE_DEFAULTS[currentTag.value]?.textDecorationLine && !hasInCss('text-decoration-line') }, - { css: 'text-decoration-style', group: 'textDecoration', - getValue: () => textDecorationStyle.value, - skip: () => !settingEnabled.textDecoration && !hasInCss('text-decoration-style') }, - { css: 'text-decoration-thickness', group: 'textDecoration', - getValue: () => `${textDecorationThickness.value}${textDecorationThickness.unit}`, - skip: () => !settingEnabled.textDecoration && !hasInCss('text-decoration-thickness') }, - { css: 'text-decoration-color', group: 'textDecoration', - getValue: () => textDecorationColor.value, - skip: () => !settingEnabled.textDecoration && !hasInCss('text-decoration-color') }, - { css: 'text-underline-offset', group: 'textDecoration', - getValue: () => `${textUnderlineOffset.value}${textUnderlineOffset.unit}`, - skip: () => !settingEnabled.textDecoration && !hasInCss('text-underline-offset') }, - ]; - - const isInlineElement = computed(() => !!INLINE_DEFAULTS[currentTag.value]); - - // Elements that don't inherit font-size/line-height from

    — fully independent of TextSettings p-level - const INDEPENDENT_TAGS = new Set(['li', 'ul', 'ol', 'dt', 'dd', 'dl', 'table', 'tr', 'td', 'th', 'caption', 'figure', 'figcaption', 'pre', 'blockquote']); - const isIndependentElement = computed(() => INDEPENDENT_TAGS.has(currentTag.value)); - - // Check if the current selector has a CSS property in the store (active CSS only, not commented) - const hasInCss = (cssProp) => { - if (!selector.value) return false; - return !!stylesheetStore.extractValue(selector.value, cssProp, false); - }; - - const displayedCss = computed(() => { - if (!selector.value) return ''; - const lines = []; - for (const entry of displayedCssOrder) { - if (entry.skip && entry.skip()) continue; - const groupEnabled = settingEnabled[entry.group]; - // For inline elements, skip special groups (TextSettings defaults) when toggle is OFF - // Exception: keep if the current tag has an inline default for this CSS property - if (entry.special && isInlineElement.value && !groupEnabled) { - const tagDefaults = INLINE_DEFAULTS[currentTag.value]; - const cssToDefaultKey = { 'color': 'color', 'font-family': 'fontFamily' }; - const defaultKey = cssToDefaultKey[entry.css]; - if (!defaultKey || !tagDefaults?.[defaultKey]) continue; - } - const val = entry.getValue(); - if (val === null || val === undefined) continue; - - // Determine inheritance comment for disabled groups - let comment = ''; - if (!groupEnabled) { - if (entry.special) { - // Special groups: show "hérité de la page" when value matches page-level default - const textDefaultValues = { - 'font-family': textDefaults.fontFamily === 'sans-serif' ? 'sans-serif' : `"${textDefaults.fontFamily}"`, - 'font-size': `${textDefaults.fontSize.value}${textDefaults.fontSize.unit}`, - 'line-height': `${textDefaults.lineHeight.value}${textDefaults.lineHeight.unit}`, - 'color': textDefaults.color, - }; - if (val === textDefaultValues[entry.css]) { - comment = ' /* hérité de la page */'; - } - } else if (hasInCss(entry.css)) { - // Non-special groups: show comment when CSS exists but toggle is off - comment = ' /* hérité de la page */'; - } - } - lines.push(` ${entry.css}: ${val};${comment}`); - } - for (const side of ['top', 'right', 'bottom', 'left']) { - if (settingEnabled.margin || hasInCss(`margin-${side}`)) { - lines.push(` margin-${side}: ${margin[side].value}${margin[side].unit};`); - } - } - for (const side of ['top', 'right', 'bottom', 'left']) { - if (settingEnabled.padding || hasInCss(`padding-${side}`)) { - lines.push(` padding-${side}: ${padding[side].value}${padding[side].unit};`); - } - } - return `${selector.value} {\n${lines.join('\n')}\n}`; - }); - - const editableFullCss = computed(() => { - return displayedCss.value.replace(/ \/\* (?:valeur par défaut|hérité de la page) \*\//g, ''); - }); - - // --- CSS parsing & sync --- - const parseCssProperties = (cssText) => { - const result = {}; - const match = cssText.match(/\{([\s\S]*)\}/); - if (!match) return result; - for (const decl of match[1].split(';')) { - const clean = decl.replace(/\/\*[\s\S]*?\*\//g, '').trim(); - if (!clean) continue; - const idx = clean.indexOf(':'); - if (idx === -1) continue; - const prop = clean.substring(0, idx).trim(); - const val = clean.substring(idx + 1).trim(); - if (prop && val) result[prop] = val; - } - return result; - }; - - const specialGroupDiffersFromDefault = (group, parsed) => { - switch (group) { - case 'font': - return 'font-family' in parsed || 'font-style' in parsed || 'font-weight' in parsed; - case 'fontSize': - return 'font-size' in parsed; - case 'lineHeight': - return 'line-height' in parsed; - case 'color': - return 'color' in parsed; - } - return false; - }; - - const syncRefsFromCss = (cssText) => { - const parsed = parseCssProperties(cssText); - const specialGroupNames = ['font', 'fontSize', 'lineHeight', 'color']; - - for (const [group, cssProps] of Object.entries(settingGroups)) { - const hasAnyProp = cssProps.some(p => p in parsed); - - if (hasAnyProp) { - for (const prop of styleProps) { - if (prop.group !== group) continue; - if (prop.css in parsed) { - if (prop.css === 'font-family') { - const firstFont = parsed[prop.css].split(',')[0].trim().replace(/['"]/g, ''); - fontFamily.value = firstFont; - } else { - prop.set(parsed[prop.css]); - } - } else { - // Property removed from CSS: reset to default - prop.set('normal'); - } - } - for (const prop of unitProps) { - if (prop.group !== group || !(prop.css in parsed)) continue; - const m = parsed[prop.css].match(/([\d.]+)(px|rem|em|mm|cm|in)?/); - if (m) { - prop.ref.value = parseFloat(m[1]); - prop.ref.unit = m[2] || 'px'; - } - } - if (group === 'margin') { - for (const side of ['top', 'right', 'bottom', 'left']) { - if (`margin-${side}` in parsed) { - const m = parsed[`margin-${side}`].match(/([\d.]+)(px|rem|em|mm|cm|in)?/); - if (m) { margin[side].value = parseFloat(m[1]); margin[side].unit = m[2] || 'mm'; } - } - } - } - if (group === 'padding') { - for (const side of ['top', 'right', 'bottom', 'left']) { - if (`padding-${side}` in parsed) { - const m = parsed[`padding-${side}`].match(/([\d.]+)(px|rem|em|mm|cm|in)?/); - if (m) { padding[side].value = parseFloat(m[1]); padding[side].unit = m[2] || 'mm'; } - } - } - } - - if (!settingEnabled[group]) { - if (specialGroupNames.includes(group)) { - if (specialGroupDiffersFromDefault(group, parsed)) { - settingEnabled[group] = true; - settingCache[group] = null; - } - } else { - settingEnabled[group] = true; - } - } - } else if (settingEnabled[group]) { - settingEnabled[group] = false; - if (group === 'font') { - fontFamily.value = textDefaults.fontFamily; - italic.value = false; - bold.value = false; - settingCache.font = null; - } else if (group === 'fontSize') { - fontSize.value = textDefaults.fontSize.value; - fontSize.unit = textDefaults.fontSize.unit; - settingCache.fontSize = null; - } else if (group === 'lineHeight') { - lineHeight.value = textDefaults.lineHeight.value; - lineHeight.unit = textDefaults.lineHeight.unit; - settingCache.lineHeight = null; - } else if (group === 'color') { - color.value = textDefaults.color; - settingCache.color = null; - } - } - } - - saveElementState(); - }; - - const handleCssInput = (newCss) => { - isUpdatingFromStore = true; - - syncRefsFromCss(newCss); - - const parsed = parseCssProperties(newCss); - const specialGroupPropsMap = { - font: ['font-family', 'font-style', 'font-weight'], - fontSize: ['font-size'], - lineHeight: ['line-height'], - color: ['color'], - }; - const excludedProps = new Set(); - for (const [group, props] of Object.entries(specialGroupPropsMap)) { - if (!settingEnabled[group]) { - props.forEach(p => excludedProps.add(p)); - } - } - - const storeParts = []; - for (const [prop, val] of Object.entries(parsed)) { - if (!excludedProps.has(prop)) { - storeParts.push(` ${prop}: ${val};`); - } - } - - const storeBlock = storeParts.length - ? `${selector.value} {\n${storeParts.join('\n')}\n}\n` - : ''; - - const oldBlock = elementCss.value; - if (oldBlock && storeBlock) { - stylesheetStore.replaceInCustomCss(oldBlock, storeBlock); - } else if (oldBlock && !storeBlock) { - stylesheetStore.replaceInCustomCss(oldBlock, ''); - } else if (!oldBlock && storeBlock) { - stylesheetStore.setCustomCss( - (stylesheetStore.customCss ? stylesheetStore.customCss + '\n' : '') + storeBlock - ); - } - - nextTick(() => { isUpdatingFromStore = false; }); - }; - - // --- Reapply stored values (shared selector protection) --- - const reapplyStoredEnabledGroups = () => { - const currentSel = basePopup.value?.visible ? selector.value : null; - - for (const [sel, state] of elementStates) { - if (!state.toggles || !state.values) continue; - if (sel === currentSel) continue; - - if (state.toggles.font) { - const val = state.values.fontFamily === 'sans-serif' ? 'sans-serif' : `"${state.values.fontFamily}"`; - stylesheetStore.updateProperty(sel, 'font-family', val); - } - if (state.toggles.fontSize) { - stylesheetStore.updateProperty(sel, 'font-size', state.values.fontSize.value, state.values.fontSize.unit); - } - if (state.toggles.lineHeight) { - stylesheetStore.updateProperty(sel, 'line-height', state.values.lineHeight.value, state.values.lineHeight.unit); - } - if (state.toggles.color) { - stylesheetStore.updateProperty(sel, 'color', state.values.color); - } - } - - if (currentSel) { - applyAllEnabledGroups(); - } - }; - - // --- Load values from stylesheet --- - const loadValuesFromStylesheet = (isInitialLoad = false) => { - if (!selector.value) return; - if (!isInitialLoad) return; - - try { - for (const prop of styleProps) { - const data = stylesheetStore.extractValue(selector.value, prop.css); - if (data) { - const value = typeof data === 'string' ? data : data.value; - prop.set(value); - } - } - - for (const prop of unitProps) { - const data = stylesheetStore.extractValue(selector.value, prop.css); - if (data && data.value !== undefined) { - prop.ref.value = data.value; - prop.ref.unit = data.unit; - } - } - - const spacingSides = ['top', 'right', 'bottom', 'left']; - for (const side of spacingSides) { - const data = stylesheetStore.extractValue(selector.value, `margin-${side}`); - if (data && data.value !== undefined) { - margin[side].value = data.value; - margin[side].unit = data.unit; - } - } - for (const side of spacingSides) { - const data = stylesheetStore.extractValue(selector.value, `padding-${side}`); - if (data && data.value !== undefined) { - padding[side].value = data.value; - padding[side].unit = data.unit; - } - } - - // Fallback to TextSettings defaults only if the selector doesn't already have the value. - // Independent elements (li, ul, ol, table...) don't inherit from

    — only body-level fallbacks apply. - const independent = isIndependentElement.value; - - if (!settingEnabled.font && !settingCache.font) { - if (!stylesheetStore.extractValue(selector.value, 'font-family')) { - const ff = stylesheetStore.extractValue('body', 'font-family'); - if (ff) fontFamily.value = (typeof ff === 'string' ? ff : ff.value).replace(/['"]/g, ''); - } - if (!independent) { - if (!stylesheetStore.extractValue(selector.value, 'font-style')) { - const fs = stylesheetStore.extractValue('p', 'font-style'); - if (fs) italic.value = (typeof fs === 'string' ? fs : fs.value) === 'italic'; - } - if (!stylesheetStore.extractValue(selector.value, 'font-weight')) { - const fw = stylesheetStore.extractValue('p', 'font-weight'); - if (fw) { const v = typeof fw === 'string' ? fw : fw.value; bold.value = v === 'bold' || parseInt(v) >= 700; } - } - } - } - if (!independent && !settingEnabled.fontSize && !settingCache.fontSize) { - if (!stylesheetStore.extractValue(selector.value, 'font-size')) { - const data = stylesheetStore.extractValue('p', 'font-size'); - if (data && data.value !== undefined) { fontSize.value = data.value; fontSize.unit = data.unit; } - } - } - if (!independent && !settingEnabled.lineHeight && !settingCache.lineHeight) { - if (!stylesheetStore.extractValue(selector.value, 'line-height')) { - const data = stylesheetStore.extractValue('p', 'line-height'); - if (data && data.value !== undefined) { lineHeight.value = data.value; lineHeight.unit = data.unit; } - } - } - if (!settingEnabled.color && settingCache.color === null) { - if (!stylesheetStore.extractValue(selector.value, 'color')) { - const c = stylesheetStore.extractValue('body', 'color'); - if (c) color.value = typeof c === 'string' ? c : c.value; - } - } - } catch (error) { - console.error('Error loading values from stylesheet:', error); - } - }; - - // --- Open / Close --- - const open = (element, event, { getSelectorFromElement, getInstanceCount, selectedElement, elementInstanceCount }) => { - isUpdatingFromStore = true; - - selectedElement.value = element; - selector.value = getSelectorFromElement(element); - currentTag.value = element.tagName.toLowerCase(); - elementInstanceCount.value = getInstanceCount(selector.value); - - const stored = elementStates.get(selector.value); - if (stored) { - Object.assign(settingEnabled, stored.toggles); - settingCache.font = stored.cache.font ? { ...stored.cache.font } : null; - settingCache.fontSize = stored.cache.fontSize ? { ...stored.cache.fontSize } : null; - settingCache.lineHeight = stored.cache.lineHeight ? { ...stored.cache.lineHeight } : null; - settingCache.color = stored.cache.color ?? null; - } else { - for (const group of Object.keys(settingEnabled)) { - settingEnabled[group] = false; - } - settingCache.font = null; - settingCache.fontSize = null; - settingCache.lineHeight = null; - settingCache.color = null; - } - - // Reset inline-specific values, then apply tag-based defaults - italic.value = ELEMENT_DEFAULTS.italic; - bold.value = ELEMENT_DEFAULTS.bold; - color.value = ELEMENT_DEFAULTS.color; - textDecorationLine.value = ELEMENT_DEFAULTS.textDecorationLine; - - const tag = element.tagName.toLowerCase(); - const inlineDefaults = INLINE_DEFAULTS[tag]; - if (inlineDefaults) { - if (inlineDefaults.fontStyle === 'italic') italic.value = true; - if (inlineDefaults.fontWeight === 'bold') bold.value = true; - if (inlineDefaults.color) color.value = inlineDefaults.color; - if (inlineDefaults.textDecorationLine) textDecorationLine.value = inlineDefaults.textDecorationLine; - } - - loadValuesFromStylesheet(true); - - // If no session state, sync toggles from custom CSS block (handles page reload with saved CSS) - // Uses extractCustomBlock (not extractBlock) to avoid activating toggles for base stylesheet rules - if (!stored) { - const cssBlock = stylesheetStore.extractCustomBlock(selector.value); - if (cssBlock) syncRefsFromCss(cssBlock); - } - - if (stored && stored.values) { - if (settingEnabled.font) { - fontFamily.value = stored.values.fontFamily; - italic.value = stored.values.italic; - bold.value = stored.values.bold; - } else if (settingCache.font) { - fontFamily.value = settingCache.font.fontFamily; - italic.value = settingCache.font.italic; - bold.value = settingCache.font.bold; - } - if (settingEnabled.fontSize) { - fontSize.value = stored.values.fontSize.value; - fontSize.unit = stored.values.fontSize.unit; - } else if (settingCache.fontSize) { - fontSize.value = settingCache.fontSize.value; - fontSize.unit = settingCache.fontSize.unit; - } - if (settingEnabled.lineHeight) { - lineHeight.value = stored.values.lineHeight.value; - lineHeight.unit = stored.values.lineHeight.unit; - } else if (settingCache.lineHeight) { - lineHeight.value = settingCache.lineHeight.value; - lineHeight.unit = settingCache.lineHeight.unit; - } - if (settingEnabled.color) { - color.value = stored.values.color; - } else if (settingCache.color !== null) { - color.value = settingCache.color; - } - } - - basePopup.value.open(event); - nextTick(() => { isUpdatingFromStore = false; }); - }; - - const close = ({ selectedElement, emit }) => { - saveElementState(); - basePopup.value?.close(); - selector.value = ''; - currentTag.value = ''; - selectedElement.value = null; - emit('close'); - }; - - // --- Watchers --- - - // Font family: load font then update CSS - watch(fontFamily, async (val) => { - if (val && val !== 'sans-serif') await loadFont(val); - if (isUpdatingFromStore) return; - if (!settingEnabled.font) return; - const cssValue = val === 'sans-serif' ? 'sans-serif' : `"${val}"`; - updateProp('font-family', cssValue); - }); - - // Sync special groups with TextSettings defaults - watch(() => textDefaults.fontFamily, (val) => { - if (!settingEnabled.font && settingCache.font === null) fontFamily.value = val; - }); - watch(() => textDefaults.fontSize, (val) => { - if (!settingEnabled.fontSize && settingCache.fontSize === null) { - fontSize.value = val.value; - fontSize.unit = val.unit; - } - }, { deep: true }); - watch(() => textDefaults.lineHeight, (val) => { - if (!settingEnabled.lineHeight && settingCache.lineHeight === null) { - lineHeight.value = val.value; - lineHeight.unit = val.unit; - } - }, { deep: true }); - watch(() => textDefaults.color, (val) => { - if (!settingEnabled.color && settingCache.color === null) color.value = val; - }); - - // Simple props watchers - for (const prop of styleProps) { - if (prop.skipWatch) continue; - watch(prop.get, () => { - if (isUpdatingFromStore) return; - if (!settingEnabled[prop.group]) return; - const fn = () => updateProp(prop.css, prop.get()); - prop.debounce ? debouncedUpdate(fn) : fn(); - }); - } - - // Unit props watchers - for (const prop of unitProps) { - watch(() => prop.ref.value, () => { - if (isUpdatingFromStore) return; - if (!settingEnabled[prop.group]) return; - const fn = () => updateProp(prop.css, prop.ref.value, prop.ref.unit); - prop.debounce ? debouncedUpdate(fn) : fn(); - }); - watch(() => prop.ref.unit, () => { - if (isUpdatingFromStore) return; - if (!settingEnabled[prop.group]) return; - updateProp(prop.css, prop.ref.value, prop.ref.unit); - }); - } - - // Margin watchers - watch( - () => [margin.top.value, margin.right.value, margin.bottom.value, margin.left.value], - () => { - if (isUpdatingFromStore) return; - if (!settingEnabled.margin) return; - debouncedUpdate(() => { - for (const side of ['top', 'right', 'bottom', 'left']) { - updateProp(`margin-${side}`, margin[side].value, margin[side].unit); - } - }); - } - ); - watch( - () => [margin.top.unit, margin.right.unit, margin.bottom.unit, margin.left.unit], - () => { - if (isUpdatingFromStore) return; - if (!settingEnabled.margin) return; - for (const side of ['top', 'right', 'bottom', 'left']) { - updateProp(`margin-${side}`, margin[side].value, margin[side].unit); - } - } - ); - - // Padding watchers - watch( - () => [padding.top.value, padding.right.value, padding.bottom.value, padding.left.value], - () => { - if (isUpdatingFromStore) return; - if (!settingEnabled.padding) return; - debouncedUpdate(() => { - for (const side of ['top', 'right', 'bottom', 'left']) { - updateProp(`padding-${side}`, padding[side].value, padding[side].unit); - } - }); - } - ); - watch( - () => [padding.top.unit, padding.right.unit, padding.bottom.unit, padding.left.unit], - () => { - if (isUpdatingFromStore) return; - if (!settingEnabled.padding) return; - for (const side of ['top', 'right', 'bottom', 'left']) { - updateProp(`padding-${side}`, padding[side].value, padding[side].unit); - } - } - ); - - // Stylesheet change watcher (shared selector protection) - watch( - () => stylesheetStore.customCss, - () => { - if (isUpdatingFromStore) return; - if (stylesheetStore.isEditing) return; - isUpdatingFromStore = true; - reapplyStoredEnabledGroups(); - nextTick(() => { isUpdatingFromStore = false; }); - }, - { flush: 'sync' } - ); - - // Watch edit mode exit - watch( - () => stylesheetStore.isEditing, - (isEditing, wasEditing) => { - if (basePopup.value?.visible && wasEditing && !isEditing && !isUpdatingFromStore) { - isUpdatingFromStore = true; - loadValuesFromStylesheet(); - nextTick(() => { isUpdatingFromStore = false; }); - } - } - ); - - return { - // State - selector, - fontFamily, - italic, - bold, - textAlign, - color, - background, - fontSize, - fontSizeModel, - lineHeight, - lineHeightModel, - borderWidth, - borderStyle, - borderColor, - textDecorationLine, - textDecorationStyle, - textDecorationThickness, - textDecorationColor, - textUnderlineOffset, - settingEnabled, - settingCache, - textDefaults, - projectFonts, - loadAllFontPreviews, - - // Computeds - elementCss, - displayedCss, - editableFullCss, - - // Actions - onSubsectionClick, - onToggleSetting, - handleCssInput, - open, - close, - saveElementState, - }; -} diff --git a/src/composables/usePreviewRenderer.js b/src/composables/usePreviewRenderer.js index 01a8384..66bd267 100644 --- a/src/composables/usePreviewRenderer.js +++ b/src/composables/usePreviewRenderer.js @@ -57,12 +57,10 @@ export function usePreviewRenderer({ } // Render to the hidden frame - // Font-face CSS is injected as a separate style block so PagedJS doesn't try to parse its URLs hiddenFrame.srcdoc = ` -