Files
test/.template/lib/index.typ
T
2026-10-09 04:24:38 +00:00

76 lines
3.3 KiB
Typst

// ==========================================
// SCIENTIA DOCUMENTS — ПУБЛИЧНЫЙ ФАСАД
// ==========================================
// Единственная точка входа для пользовательских документов.
#import "api.typ" as api
#import "presentation/profiles/index.typ" as profile-module
#import "presentation/foundation.typ" as foundation-module
#import "presentation/components.typ" as component-module
#import "presentation/references.typ" as reference-module
#import "presentation/lists.typ" as list-module
#import "infrastructure/employees.typ" as employee-module
// Сборка документа и доменные конструкторы.
#let document(
body,
company: "scientia",
profile: profile-module.report(),
options: (:),
) = api.document(body, company: company, profile: profile, options: options)
#let document-profile = api.document-profile
#let company-profile = api.company-profile
#let party = api.party
#let recipient = api.recipient
#let signer = api.signer
#let approval = api.approval
#let attachment = api.attachment
#let attachment-set = api.attachment-set
#let validate-attachment-set = api.validate-attachment-set
#let bibliography-section = api.bibliography-section
#let load-company = api.load-company
#let available-companies = api.available-companies
#let render-options = api.render-options
// Публичный справочник сотрудников и безопасное подключение private media.
#let employee-directory = employee-module.employee-directory
#let empty-private-settings = employee-module.empty-private-settings
#let private-company-media = employee-module.private-company-media
#let report-executor = employee-module.report-executor
// Профили доступны и через namespace, и короткими именами.
#let profiles = profile-module
#let report = profile-module.report
#let letter = profile-module.letter
#let commercial-offer = profile-module.commercial_offer
#let contract = profile-module.contract
#let contract-section = profile-module.contract_section
#let commercial-terms = profile-module.commercial_terms
// Стабильные переиспользуемые элементы представления.
#let components = component-module
#let foundation = foundation-module
#let apply-foundation = foundation-module.apply-foundation
#let render-media-slot = foundation-module.render-media-slot
#let corp-table = component-module.corp_table
#let formula = component-module.formula
#let info-block = component-module.info-block
#let company-logo = component-module.company-logo
#let signature-block = component-module.signature-block
#let approval-block = component-module.approval-block
#let requisites-table = component-module.requisites-table
// Настраиваемые многоуровневые списки.
#let bullet-list = list-module.bullet-list
#let numbered-list = list-module.numbered-list
#let list-scheme = list-module.list-scheme
#let list-level = list-module.list-level
#let list-numbering = list-module.list-numbering
#let list-schemes = list-module.list-schemes
// Ссылки и библиографии.
#let references = reference-module
#let vref = reference-module.vref
#let vrefs = reference-module.vrefs
#let eqref = reference-module.eqref