// ========================================== // 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 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 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