@trebired/frontend 26.2.0 → 28.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +118 -0
- package/README.md +57 -5
- package/dist/a11y/components/index.d.ts.map +1 -1
- package/dist/a11y/components/index.js +4 -3
- package/dist/a11y/components/index.js.map +1 -1
- package/dist/a11y/components/sections.js +1 -1
- package/dist/a11y/components/sections.js.map +1 -1
- package/dist/a11y/styles/panel.scss +1 -9
- package/dist/a11y/styles/targets.scss +1 -3
- package/dist/code/lazy.d.ts +3 -0
- package/dist/code/lazy.d.ts.map +1 -0
- package/dist/code/lazy.js +5 -0
- package/dist/code/lazy.js.map +1 -0
- package/dist/config/containers.d.ts +7 -0
- package/dist/config/containers.d.ts.map +1 -0
- package/dist/config/containers.js +174 -0
- package/dist/config/containers.js.map +1 -0
- package/dist/config/default/component-tokens.d.ts +9 -134
- package/dist/config/default/component-tokens.d.ts.map +1 -1
- package/dist/config/default/component-tokens.js +8 -257
- package/dist/config/default/component-tokens.js.map +1 -1
- package/dist/config/default/config.d.ts.map +1 -1
- package/dist/config/default/config.js +5 -0
- package/dist/config/default/config.js.map +1 -1
- package/dist/config/default/primitive-tokens.d.ts +306 -0
- package/dist/config/default/primitive-tokens.d.ts.map +1 -0
- package/dist/config/default/primitive-tokens.js +200 -0
- package/dist/config/default/primitive-tokens.js.map +1 -0
- package/dist/config/default/scales.d.ts +2 -1
- package/dist/config/default/scales.d.ts.map +1 -1
- package/dist/config/default/scales.js +3 -1
- package/dist/config/default/scales.js.map +1 -1
- package/dist/config/index.d.ts +2 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/normalize.d.ts.map +1 -1
- package/dist/config/normalize.js +5 -1
- package/dist/config/normalize.js.map +1 -1
- package/dist/config/scales-css.d.ts.map +1 -1
- package/dist/config/scales-css.js +6 -4
- package/dist/config/scales-css.js.map +1 -1
- package/dist/config/scales.d.ts.map +1 -1
- package/dist/config/scales.js +11 -2
- package/dist/config/scales.js.map +1 -1
- package/dist/config/scss.d.ts.map +1 -1
- package/dist/config/scss.js +7 -0
- package/dist/config/scss.js.map +1 -1
- package/dist/config/shared.d.ts +3 -0
- package/dist/config/shared.d.ts.map +1 -1
- package/dist/config/shared.js +12 -0
- package/dist/config/shared.js.map +1 -1
- package/dist/config/sources/index.d.ts +2 -4
- package/dist/config/sources/index.d.ts.map +1 -1
- package/dist/config/sources/index.js +1 -2
- package/dist/config/sources/index.js.map +1 -1
- package/dist/config/sources/money.d.ts +8 -3
- package/dist/config/sources/money.d.ts.map +1 -1
- package/dist/config/sources/money.js +13 -2
- package/dist/config/sources/money.js.map +1 -1
- package/dist/config/theme.d.ts.map +1 -1
- package/dist/config/theme.js +5 -1
- package/dist/config/theme.js.map +1 -1
- package/dist/config/tokens.d.ts +16 -5
- package/dist/config/tokens.d.ts.map +1 -1
- package/dist/config/tokens.js +25 -3
- package/dist/config/tokens.js.map +1 -1
- package/dist/config/types/containers.d.ts +25 -0
- package/dist/config/types/containers.d.ts.map +1 -0
- package/dist/config/types/containers.js +2 -0
- package/dist/config/types/containers.js.map +1 -0
- package/dist/config/types.d.ts +7 -9
- package/dist/config/types.d.ts.map +1 -1
- package/dist/{layout/components/text-document.d.ts → document/components/index.d.ts} +5 -1
- package/dist/document/components/index.d.ts.map +1 -0
- package/dist/document/components/index.js +73 -0
- package/dist/document/components/index.js.map +1 -0
- package/dist/{layout/styles/text-document.scss → document/styles/index.scss} +3 -7
- package/dist/dom/binding.d.ts.map +1 -1
- package/dist/dom/binding.js +8 -0
- package/dist/dom/binding.js.map +1 -1
- package/dist/dom/index.d.ts.map +1 -1
- package/dist/dom/index.js +5 -2
- package/dist/dom/index.js.map +1 -1
- package/dist/editor/lazy.d.ts +3 -0
- package/dist/editor/lazy.d.ts.map +1 -0
- package/dist/editor/lazy.js +5 -0
- package/dist/editor/lazy.js.map +1 -0
- package/dist/entries/react/01.d.ts +6 -5
- package/dist/entries/react/01.d.ts.map +1 -1
- package/dist/entries/react/01.js +4 -5
- package/dist/entries/react/01.js.map +1 -1
- package/dist/entries/react/02.d.ts +3 -8
- package/dist/entries/react/02.d.ts.map +1 -1
- package/dist/entries/react/02.js +3 -7
- package/dist/entries/react/02.js.map +1 -1
- package/dist/entries/root/01.d.ts +0 -5
- package/dist/entries/root/01.d.ts.map +1 -1
- package/dist/entries/root/01.js +0 -5
- package/dist/entries/root/01.js.map +1 -1
- package/dist/entries/root/02.d.ts +2 -3
- package/dist/entries/root/02.d.ts.map +1 -1
- package/dist/entries/root/02.js +1 -3
- package/dist/entries/root/02.js.map +1 -1
- package/dist/entries/root/03.d.ts +2 -1
- package/dist/entries/root/03.d.ts.map +1 -1
- package/dist/entries/root/03.js +1 -1
- package/dist/entries/root/03.js.map +1 -1
- package/dist/fullscreen/lazy.d.ts +3 -0
- package/dist/fullscreen/lazy.d.ts.map +1 -0
- package/dist/fullscreen/lazy.js +5 -0
- package/dist/fullscreen/lazy.js.map +1 -0
- package/dist/graph/index.d.ts +2 -0
- package/dist/graph/index.d.ts.map +1 -1
- package/dist/graph/index.js +2 -0
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/lazy.d.ts +3 -0
- package/dist/graph/lazy.d.ts.map +1 -0
- package/dist/graph/lazy.js +5 -0
- package/dist/graph/lazy.js.map +1 -0
- package/dist/indent/styles/index.scss +16 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -15
- package/dist/index.js.map +1 -1
- package/dist/inputs/advanced/tabs/manager/dom.d.ts.map +1 -1
- package/dist/inputs/advanced/tabs/manager/dom.js +0 -3
- package/dist/inputs/advanced/tabs/manager/dom.js.map +1 -1
- package/dist/inputs/advanced/tabs/styles.scss +9 -4
- package/dist/inputs/index.d.ts.map +1 -1
- package/dist/inputs/index.js +2 -0
- package/dist/inputs/index.js.map +1 -1
- package/dist/language/runtime/source/lazy.d.ts +4 -0
- package/dist/language/runtime/source/lazy.d.ts.map +1 -0
- package/dist/language/runtime/source/lazy.js +5 -0
- package/dist/language/runtime/source/lazy.js.map +1 -0
- package/dist/layout/components/index.d.ts +0 -1
- package/dist/layout/components/index.d.ts.map +1 -1
- package/dist/layout/components/index.js +0 -1
- package/dist/layout/components/index.js.map +1 -1
- package/dist/layout/components/outline.d.ts +2 -0
- package/dist/layout/components/outline.d.ts.map +1 -1
- package/dist/layout/components/outline.js +52 -11
- package/dist/layout/components/outline.js.map +1 -1
- package/dist/layout/components/site/footer.d.ts.map +1 -1
- package/dist/layout/components/site/footer.js +2 -2
- package/dist/layout/components/site/footer.js.map +1 -1
- package/dist/layout/components/site/header/fit.d.ts.map +1 -1
- package/dist/layout/components/site/header/fit.js +14 -2
- package/dist/layout/components/site/header/fit.js.map +1 -1
- package/dist/layout/components/site/header.js +2 -2
- package/dist/layout/components/site/header.js.map +1 -1
- package/dist/layout/components/site/link.d.ts +2 -1
- package/dist/layout/components/site/link.d.ts.map +1 -1
- package/dist/layout/components/site/link.js +5 -3
- package/dist/layout/components/site/link.js.map +1 -1
- package/dist/layout/header/tone.d.ts.map +1 -1
- package/dist/layout/header/tone.js +5 -6
- package/dist/layout/header/tone.js.map +1 -1
- package/dist/layout/styles/index.scss +2 -4
- package/dist/layout/styles/outline.scss +130 -6
- package/dist/layout/styles/{site-footer.scss → site/footer.scss} +1 -30
- package/dist/layout/styles/{site-header.scss → site/header.scss} +13 -70
- package/dist/layout/styles/site/menu.scss +12 -4
- package/dist/live/components/index.d.ts +5 -2
- package/dist/live/components/index.d.ts.map +1 -1
- package/dist/live/components/index.js +7 -5
- package/dist/live/components/index.js.map +1 -1
- package/dist/live/lazy.d.ts +4 -0
- package/dist/live/lazy.d.ts.map +1 -0
- package/dist/live/lazy.js +6 -0
- package/dist/live/lazy.js.map +1 -0
- package/dist/logs/lazy.d.ts +3 -0
- package/dist/logs/lazy.d.ts.map +1 -0
- package/dist/logs/lazy.js +5 -0
- package/dist/logs/lazy.js.map +1 -0
- package/dist/namespace/index.d.ts +2 -1
- package/dist/namespace/index.d.ts.map +1 -1
- package/dist/namespace/index.js +2 -1
- package/dist/namespace/index.js.map +1 -1
- package/dist/primitives/styles/_controls.scss +4 -1
- package/dist/primitives/styles/_display.scss +0 -29
- package/dist/primitives/styles/_link.scss +106 -0
- package/dist/primitives/styles/index.scss +1 -0
- package/dist/react/index.d.ts +5 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -1
- package/dist/react/index.js.map +1 -1
- package/dist/render/current_url.d.ts +2 -1
- package/dist/render/current_url.d.ts.map +1 -1
- package/dist/render/current_url.js +16 -3
- package/dist/render/current_url.js.map +1 -1
- package/dist/reveal/index.d.ts +11 -0
- package/dist/reveal/index.d.ts.map +1 -0
- package/dist/reveal/index.js +61 -0
- package/dist/reveal/index.js.map +1 -0
- package/dist/reveal/styles/index.scss +30 -0
- package/dist/runtime/lazy.d.ts +18 -0
- package/dist/runtime/lazy.d.ts.map +1 -0
- package/dist/runtime/lazy.js +61 -0
- package/dist/runtime/lazy.js.map +1 -0
- package/dist/spa/navigate.d.ts.map +1 -1
- package/dist/spa/navigate.js +2 -1
- package/dist/spa/navigate.js.map +1 -1
- package/dist/spa/page.d.ts +4 -1
- package/dist/spa/page.d.ts.map +1 -1
- package/dist/spa/page.js +14 -1
- package/dist/spa/page.js.map +1 -1
- package/dist/src/a11y/components/index.d.ts.map +1 -1
- package/dist/src/a11y/components/index.js +4 -3
- package/dist/src/a11y/components/index.js.map +1 -1
- package/dist/src/a11y/components/sections.js +1 -1
- package/dist/src/a11y/components/sections.js.map +1 -1
- package/dist/src/code/lazy.d.ts +3 -0
- package/dist/src/code/lazy.d.ts.map +1 -0
- package/dist/src/code/lazy.js +5 -0
- package/dist/src/code/lazy.js.map +1 -0
- package/dist/src/config/containers.d.ts +7 -0
- package/dist/src/config/containers.d.ts.map +1 -0
- package/dist/src/config/containers.js +174 -0
- package/dist/src/config/containers.js.map +1 -0
- package/dist/src/config/default/component-tokens.d.ts +9 -134
- package/dist/src/config/default/component-tokens.d.ts.map +1 -1
- package/dist/src/config/default/component-tokens.js +8 -257
- package/dist/src/config/default/component-tokens.js.map +1 -1
- package/dist/src/config/default/config.d.ts.map +1 -1
- package/dist/src/config/default/config.js +5 -0
- package/dist/src/config/default/config.js.map +1 -1
- package/dist/src/config/default/primitive-tokens.d.ts +306 -0
- package/dist/src/config/default/primitive-tokens.d.ts.map +1 -0
- package/dist/src/config/default/primitive-tokens.js +200 -0
- package/dist/src/config/default/primitive-tokens.js.map +1 -0
- package/dist/src/config/default/scales.d.ts +2 -1
- package/dist/src/config/default/scales.d.ts.map +1 -1
- package/dist/src/config/default/scales.js +3 -1
- package/dist/src/config/default/scales.js.map +1 -1
- package/dist/src/config/index.d.ts +2 -1
- package/dist/src/config/index.d.ts.map +1 -1
- package/dist/src/config/index.js +1 -0
- package/dist/src/config/index.js.map +1 -1
- package/dist/src/config/normalize.d.ts.map +1 -1
- package/dist/src/config/normalize.js +5 -1
- package/dist/src/config/normalize.js.map +1 -1
- package/dist/src/config/scales-css.d.ts.map +1 -1
- package/dist/src/config/scales-css.js +6 -4
- package/dist/src/config/scales-css.js.map +1 -1
- package/dist/src/config/scales.d.ts.map +1 -1
- package/dist/src/config/scales.js +11 -2
- package/dist/src/config/scales.js.map +1 -1
- package/dist/src/config/scss.d.ts.map +1 -1
- package/dist/src/config/scss.js +7 -0
- package/dist/src/config/scss.js.map +1 -1
- package/dist/src/config/shared.d.ts +3 -0
- package/dist/src/config/shared.d.ts.map +1 -1
- package/dist/src/config/shared.js +12 -0
- package/dist/src/config/shared.js.map +1 -1
- package/dist/src/config/sources/index.d.ts +2 -4
- package/dist/src/config/sources/index.d.ts.map +1 -1
- package/dist/src/config/sources/index.js +1 -2
- package/dist/src/config/sources/index.js.map +1 -1
- package/dist/src/config/sources/money.d.ts +8 -3
- package/dist/src/config/sources/money.d.ts.map +1 -1
- package/dist/src/config/sources/money.js +13 -2
- package/dist/src/config/sources/money.js.map +1 -1
- package/dist/src/config/theme.d.ts.map +1 -1
- package/dist/src/config/theme.js +5 -1
- package/dist/src/config/theme.js.map +1 -1
- package/dist/src/config/tokens.d.ts +16 -5
- package/dist/src/config/tokens.d.ts.map +1 -1
- package/dist/src/config/tokens.js +25 -3
- package/dist/src/config/tokens.js.map +1 -1
- package/dist/src/config/types/containers.d.ts +25 -0
- package/dist/src/config/types/containers.d.ts.map +1 -0
- package/dist/src/config/types/containers.js +2 -0
- package/dist/src/config/types/containers.js.map +1 -0
- package/dist/src/config/types.d.ts +7 -9
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/{layout/components/text-document.d.ts → document/components/index.d.ts} +5 -1
- package/dist/src/document/components/index.d.ts.map +1 -0
- package/dist/src/document/components/index.js +73 -0
- package/dist/src/document/components/index.js.map +1 -0
- package/dist/src/dom/binding.d.ts.map +1 -1
- package/dist/src/dom/binding.js +8 -0
- package/dist/src/dom/binding.js.map +1 -1
- package/dist/src/dom/index.d.ts.map +1 -1
- package/dist/src/dom/index.js +5 -2
- package/dist/src/dom/index.js.map +1 -1
- package/dist/src/editor/lazy.d.ts +3 -0
- package/dist/src/editor/lazy.d.ts.map +1 -0
- package/dist/src/editor/lazy.js +5 -0
- package/dist/src/editor/lazy.js.map +1 -0
- package/dist/src/entries/react/01.d.ts +6 -5
- package/dist/src/entries/react/01.d.ts.map +1 -1
- package/dist/src/entries/react/01.js +4 -5
- package/dist/src/entries/react/01.js.map +1 -1
- package/dist/src/entries/react/02.d.ts +3 -8
- package/dist/src/entries/react/02.d.ts.map +1 -1
- package/dist/src/entries/react/02.js +3 -7
- package/dist/src/entries/react/02.js.map +1 -1
- package/dist/src/entries/root/01.d.ts +0 -5
- package/dist/src/entries/root/01.d.ts.map +1 -1
- package/dist/src/entries/root/01.js +0 -5
- package/dist/src/entries/root/01.js.map +1 -1
- package/dist/src/entries/root/02.d.ts +2 -3
- package/dist/src/entries/root/02.d.ts.map +1 -1
- package/dist/src/entries/root/02.js +1 -3
- package/dist/src/entries/root/02.js.map +1 -1
- package/dist/src/entries/root/03.d.ts +2 -1
- package/dist/src/entries/root/03.d.ts.map +1 -1
- package/dist/src/entries/root/03.js +1 -1
- package/dist/src/entries/root/03.js.map +1 -1
- package/dist/src/fullscreen/lazy.d.ts +3 -0
- package/dist/src/fullscreen/lazy.d.ts.map +1 -0
- package/dist/src/fullscreen/lazy.js +5 -0
- package/dist/src/fullscreen/lazy.js.map +1 -0
- package/dist/src/graph/index.d.ts +2 -0
- package/dist/src/graph/index.d.ts.map +1 -1
- package/dist/src/graph/index.js +2 -0
- package/dist/src/graph/index.js.map +1 -1
- package/dist/src/graph/lazy.d.ts +3 -0
- package/dist/src/graph/lazy.d.ts.map +1 -0
- package/dist/src/graph/lazy.js +5 -0
- package/dist/src/graph/lazy.js.map +1 -0
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -15
- package/dist/src/index.js.map +1 -1
- package/dist/src/inputs/advanced/tabs/manager/dom.d.ts.map +1 -1
- package/dist/src/inputs/advanced/tabs/manager/dom.js +0 -3
- package/dist/src/inputs/advanced/tabs/manager/dom.js.map +1 -1
- package/dist/src/inputs/index.d.ts.map +1 -1
- package/dist/src/inputs/index.js +2 -0
- package/dist/src/inputs/index.js.map +1 -1
- package/dist/src/language/runtime/source/lazy.d.ts +4 -0
- package/dist/src/language/runtime/source/lazy.d.ts.map +1 -0
- package/dist/src/language/runtime/source/lazy.js +5 -0
- package/dist/src/language/runtime/source/lazy.js.map +1 -0
- package/dist/src/layout/components/index.d.ts +0 -1
- package/dist/src/layout/components/index.d.ts.map +1 -1
- package/dist/src/layout/components/index.js +0 -1
- package/dist/src/layout/components/index.js.map +1 -1
- package/dist/src/layout/components/outline.d.ts +2 -0
- package/dist/src/layout/components/outline.d.ts.map +1 -1
- package/dist/src/layout/components/outline.js +52 -11
- package/dist/src/layout/components/outline.js.map +1 -1
- package/dist/src/layout/components/site/footer.d.ts.map +1 -1
- package/dist/src/layout/components/site/footer.js +2 -2
- package/dist/src/layout/components/site/footer.js.map +1 -1
- package/dist/src/layout/components/site/header/fit.d.ts.map +1 -1
- package/dist/src/layout/components/site/header/fit.js +14 -2
- package/dist/src/layout/components/site/header/fit.js.map +1 -1
- package/dist/src/layout/components/site/header.js +2 -2
- package/dist/src/layout/components/site/header.js.map +1 -1
- package/dist/src/layout/components/site/link.d.ts +2 -1
- package/dist/src/layout/components/site/link.d.ts.map +1 -1
- package/dist/src/layout/components/site/link.js +5 -3
- package/dist/src/layout/components/site/link.js.map +1 -1
- package/dist/src/layout/header/tone.d.ts.map +1 -1
- package/dist/src/layout/header/tone.js +5 -6
- package/dist/src/layout/header/tone.js.map +1 -1
- package/dist/src/live/components/index.d.ts +5 -2
- package/dist/src/live/components/index.d.ts.map +1 -1
- package/dist/src/live/components/index.js +7 -5
- package/dist/src/live/components/index.js.map +1 -1
- package/dist/src/live/lazy.d.ts +4 -0
- package/dist/src/live/lazy.d.ts.map +1 -0
- package/dist/src/live/lazy.js +6 -0
- package/dist/src/live/lazy.js.map +1 -0
- package/dist/src/logs/lazy.d.ts +3 -0
- package/dist/src/logs/lazy.d.ts.map +1 -0
- package/dist/src/logs/lazy.js +5 -0
- package/dist/src/logs/lazy.js.map +1 -0
- package/dist/src/namespace/index.d.ts +2 -1
- package/dist/src/namespace/index.d.ts.map +1 -1
- package/dist/src/namespace/index.js +2 -1
- package/dist/src/namespace/index.js.map +1 -1
- package/dist/src/react/index.d.ts +5 -0
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/react/index.js +2 -1
- package/dist/src/react/index.js.map +1 -1
- package/dist/src/render/current_url.d.ts +2 -1
- package/dist/src/render/current_url.d.ts.map +1 -1
- package/dist/src/render/current_url.js +16 -3
- package/dist/src/render/current_url.js.map +1 -1
- package/dist/src/reveal/index.d.ts +11 -0
- package/dist/src/reveal/index.d.ts.map +1 -0
- package/dist/src/reveal/index.js +61 -0
- package/dist/src/reveal/index.js.map +1 -0
- package/dist/src/runtime/lazy.d.ts +18 -0
- package/dist/src/runtime/lazy.d.ts.map +1 -0
- package/dist/src/runtime/lazy.js +61 -0
- package/dist/src/runtime/lazy.js.map +1 -0
- package/dist/src/spa/navigate.d.ts.map +1 -1
- package/dist/src/spa/navigate.js +2 -1
- package/dist/src/spa/navigate.js.map +1 -1
- package/dist/src/spa/page.d.ts +4 -1
- package/dist/src/spa/page.d.ts.map +1 -1
- package/dist/src/spa/page.js +14 -1
- package/dist/src/spa/page.js.map +1 -1
- package/dist/src/surface/components/index.d.ts +3 -60
- package/dist/src/surface/components/index.d.ts.map +1 -1
- package/dist/src/surface/components/index.js +1 -73
- package/dist/src/surface/components/index.js.map +1 -1
- package/dist/src/surface/motif/boot.d.ts.map +1 -1
- package/dist/src/surface/motif/boot.js +14 -2
- package/dist/src/surface/motif/boot.js.map +1 -1
- package/dist/src/surface/motif/program.d.ts +6 -1
- package/dist/src/surface/motif/program.d.ts.map +1 -1
- package/dist/src/surface/motif/program.js +50 -1
- package/dist/src/surface/motif/program.js.map +1 -1
- package/dist/src/tooltip/index.d.ts.map +1 -1
- package/dist/src/tooltip/index.js +9 -7
- package/dist/src/tooltip/index.js.map +1 -1
- package/dist/src/visibility/components/index.d.ts +26 -0
- package/dist/src/visibility/components/index.d.ts.map +1 -0
- package/dist/src/visibility/components/index.js +28 -0
- package/dist/src/visibility/components/index.js.map +1 -0
- package/dist/src/visibility/index.d.ts +17 -0
- package/dist/src/visibility/index.d.ts.map +1 -0
- package/dist/src/visibility/index.js +59 -0
- package/dist/src/visibility/index.js.map +1 -0
- package/dist/styles/tokens.scss +1 -0
- package/dist/styles/utils/_tone.scss +3 -0
- package/dist/styles/utils/base.scss +10 -74
- package/dist/styles/utils/headings.scss +75 -0
- package/dist/styles/utils/text/core.scss +11 -9
- package/dist/styles/utils.scss +1 -0
- package/dist/surface/components/index.d.ts +3 -60
- package/dist/surface/components/index.d.ts.map +1 -1
- package/dist/surface/components/index.js +1 -73
- package/dist/surface/components/index.js.map +1 -1
- package/dist/surface/motif/boot.d.ts.map +1 -1
- package/dist/surface/motif/boot.js +14 -2
- package/dist/surface/motif/boot.js.map +1 -1
- package/dist/surface/motif/program.d.ts +6 -1
- package/dist/surface/motif/program.d.ts.map +1 -1
- package/dist/surface/motif/program.js +50 -1
- package/dist/surface/motif/program.js.map +1 -1
- package/dist/surface/styles/hairline.scss +1 -0
- package/dist/surface/styles/index.scss +0 -2
- package/dist/surface/styles/layout.scss +0 -195
- package/dist/tooltip/index.d.ts.map +1 -1
- package/dist/tooltip/index.js +9 -7
- package/dist/tooltip/index.js.map +1 -1
- package/dist/tooltip/styles/index.scss +0 -59
- package/dist/visibility/components/index.d.ts +26 -0
- package/dist/visibility/components/index.d.ts.map +1 -0
- package/dist/visibility/components/index.js +28 -0
- package/dist/visibility/components/index.js.map +1 -0
- package/dist/visibility/index.d.ts +17 -0
- package/dist/visibility/index.d.ts.map +1 -0
- package/dist/visibility/index.js +59 -0
- package/dist/visibility/index.js.map +1 -0
- package/dist/visibility/styles/index.scss +33 -0
- package/package.json +42 -1
- package/dist/config/sources/gravatar.d.ts +0 -32
- package/dist/config/sources/gravatar.d.ts.map +0 -1
- package/dist/config/sources/gravatar.js +0 -135
- package/dist/config/sources/gravatar.js.map +0 -1
- package/dist/layout/components/text-document.d.ts.map +0 -1
- package/dist/layout/components/text-document.js +0 -44
- package/dist/layout/components/text-document.js.map +0 -1
- package/dist/layout/styles/site-link.scss +0 -61
- package/dist/src/config/sources/gravatar.d.ts +0 -32
- package/dist/src/config/sources/gravatar.d.ts.map +0 -1
- package/dist/src/config/sources/gravatar.js +0 -135
- package/dist/src/config/sources/gravatar.js.map +0 -1
- package/dist/src/layout/components/text-document.d.ts.map +0 -1
- package/dist/src/layout/components/text-document.js +0 -44
- package/dist/src/layout/components/text-document.js.map +0 -1
- package/dist/surface/styles/blocks.scss +0 -174
- package/dist/surface/styles/track.scss +0 -91
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { BuildDataSource } from "./types.js";
|
|
2
|
-
type GravatarPerson = {
|
|
3
|
-
email: string;
|
|
4
|
-
role: string;
|
|
5
|
-
};
|
|
6
|
-
type GravatarSourceOptions = {
|
|
7
|
-
people: GravatarPerson[];
|
|
8
|
-
size?: number;
|
|
9
|
-
timeout?: number;
|
|
10
|
-
userAgent?: string;
|
|
11
|
-
};
|
|
12
|
-
type GravatarLink = {
|
|
13
|
-
label: string;
|
|
14
|
-
service: string;
|
|
15
|
-
url: string;
|
|
16
|
-
};
|
|
17
|
-
type GravatarProfile = {
|
|
18
|
-
accounts: GravatarLink[];
|
|
19
|
-
avatar: string;
|
|
20
|
-
bio: string;
|
|
21
|
-
jobTitle: string;
|
|
22
|
-
links: GravatarLink[];
|
|
23
|
-
location: string;
|
|
24
|
-
name: string;
|
|
25
|
-
profileUrl: string;
|
|
26
|
-
role: string;
|
|
27
|
-
};
|
|
28
|
-
declare function profileHash(email: string): string;
|
|
29
|
-
declare function gravatarProfilesSource(options: GravatarSourceOptions): BuildDataSource<GravatarProfile[]>;
|
|
30
|
-
export { gravatarProfilesSource, profileHash };
|
|
31
|
-
export type { GravatarLink, GravatarPerson, GravatarProfile, GravatarSourceOptions };
|
|
32
|
-
//# sourceMappingURL=gravatar.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gravatar.d.ts","sourceRoot":"","sources":["../../../../src/config/sources/gravatar.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqD,eAAe,EAAE,MAAM,YAAY,CAAC;AAErG,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAwBF,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1C;AA4ID,iBAAS,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC,CAElG;AAED,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { createHash } from "node:crypto";
|
|
2
|
-
import fs from "node:fs/promises";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
const DEFAULT_SIZE = 400;
|
|
5
|
-
const DEFAULT_TIMEOUT = 15000;
|
|
6
|
-
const DEFAULT_AGENT = "trebired-site-build";
|
|
7
|
-
function profileHash(email) {
|
|
8
|
-
return createHash("sha256").update(email.trim().toLowerCase()).digest("hex");
|
|
9
|
-
}
|
|
10
|
-
function avatarPath(hash) {
|
|
11
|
-
return `people/${hash}.jpg`;
|
|
12
|
-
}
|
|
13
|
-
function linkLabel(url) {
|
|
14
|
-
try {
|
|
15
|
-
const parsed = new URL(url);
|
|
16
|
-
return `${parsed.host.replace(/^www\./u, "")}${parsed.pathname.replace(/\/$/u, "")}`;
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
return "";
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
function entryLinks(entry) {
|
|
23
|
-
return (entry.urls || [])
|
|
24
|
-
.map((link) => ({ label: String(link.title || "").trim(), service: "", url: String(link.value || "").trim() }))
|
|
25
|
-
.filter((link) => link.url)
|
|
26
|
-
.map((link) => ({ ...link, label: link.label || linkLabel(link.url) }));
|
|
27
|
-
}
|
|
28
|
-
function entryAccounts(entry) {
|
|
29
|
-
return (entry.accounts || [])
|
|
30
|
-
.filter((account) => !account.is_hidden && account.url)
|
|
31
|
-
.map((account) => ({
|
|
32
|
-
label: String(account.name || account.display || "").trim() || linkLabel(String(account.url)),
|
|
33
|
-
service: String(account.shortname || account.name || "").trim(),
|
|
34
|
-
url: String(account.url || "").trim(),
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
37
|
-
async function requestEntry(options, hash) {
|
|
38
|
-
try {
|
|
39
|
-
const response = await fetch(`https://gravatar.com/${hash}.json`, {
|
|
40
|
-
headers: { "user-agent": options.userAgent || DEFAULT_AGENT },
|
|
41
|
-
signal: AbortSignal.timeout(options.timeout || DEFAULT_TIMEOUT),
|
|
42
|
-
});
|
|
43
|
-
if (!response.ok)
|
|
44
|
-
return null;
|
|
45
|
-
const payload = await response.json();
|
|
46
|
-
return payload.entry?.[0] || null;
|
|
47
|
-
}
|
|
48
|
-
catch {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
async function cacheFile(context, hash) {
|
|
53
|
-
return path.join(context.dir || ".", context.name || "people", `${hash}.jpg`);
|
|
54
|
-
}
|
|
55
|
-
async function readCachedAvatar(context, hash) {
|
|
56
|
-
try {
|
|
57
|
-
return await fs.readFile(await cacheFile(context, hash));
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
async function avatarBytes(options, context, hash) {
|
|
64
|
-
const size = options.size || DEFAULT_SIZE;
|
|
65
|
-
try {
|
|
66
|
-
const response = await fetch(`https://gravatar.com/avatar/${hash}?s=${size}&d=404`, {
|
|
67
|
-
headers: { "user-agent": options.userAgent || DEFAULT_AGENT },
|
|
68
|
-
signal: AbortSignal.timeout(options.timeout || DEFAULT_TIMEOUT),
|
|
69
|
-
});
|
|
70
|
-
if (!response.ok)
|
|
71
|
-
return await readCachedAvatar(context, hash);
|
|
72
|
-
const bytes = new Uint8Array(await response.arrayBuffer());
|
|
73
|
-
const file = await cacheFile(context, hash);
|
|
74
|
-
await fs.mkdir(path.dirname(file), { recursive: true });
|
|
75
|
-
await fs.writeFile(file, bytes);
|
|
76
|
-
return bytes;
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
return await readCachedAvatar(context, hash);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
async function profileFor(options, context, person, assets) {
|
|
83
|
-
const hash = profileHash(person.email);
|
|
84
|
-
const entry = await requestEntry(options, hash);
|
|
85
|
-
if (!entry)
|
|
86
|
-
return null;
|
|
87
|
-
const bytes = await avatarBytes(options, context, hash);
|
|
88
|
-
if (bytes)
|
|
89
|
-
assets.push({ contents: bytes, path: avatarPath(hash) });
|
|
90
|
-
return {
|
|
91
|
-
accounts: entryAccounts(entry),
|
|
92
|
-
avatar: bytes ? `/${avatarPath(hash)}` : "",
|
|
93
|
-
bio: String(entry.aboutMe || "").trim(),
|
|
94
|
-
jobTitle: String(entry.job_title || "").trim(),
|
|
95
|
-
links: entryLinks(entry),
|
|
96
|
-
location: String(entry.currentLocation || "").trim(),
|
|
97
|
-
name: String(entry.displayName || "").trim(),
|
|
98
|
-
profileUrl: String(entry.profileUrl || "").trim(),
|
|
99
|
-
role: person.role,
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
async function keptProfile(context, person, stored, assets) {
|
|
103
|
-
if (!stored)
|
|
104
|
-
return null;
|
|
105
|
-
const hash = profileHash(person.email);
|
|
106
|
-
const bytes = await readCachedAvatar(context, hash);
|
|
107
|
-
if (bytes)
|
|
108
|
-
assets.push({ contents: bytes, path: avatarPath(hash) });
|
|
109
|
-
return { ...stored, avatar: bytes ? `/${avatarPath(hash)}` : "" };
|
|
110
|
-
}
|
|
111
|
-
async function readProfiles(options, context) {
|
|
112
|
-
const stored = Array.isArray(context.cached) ? context.cached : [];
|
|
113
|
-
const assets = [];
|
|
114
|
-
const people = [];
|
|
115
|
-
let fetched = 0;
|
|
116
|
-
for (const [index, person] of options.people.entries()) {
|
|
117
|
-
const live = await profileFor(options, context, person, assets);
|
|
118
|
-
if (live)
|
|
119
|
-
fetched += 1;
|
|
120
|
-
const profile = live || await keptProfile(context, person, stored[index], assets);
|
|
121
|
-
if (profile)
|
|
122
|
-
people.push(profile);
|
|
123
|
-
}
|
|
124
|
-
if (people.length === 0)
|
|
125
|
-
throw new Error("gravatar returned no profile");
|
|
126
|
-
const kept = people.length - fetched;
|
|
127
|
-
const links = people.reduce((total, person) => total + person.links.length + person.accounts.length, 0);
|
|
128
|
-
const detail = `${fetched} profiles, ${assets.length} avatars, ${links} links${kept > 0 ? `, ${kept} kept` : ""}`;
|
|
129
|
-
return { assets, detail, value: people };
|
|
130
|
-
}
|
|
131
|
-
function gravatarProfilesSource(options) {
|
|
132
|
-
return { fetch: (context) => readProfiles(options, context) };
|
|
133
|
-
}
|
|
134
|
-
export { gravatarProfilesSource, profileHash };
|
|
135
|
-
//# sourceMappingURL=gravatar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gravatar.js","sourceRoot":"","sources":["../../../../src/config/sources/gravatar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"text-document.d.ts","sourceRoot":"","sources":["../../../../src/layout/components/text-document.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAyC,MAAM,iCAAiC,CAAC;AAO3G,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;CACtD,CAAC;AAkFF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAgBrD;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useId } from "react";
|
|
3
|
-
import { classNames } from "../../components/index.js";
|
|
4
|
-
import { frontendClassName, frontendElementClass } from "../../namespace/index.js";
|
|
5
|
-
import { Disclosure, DisclosureButton } from "./../../inputs/components/disclosure.js";
|
|
6
|
-
import { HairlineCell, HairlinePanel } from "./../../surface/components/index.js";
|
|
7
|
-
import { Icon } from "./../../icons/react/index.js";
|
|
8
|
-
import { ProseText } from "./../../primitives/components/prose.js";
|
|
9
|
-
import { PageOutlineLayout } from "./outline.js";
|
|
10
|
-
const block = "text-document";
|
|
11
|
-
const DEFAULT_MIN_OUTLINE_SECTIONS = 3;
|
|
12
|
-
const MARK_ICON = "remixicon:arrow-down-s-line";
|
|
13
|
-
function partsOf(section) {
|
|
14
|
-
if (section.parts?.length)
|
|
15
|
-
return section.parts;
|
|
16
|
-
return [{ body: section.body, heading: section.heading, id: section.id }];
|
|
17
|
-
}
|
|
18
|
-
function paragraphsOf(body, render) {
|
|
19
|
-
return body.map((text, index) => (render
|
|
20
|
-
? render(text, index)
|
|
21
|
-
: (_jsx("p", { children: _jsx(ProseText, { softRedirect: true, text: text }) }, index))));
|
|
22
|
-
}
|
|
23
|
-
function ProsePart({ part, render, standalone }) {
|
|
24
|
-
return (_jsxs("article", { className: classNames(frontendClassName("column"), frontendClassName("gap-sm")), children: [standalone ? null : _jsx("h3", { children: part.heading }), paragraphsOf(part.body, render)] }));
|
|
25
|
-
}
|
|
26
|
-
function DisclosurePart({ part, render }) {
|
|
27
|
-
const panelId = `${useId().replace(/:/gu, "")}_part`;
|
|
28
|
-
return (_jsx(HairlineCell, { as: "li", className: frontendElementClass(block, "item"), children: _jsx(Disclosure, { panel: paragraphsOf(part.body, render), panelId: panelId, trigger: (_jsx("h3", { className: frontendElementClass(block, "question"), children: _jsxs(DisclosureButton, { "aria-controls": panelId, className: frontendElementClass(block, "trigger"), children: [_jsx("span", { children: part.heading }), _jsx(Icon, { className: frontendElementClass(block, "mark"), spec: MARK_ICON })] }) })) }) }));
|
|
29
|
-
}
|
|
30
|
-
function Chapter({ mode, render, section }) {
|
|
31
|
-
const parts = partsOf(section);
|
|
32
|
-
const standalone = !section.parts?.length;
|
|
33
|
-
return (_jsxs("section", { className: classNames(frontendClassName("column"), frontendClassName("gap-lg")), id: section.id, children: [_jsx("h2", { children: section.heading }), mode === "disclosure" && !standalone ? (_jsx(HairlinePanel, { as: "ul", className: frontendElementClass(block, "list"), min: "100%", children: parts.map((part) => _jsx(DisclosurePart, { part: part, render: render }, part.id)) })) : (_jsx("div", { className: classNames(frontendClassName("column"), frontendClassName("gap-xl")), children: parts.map((part) => _jsx(ProsePart, { part: part, render: render, standalone: standalone }, part.id)) }))] }));
|
|
34
|
-
}
|
|
35
|
-
function TextDocumentBody(props) {
|
|
36
|
-
const { className, document, label, minOutlineSections, paragraph } = props;
|
|
37
|
-
const minimum = minOutlineSections ?? DEFAULT_MIN_OUTLINE_SECTIONS;
|
|
38
|
-
const items = document.outline === false || document.sections.length < minimum
|
|
39
|
-
? []
|
|
40
|
-
: document.sections.map((section) => ({ id: section.id, label: section.heading }));
|
|
41
|
-
return (_jsx(PageOutlineLayout, { items: items, label: label, children: _jsx("div", { className: classNames(frontendClassName(block), frontendClassName("column"), frontendClassName("gap-xl2"), className), children: document.sections.map((section) => (_jsx(Chapter, { mode: document.parts, render: paragraph, section: section }, section.id))) }) }));
|
|
42
|
-
}
|
|
43
|
-
export { TextDocumentBody };
|
|
44
|
-
//# sourceMappingURL=text-document.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"text-document.js","sourceRoot":"","sources":["../../../../src/layout/components/text-document.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
@use "@trebired/bundler/namespace" as ns;
|
|
2
|
-
|
|
3
|
-
#{ns.class("site-link")} {
|
|
4
|
-
width: fit-content;
|
|
5
|
-
color: var(#{ns.css-var("shell-link-color")}, currentColor);
|
|
6
|
-
text-decoration-line: var(#{ns.css-var("shell-link-decoration-line")}, none);
|
|
7
|
-
transition:
|
|
8
|
-
color var(#{ns.css-var("tone-change")}),
|
|
9
|
-
background-color var(#{ns.css-var("transition-fast")}, 180ms) var(#{ns.css-var("transition-easing")}, ease);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
#{ns.class("site-link--active")} {
|
|
13
|
-
color: var(#{ns.css-var("shell-link-active-color")}, var(#{ns.css-var("text")}, currentColor));
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
#{ns.class("site-link")}:hover,
|
|
17
|
-
|
|
18
|
-
#{ns.class("site-link")}:focus-visible {
|
|
19
|
-
color: var(#{ns.css-var("shell-link-hover-color")}, var(#{ns.css-var("text")}, currentColor));
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
#{ns.class("site-link-label")} {
|
|
23
|
-
display: inline-block;
|
|
24
|
-
position: relative;
|
|
25
|
-
color: color-mix(in srgb, currentColor 78%, transparent);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
#{ns.class("site-link")}:hover #{ns.class("site-link-label")},
|
|
29
|
-
|
|
30
|
-
#{ns.class("site-link")}:focus-visible #{ns.class("site-link-label")},
|
|
31
|
-
|
|
32
|
-
#{ns.class("site-link--active")} #{ns.class("site-link-label")} {
|
|
33
|
-
color: currentColor;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
#{ns.class("site-link-label")}::after {
|
|
37
|
-
position: absolute;
|
|
38
|
-
inset-inline: 0;
|
|
39
|
-
bottom: var(#{ns.css-var("shell-link-underline-offset")}, -0.35rem);
|
|
40
|
-
height: var(#{ns.css-var("shell-link-underline-radius")}, 0.3rem);
|
|
41
|
-
border-block-end-style: solid;
|
|
42
|
-
border-block-end-width: var(#{ns.css-var("shell-link-underline-height")}, 1px);
|
|
43
|
-
border-block-end-color: var(#{ns.css-var("shell-link-underline-hover-color")}, currentColor);
|
|
44
|
-
border-end-end-radius: var(#{ns.css-var("shell-link-underline-radius")}, 0.3rem);
|
|
45
|
-
border-end-start-radius: var(#{ns.css-var("shell-link-underline-radius")}, 0.3rem);
|
|
46
|
-
clip-path: inset(0 100% 0 0);
|
|
47
|
-
content: "";
|
|
48
|
-
transition: clip-path var(#{ns.css-var("shell-link-underline-duration")}, 0.3s) ease;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
#{ns.class("site-link")}:hover #{ns.class("site-link-label")}::after,
|
|
52
|
-
|
|
53
|
-
#{ns.class("site-link")}:focus-visible #{ns.class("site-link-label")}::after,
|
|
54
|
-
|
|
55
|
-
#{ns.class("site-link--active")} #{ns.class("site-link-label")}::after {
|
|
56
|
-
clip-path: inset(0 0 0 0);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
#{ns.class("site-link--active")} #{ns.class("site-link-label")}::after {
|
|
60
|
-
border-block-end-color: var(#{ns.css-var("shell-link-underline-color")}, currentColor);
|
|
61
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { BuildDataSource } from "./types.js";
|
|
2
|
-
type GravatarPerson = {
|
|
3
|
-
email: string;
|
|
4
|
-
role: string;
|
|
5
|
-
};
|
|
6
|
-
type GravatarSourceOptions = {
|
|
7
|
-
people: GravatarPerson[];
|
|
8
|
-
size?: number;
|
|
9
|
-
timeout?: number;
|
|
10
|
-
userAgent?: string;
|
|
11
|
-
};
|
|
12
|
-
type GravatarLink = {
|
|
13
|
-
label: string;
|
|
14
|
-
service: string;
|
|
15
|
-
url: string;
|
|
16
|
-
};
|
|
17
|
-
type GravatarProfile = {
|
|
18
|
-
accounts: GravatarLink[];
|
|
19
|
-
avatar: string;
|
|
20
|
-
bio: string;
|
|
21
|
-
jobTitle: string;
|
|
22
|
-
links: GravatarLink[];
|
|
23
|
-
location: string;
|
|
24
|
-
name: string;
|
|
25
|
-
profileUrl: string;
|
|
26
|
-
role: string;
|
|
27
|
-
};
|
|
28
|
-
declare function profileHash(email: string): string;
|
|
29
|
-
declare function gravatarProfilesSource(options: GravatarSourceOptions): BuildDataSource<GravatarProfile[]>;
|
|
30
|
-
export { gravatarProfilesSource, profileHash };
|
|
31
|
-
export type { GravatarLink, GravatarPerson, GravatarProfile, GravatarSourceOptions };
|
|
32
|
-
//# sourceMappingURL=gravatar.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gravatar.d.ts","sourceRoot":"","sources":["../../../../src/config/sources/gravatar.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqD,eAAe,EAAE,MAAM,YAAY,CAAC;AAErG,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAwBF,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1C;AA4ID,iBAAS,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC,CAElG;AAED,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { createHash } from "node:crypto";
|
|
2
|
-
import fs from "node:fs/promises";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
const DEFAULT_SIZE = 400;
|
|
5
|
-
const DEFAULT_TIMEOUT = 15000;
|
|
6
|
-
const DEFAULT_AGENT = "trebired-site-build";
|
|
7
|
-
function profileHash(email) {
|
|
8
|
-
return createHash("sha256").update(email.trim().toLowerCase()).digest("hex");
|
|
9
|
-
}
|
|
10
|
-
function avatarPath(hash) {
|
|
11
|
-
return `people/${hash}.jpg`;
|
|
12
|
-
}
|
|
13
|
-
function linkLabel(url) {
|
|
14
|
-
try {
|
|
15
|
-
const parsed = new URL(url);
|
|
16
|
-
return `${parsed.host.replace(/^www\./u, "")}${parsed.pathname.replace(/\/$/u, "")}`;
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
return "";
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
function entryLinks(entry) {
|
|
23
|
-
return (entry.urls || [])
|
|
24
|
-
.map((link) => ({ label: String(link.title || "").trim(), service: "", url: String(link.value || "").trim() }))
|
|
25
|
-
.filter((link) => link.url)
|
|
26
|
-
.map((link) => ({ ...link, label: link.label || linkLabel(link.url) }));
|
|
27
|
-
}
|
|
28
|
-
function entryAccounts(entry) {
|
|
29
|
-
return (entry.accounts || [])
|
|
30
|
-
.filter((account) => !account.is_hidden && account.url)
|
|
31
|
-
.map((account) => ({
|
|
32
|
-
label: String(account.name || account.display || "").trim() || linkLabel(String(account.url)),
|
|
33
|
-
service: String(account.shortname || account.name || "").trim(),
|
|
34
|
-
url: String(account.url || "").trim(),
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
37
|
-
async function requestEntry(options, hash) {
|
|
38
|
-
try {
|
|
39
|
-
const response = await fetch(`https://gravatar.com/${hash}.json`, {
|
|
40
|
-
headers: { "user-agent": options.userAgent || DEFAULT_AGENT },
|
|
41
|
-
signal: AbortSignal.timeout(options.timeout || DEFAULT_TIMEOUT),
|
|
42
|
-
});
|
|
43
|
-
if (!response.ok)
|
|
44
|
-
return null;
|
|
45
|
-
const payload = await response.json();
|
|
46
|
-
return payload.entry?.[0] || null;
|
|
47
|
-
}
|
|
48
|
-
catch {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
async function cacheFile(context, hash) {
|
|
53
|
-
return path.join(context.dir || ".", context.name || "people", `${hash}.jpg`);
|
|
54
|
-
}
|
|
55
|
-
async function readCachedAvatar(context, hash) {
|
|
56
|
-
try {
|
|
57
|
-
return await fs.readFile(await cacheFile(context, hash));
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
async function avatarBytes(options, context, hash) {
|
|
64
|
-
const size = options.size || DEFAULT_SIZE;
|
|
65
|
-
try {
|
|
66
|
-
const response = await fetch(`https://gravatar.com/avatar/${hash}?s=${size}&d=404`, {
|
|
67
|
-
headers: { "user-agent": options.userAgent || DEFAULT_AGENT },
|
|
68
|
-
signal: AbortSignal.timeout(options.timeout || DEFAULT_TIMEOUT),
|
|
69
|
-
});
|
|
70
|
-
if (!response.ok)
|
|
71
|
-
return await readCachedAvatar(context, hash);
|
|
72
|
-
const bytes = new Uint8Array(await response.arrayBuffer());
|
|
73
|
-
const file = await cacheFile(context, hash);
|
|
74
|
-
await fs.mkdir(path.dirname(file), { recursive: true });
|
|
75
|
-
await fs.writeFile(file, bytes);
|
|
76
|
-
return bytes;
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
return await readCachedAvatar(context, hash);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
async function profileFor(options, context, person, assets) {
|
|
83
|
-
const hash = profileHash(person.email);
|
|
84
|
-
const entry = await requestEntry(options, hash);
|
|
85
|
-
if (!entry)
|
|
86
|
-
return null;
|
|
87
|
-
const bytes = await avatarBytes(options, context, hash);
|
|
88
|
-
if (bytes)
|
|
89
|
-
assets.push({ contents: bytes, path: avatarPath(hash) });
|
|
90
|
-
return {
|
|
91
|
-
accounts: entryAccounts(entry),
|
|
92
|
-
avatar: bytes ? `/${avatarPath(hash)}` : "",
|
|
93
|
-
bio: String(entry.aboutMe || "").trim(),
|
|
94
|
-
jobTitle: String(entry.job_title || "").trim(),
|
|
95
|
-
links: entryLinks(entry),
|
|
96
|
-
location: String(entry.currentLocation || "").trim(),
|
|
97
|
-
name: String(entry.displayName || "").trim(),
|
|
98
|
-
profileUrl: String(entry.profileUrl || "").trim(),
|
|
99
|
-
role: person.role,
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
async function keptProfile(context, person, stored, assets) {
|
|
103
|
-
if (!stored)
|
|
104
|
-
return null;
|
|
105
|
-
const hash = profileHash(person.email);
|
|
106
|
-
const bytes = await readCachedAvatar(context, hash);
|
|
107
|
-
if (bytes)
|
|
108
|
-
assets.push({ contents: bytes, path: avatarPath(hash) });
|
|
109
|
-
return { ...stored, avatar: bytes ? `/${avatarPath(hash)}` : "" };
|
|
110
|
-
}
|
|
111
|
-
async function readProfiles(options, context) {
|
|
112
|
-
const stored = Array.isArray(context.cached) ? context.cached : [];
|
|
113
|
-
const assets = [];
|
|
114
|
-
const people = [];
|
|
115
|
-
let fetched = 0;
|
|
116
|
-
for (const [index, person] of options.people.entries()) {
|
|
117
|
-
const live = await profileFor(options, context, person, assets);
|
|
118
|
-
if (live)
|
|
119
|
-
fetched += 1;
|
|
120
|
-
const profile = live || await keptProfile(context, person, stored[index], assets);
|
|
121
|
-
if (profile)
|
|
122
|
-
people.push(profile);
|
|
123
|
-
}
|
|
124
|
-
if (people.length === 0)
|
|
125
|
-
throw new Error("gravatar returned no profile");
|
|
126
|
-
const kept = people.length - fetched;
|
|
127
|
-
const links = people.reduce((total, person) => total + person.links.length + person.accounts.length, 0);
|
|
128
|
-
const detail = `${fetched} profiles, ${assets.length} avatars, ${links} links${kept > 0 ? `, ${kept} kept` : ""}`;
|
|
129
|
-
return { assets, detail, value: people };
|
|
130
|
-
}
|
|
131
|
-
function gravatarProfilesSource(options) {
|
|
132
|
-
return { fetch: (context) => readProfiles(options, context) };
|
|
133
|
-
}
|
|
134
|
-
export { gravatarProfilesSource, profileHash };
|
|
135
|
-
//# sourceMappingURL=gravatar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gravatar.js","sourceRoot":"","sources":["../../../../src/config/sources/gravatar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"text-document.d.ts","sourceRoot":"","sources":["../../../../src/layout/components/text-document.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAyC,MAAM,iCAAiC,CAAC;AAO3G,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;CACtD,CAAC;AAkFF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAgBrD;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useId } from "react";
|
|
3
|
-
import { classNames } from "../../../components/index.js";
|
|
4
|
-
import { frontendClassName, frontendElementClass } from "../../../namespace/index.js";
|
|
5
|
-
import { Disclosure, DisclosureButton } from "./../../inputs/components/disclosure.js";
|
|
6
|
-
import { HairlineCell, HairlinePanel } from "./../../surface/components/index.js";
|
|
7
|
-
import { Icon } from "./../../icons/react/index.js";
|
|
8
|
-
import { ProseText } from "./../../primitives/components/prose.js";
|
|
9
|
-
import { PageOutlineLayout } from "./outline.js";
|
|
10
|
-
const block = "text-document";
|
|
11
|
-
const DEFAULT_MIN_OUTLINE_SECTIONS = 3;
|
|
12
|
-
const MARK_ICON = "remixicon:arrow-down-s-line";
|
|
13
|
-
function partsOf(section) {
|
|
14
|
-
if (section.parts?.length)
|
|
15
|
-
return section.parts;
|
|
16
|
-
return [{ body: section.body, heading: section.heading, id: section.id }];
|
|
17
|
-
}
|
|
18
|
-
function paragraphsOf(body, render) {
|
|
19
|
-
return body.map((text, index) => (render
|
|
20
|
-
? render(text, index)
|
|
21
|
-
: (_jsx("p", { children: _jsx(ProseText, { softRedirect: true, text: text }) }, index))));
|
|
22
|
-
}
|
|
23
|
-
function ProsePart({ part, render, standalone }) {
|
|
24
|
-
return (_jsxs("article", { className: classNames(frontendClassName("column"), frontendClassName("gap-sm")), children: [standalone ? null : _jsx("h3", { children: part.heading }), paragraphsOf(part.body, render)] }));
|
|
25
|
-
}
|
|
26
|
-
function DisclosurePart({ part, render }) {
|
|
27
|
-
const panelId = `${useId().replace(/:/gu, "")}_part`;
|
|
28
|
-
return (_jsx(HairlineCell, { as: "li", className: frontendElementClass(block, "item"), children: _jsx(Disclosure, { panel: paragraphsOf(part.body, render), panelId: panelId, trigger: (_jsx("h3", { className: frontendElementClass(block, "question"), children: _jsxs(DisclosureButton, { "aria-controls": panelId, className: frontendElementClass(block, "trigger"), children: [_jsx("span", { children: part.heading }), _jsx(Icon, { className: frontendElementClass(block, "mark"), spec: MARK_ICON })] }) })) }) }));
|
|
29
|
-
}
|
|
30
|
-
function Chapter({ mode, render, section }) {
|
|
31
|
-
const parts = partsOf(section);
|
|
32
|
-
const standalone = !section.parts?.length;
|
|
33
|
-
return (_jsxs("section", { className: classNames(frontendClassName("column"), frontendClassName("gap-lg")), id: section.id, children: [_jsx("h2", { children: section.heading }), mode === "disclosure" && !standalone ? (_jsx(HairlinePanel, { as: "ul", className: frontendElementClass(block, "list"), min: "100%", children: parts.map((part) => _jsx(DisclosurePart, { part: part, render: render }, part.id)) })) : (_jsx("div", { className: classNames(frontendClassName("column"), frontendClassName("gap-xl")), children: parts.map((part) => _jsx(ProsePart, { part: part, render: render, standalone: standalone }, part.id)) }))] }));
|
|
34
|
-
}
|
|
35
|
-
function TextDocumentBody(props) {
|
|
36
|
-
const { className, document, label, minOutlineSections, paragraph } = props;
|
|
37
|
-
const minimum = minOutlineSections ?? DEFAULT_MIN_OUTLINE_SECTIONS;
|
|
38
|
-
const items = document.outline === false || document.sections.length < minimum
|
|
39
|
-
? []
|
|
40
|
-
: document.sections.map((section) => ({ id: section.id, label: section.heading }));
|
|
41
|
-
return (_jsx(PageOutlineLayout, { items: items, label: label, children: _jsx("div", { className: classNames(frontendClassName(block), frontendClassName("column"), frontendClassName("gap-xl2"), className), children: document.sections.map((section) => (_jsx(Chapter, { mode: document.parts, render: paragraph, section: section }, section.id))) }) }));
|
|
42
|
-
}
|
|
43
|
-
export { TextDocumentBody };
|
|
44
|
-
//# sourceMappingURL=text-document.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"text-document.js","sourceRoot":"","sources":["../../../../src/layout/components/text-document.tsx"],"names":[],"mappings":"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"}
|