@conduction/docusaurus-preset 3.35.0 → 3.36.1
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/ANIMATION_ROADMAP.md +1 -1
- package/MISSING_COMPONENTS.md +4 -4
- package/package.json +1 -1
- package/src/components/AppMock/AppMock.jsx +15 -15
- package/src/components/AppMock/AppMock.module.css +19 -19
- package/src/components/AppMock/variants/AppVersionsMock.jsx +1 -1
- package/src/components/AppMock/variants/DeciDeskMock.jsx +1 -1
- package/src/components/AppMock/variants/DocuDeskMock.jsx +1 -1
- package/src/components/AppMock/variants/DoriathMock.jsx +1 -1
- package/src/components/AppMock/variants/HrmqMock.jsx +2 -2
- package/src/components/AppMock/variants/LarpingAppMock.jsx +1 -1
- package/src/components/AppMock/variants/LaunchPadWidgetsMock.jsx +3 -3
- package/src/components/AppMock/variants/NLDesignMock.jsx +1 -1
- package/src/components/AppMock/variants/OpenBuildMock.jsx +1 -1
- package/src/components/AppMock/variants/OpenConnectorMock.jsx +1 -1
- package/src/components/AppMock/variants/PipelinQMock.jsx +1 -1
- package/src/components/AppMock/variants/PlanixMock.jsx +1 -1
- package/src/components/AppMock/variants/ProcestMock.jsx +2 -2
- package/src/components/AppMock/variants/ScholiqMock.jsx +1 -1
- package/src/components/AppMock/variants/SoftwareCatalogMock.jsx +1 -1
- package/src/components/BuildMock/BuildMock.jsx +3 -3
- package/src/components/FeaturesPage/FeaturesPage.jsx +3 -3
- package/src/components/IntegrationIcon/registry.js +3 -3
- package/src/components/LeafCard/LeafCard.jsx +2 -2
- package/src/components/NextSteps/NextSteps.jsx +1 -1
- package/src/components/PartnerDirectory/PartnerDirectory.jsx +1 -1
- package/src/components/Pipeline/Pipeline.jsx +2 -2
- package/src/components/PlatformOverview/PlatformOverview.module.css +1 -1
- package/src/components/SidebarMock/SidebarMock.jsx +9 -9
- package/src/components/SidebarMock/SidebarMock.module.css +1 -1
- package/src/components/SidebarMock/variants/DeciDeskDecision.jsx +1 -1
- package/src/components/SidebarMock/variants/DocuDeskPiiMap.jsx +1 -1
- package/src/components/SidebarMock/variants/DocuDeskSignatures.jsx +1 -1
- package/src/components/SidebarMock/variants/OpenConnectorRunDetail.jsx +1 -1
- package/src/components/SidebarMock/variants/ProcestTimeline.jsx +1 -1
- package/src/components/SidebarMock/variants/ProcestXWiki.jsx +2 -2
- package/src/components/SolutionCard/SolutionCard.jsx +1 -1
- package/src/components/WidgetMock/WidgetMock.jsx +8 -8
- package/src/components/WidgetMock/__tests__/WidgetMock.render.test.js +1 -1
- package/src/components/WidgetMock/variants/DeciDeskActions.jsx +1 -1
- package/src/components/WidgetMock/variants/DocuDeskAnonymise.jsx +1 -1
- package/src/components/WidgetMock/variants/DocuDeskPendingSign.jsx +1 -1
- package/src/components/WidgetMock/variants/OpenConnectorRuns.jsx +1 -1
- package/src/components/WidgetMock/variants/PipelinQDeals.jsx +1 -1
- package/src/components/WidgetMock/variants/ProcestDueToday.jsx +1 -1
- package/src/components/WidgetMock/variants/ProcestWerkvoorraad.jsx +1 -1
- package/src/components/WidgetShelf/WidgetShelf.jsx +1 -1
- package/src/data/apps-registry.js +16 -16
- package/src/diagrams/cn-pair.js +1 -1
- package/src/theme/brand.jsx +2 -2
- package/static/lib/hex-rain.js +1 -1
package/ANIMATION_ROADMAP.md
CHANGED
|
@@ -39,7 +39,7 @@ wave 6 adds is the *payload* making the journey, not the line itself.
|
|
|
39
39
|
(the `IconList` "Sources" column), travels the dotted line
|
|
40
40
|
left-to-right, and pauses ~400ms at each step hex's equator.
|
|
41
41
|
- At each pause the step hex answers: a 1.06 scale pulse plus a brief
|
|
42
|
-
ring in the step's own family colour (mint for the
|
|
42
|
+
ring in the step's own family colour (mint for the Integriq
|
|
43
43
|
step, workspace-blue for the platform hex, terracotta for
|
|
44
44
|
OpenCatalogi — never a new orange). The pill inside the hex, when
|
|
45
45
|
present, bumps with it.
|
package/MISSING_COMPONENTS.md
CHANGED
|
@@ -57,12 +57,12 @@ Most consume one or more primitives.
|
|
|
57
57
|
- **CookieCli** — `CookieCli/CookieCli.jsx`. Terminal-styled cookie consent banner with localStorage persistence.
|
|
58
58
|
- **ComposeBlock** — `ComposeBlock/ComposeBlock.jsx`. Branded code block (cobalt-900 + Plex Mono + filename pill + copy button). For docker-compose, bash recipes, and any verbatim copy-paste content. Used on `/demo`.
|
|
59
59
|
- **AgentTrace** — `AgentTrace/AgentTrace.jsx`. Terminal-styled agent execution trace with cursor + mode chrome. Types itself out on a loop: lines reveal left-to-right on a 550ms stagger, status dots start after their line, ~2s hold, soft cascade restart; `running={false}` / `prefers-reduced-motion` show the full trace at rest. Specimen: `preview/components/agent-trace.html`.
|
|
60
|
-
- **AppMock** — `AppMock/AppMock.jsx`. Selector that renders one of 24 app-specific UI mockups (
|
|
60
|
+
- **AppMock** — `AppMock/AppMock.jsx`. Selector that renders one of 24 app-specific UI mockups (Decidiq, Filinq, Larpinq, LaunchPad + variants, Thematiq, Pipelinq, Portaliq, Dossiq, Learniq, Stackiq, ZaakAfhandelApp, …; `openwoo` aliases to the OpenCatalogi mock). Each variant lives under `AppMock/variants/`. As of the wave-2/4 animation pass every product variant loops a one-scene story on the shared `--am-dur` timeline: portaliq form-submit, nldesign retheme, scholiq progress+credential, launchpad widgets/tiles/BI, pipelinq deal-close (wave 1+3); docudesk PII words blacking out + live dropzone, shillinq bank-line reconciliation, doriath unlock → countdown → relock, opencatalogi federated-search filter, openconnector record-travel + run insert, procest stage advance + row re-sort, openregister object landing + rail repaint (wave 2); decidesk vote tally + pending→adopted flip, hrmq timesheet submit→approve→payroll (content reworked from the earlier people-list, which misrepresented the app), larpingapp XP ripple, softwarecatalog CVE scan sweep, zaakafhandelapp submission travel, hermiq conversation + tool chips + approval tick (inline styles moved to the module), openbuild template→app ghost travel (wave 4). `running={false}` / `prefers-reduced-motion` freeze every loop to its meaningful end state. Specimen: `preview/components/app-mock.html`.
|
|
61
61
|
- **WidgetMock** — `WidgetMock/WidgetMock.jsx`. Standalone abstract of one Nextcloud dashboard widget (14 kinds: nine Conduction + five stock-Nextcloud framing widgets). The ten list-shaped kinds share a single wave-5 refresh primitive (`.wmLive` in AppMock.module.css): a fresh row slides in at the top, the bottom row clips out, and the frame's unread badge bumps — transform/opacity only, so tile height never jumps. `docudesk-anonymise` instead runs the `.zoneLive` dropzone loop (marching-ants dashes, a file hex drops, mint confirm flash). `running={false}` / `prefers-reduced-motion` freeze to the resting tile. Specimen: `preview/components/widget-mock.html`.
|
|
62
|
-
- **SidebarMock** — `SidebarMock/SidebarMock.jsx`. Token-painted Nextcloud right-side detail panel, one registered tab active (9 kinds across
|
|
62
|
+
- **SidebarMock** — `SidebarMock/SidebarMock.jsx`. Token-painted Nextcloud right-side detail panel, one registered tab active (9 kinds across Dossiq, Filinq, OpenRegister, OpenCatalogi, Integriq, Decidiq, stock activity). Standalone card or `embedded` into an AppMock's `.detail` slot. Wave-5 loop (`.sbLive`): the panel slides in from the right, the head wipes, the active-tab underline travels in from the neighbouring tab (positioned by `--sb-ix`/`--sb-n` custom properties set from the variant's active index), and the body rows land on a stagger. `running={false}` / `prefers-reduced-motion` freeze to the opened panel. Known stand-ins in the tab icon registry: Signatures tabs borrow the `mail` icon, PII-map tabs borrow `keycloak` (see `ANIMATION_ROADMAP.md`). Specimen: `preview/components/sidebar-mock.html`.
|
|
63
63
|
- **FlowMock** — `FlowMock/FlowMock.jsx`. Token-painted abstract of the flow editor: node cards on a dotted canvas with coloured left bars (mint trigger, lavender steps, vermillion end), curved grey edges with pill labels, and a mint run-line looping trigger → step → approval → end. The run holds ~600ms at the approval node while an orange halo flashes there (the component's one orange). Freezes to the full static route under `prefers-reduced-motion` or `running={false}`. Specimen: `preview/components/flow-mock.html`.
|
|
64
64
|
- **LeafMock** — `LeafMock/LeafMock.jsx`. Small integration-leaf panels for Showcase items: `leaf="contacts"` (hex-avatar rows + mint sync arrow to a phone), `"calendar"` (mini month grid + linked-event chip), `"mail"` (message list + mint create-from-email chip), `"files"` (folder/file rows + forest link-to-record chip). Each leaf animates on the shared 6s `--lm-dur` loop (sync pulse + phone rows; day pop + chip slide; row highlight + chip pop; row + link-icon draw); `running={false}` / `prefers-reduced-motion` freeze to the end state.
|
|
65
|
-
- **BuildMock** — `BuildMock/BuildMock.jsx`. Looping "make it yours" animation: the orange
|
|
65
|
+
- **BuildMock** — `BuildMock/BuildMock.jsx`. Looping "make it yours" animation: the orange Buildiq edit FAB is pressed, a component palette opens, and a widget is dragged into the page layout where it snaps in (~8s loop). `prefers-reduced-motion` / `running={false}` renders the static end state (component placed).
|
|
66
66
|
- **KanbanMock** — `KanbanMock/KanbanMock.jsx`. Looping kanban drag for the pipelinq hero: a cursor lifts the top lead card, drags it to the next column, drops it flush into the column's card slot, and at the drop the column counts nudge (3→2, 2→3) and the per-lane € KPI tiles above the board shift the moved deal's value (~7s loop, clean reset). `prefers-reduced-motion` / `running={false}` renders the static board with the initial counts and totals.
|
|
67
67
|
- **MockScene** — `MockScene/MockScene.jsx`. Free-form positioning stage for overlap shots of WidgetMocks + SidebarMocks (caller supplies canvas size and per-item x/y/z). The scene assembles on a loop: items land on a 220ms stagger, transform-only so the inline left/top positioning is never fought; `running={false}` / `prefers-reduced-motion` show the assembled scene.
|
|
68
68
|
- **ExternalAppShelf** — `ExternalAppShelf/ExternalAppShelf.jsx`. Third-party-app shelf (Outlook-style, Mattermost, Keycloak, etc.) used on `/connext`. Specimen: `preview/components/external-app-shelf.html`.
|
|
@@ -142,7 +142,7 @@ A 2026-05-20 audit lifted the following inline-only patterns out of `preview/pag
|
|
|
142
142
|
|
|
143
143
|
## OpenRegister leaf docs
|
|
144
144
|
|
|
145
|
-
- **LeafCard / LeafGrid** — `LeafCard/LeafCard.jsx`. Per-leaf metadata header for the openregister docs. Pointy-top hex + label + status pill + six-field meta grid (group, requiredApp, storage, icon). Four status tints: backend-ready, stub, external (
|
|
145
|
+
- **LeafCard / LeafGrid** — `LeafCard/LeafCard.jsx`. Per-leaf metadata header for the openregister docs. Pointy-top hex + label + status pill + six-field meta grid (group, requiredApp, storage, icon). Four status tints: backend-ready, stub, external (Integriq-routed), built-in. `<LeafGrid>` lays cards out for the overview page; each card links to its docs route when `href` is set. Specimen: `preview/components/leaf-card.html`.
|
|
146
146
|
|
|
147
147
|
## Marketing / explainer
|
|
148
148
|
|
package/package.json
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
* - sidebar: ReactNode — renders inside
|
|
32
32
|
* the right-edge overlay of the frame. Pass a SidebarMock
|
|
33
33
|
* JSX to model a Nextcloud sidebar opened over this app
|
|
34
|
-
* (e.g. xWiki tab over a
|
|
34
|
+
* (e.g. xWiki tab over a Dossiq case). Any other node
|
|
35
35
|
* renders verbatim
|
|
36
36
|
* - caption: boolean — adds a small app-name caption below the frame
|
|
37
37
|
* - className: string
|
|
@@ -70,31 +70,31 @@ const VARIANTS = {
|
|
|
70
70
|
'launchpad-tiles': {Component: LaunchPadTilesMock, label: 'LaunchPad · Tiles & grids'},
|
|
71
71
|
'launchpad-bi': {Component: LaunchPadBiMock, label: 'LaunchPad · BI on registers'},
|
|
72
72
|
'launchpad-widgets': {Component: LaunchPadWidgetsMock, label: 'LaunchPad · Widgets'},
|
|
73
|
-
openbuild: {Component: OpenBuildMock, label: '
|
|
73
|
+
openbuild: {Component: OpenBuildMock, label: 'Buildiq'},
|
|
74
74
|
opencatalogi: {Component: OpenCatalogiMock, label: 'OpenCatalogi'},
|
|
75
|
-
openconnector: {Component: OpenConnectorMock, label: '
|
|
75
|
+
openconnector: {Component: OpenConnectorMock, label: 'Integriq'},
|
|
76
76
|
openregister: {Component: OpenRegisterMock, label: 'OpenRegister'},
|
|
77
|
-
procest: {Component: ProcestMock, label: '
|
|
78
|
-
decidesk: {Component: DeciDeskMock, label: '
|
|
79
|
-
docudesk: {Component: DocuDeskMock, label: '
|
|
80
|
-
larpingapp: {Component: LarpingAppMock, label: '
|
|
81
|
-
nldesign: {Component: NLDesignMock, label: '
|
|
77
|
+
procest: {Component: ProcestMock, label: 'Dossiq'},
|
|
78
|
+
decidesk: {Component: DeciDeskMock, label: 'Decidiq'},
|
|
79
|
+
docudesk: {Component: DocuDeskMock, label: 'Filinq'},
|
|
80
|
+
larpingapp: {Component: LarpingAppMock, label: 'Larpinq'},
|
|
81
|
+
nldesign: {Component: NLDesignMock, label: 'Thematiq'},
|
|
82
82
|
/* `openwoo` is an alias: the OpenWoo app is retired in favour of
|
|
83
83
|
OpenCatalogi, so the slug renders the OpenCatalogi mock. The
|
|
84
84
|
OpenWooMock.jsx variant file is kept for now (no importer left);
|
|
85
85
|
delete it in a later cleanup wave. */
|
|
86
86
|
openwoo: {Component: OpenCatalogiMock, label: 'OpenCatalogi'},
|
|
87
|
-
pipelinq: {Component: PipelinQMock, label: '
|
|
88
|
-
softwarecatalog: {Component: SoftwareCatalogMock, label: '
|
|
87
|
+
pipelinq: {Component: PipelinQMock, label: 'Pipelinq'},
|
|
88
|
+
softwarecatalog: {Component: SoftwareCatalogMock, label: 'Stackiq'},
|
|
89
89
|
zaakafhandelapp: {Component: ZaakAfhandelAppMock, label: 'ZaakAfhandelApp'},
|
|
90
90
|
hermiq: {Component: HermiqMock, label: 'Hermiq'},
|
|
91
91
|
portaliq: {Component: PortaliqMock, label: 'Portaliq'},
|
|
92
|
-
scholiq: {Component: ScholiqMock, label: '
|
|
92
|
+
scholiq: {Component: ScholiqMock, label: 'Learniq'},
|
|
93
93
|
shillinq: {Component: ShillinqMock, label: 'Shillinq'},
|
|
94
|
-
doriath: {Component: DoriathMock, label: '
|
|
95
|
-
planix: {Component: PlanixMock, label: '
|
|
96
|
-
hrmq: {Component: HrmqMock, label: '
|
|
97
|
-
'app-versions': {Component: AppVersionsMock, label: '
|
|
94
|
+
doriath: {Component: DoriathMock, label: 'Keepiq'},
|
|
95
|
+
planix: {Component: PlanixMock, label: 'Planninq'},
|
|
96
|
+
hrmq: {Component: HrmqMock, label: 'Humaniq'},
|
|
97
|
+
'app-versions': {Component: AppVersionsMock, label: 'Versioniq'},
|
|
98
98
|
};
|
|
99
99
|
|
|
100
100
|
export default function AppMock({app, size = 'md', sidebar = null, caption = false, running = true, className}) {
|
|
@@ -509,7 +509,7 @@
|
|
|
509
509
|
z-index: 1;
|
|
510
510
|
}
|
|
511
511
|
|
|
512
|
-
/*
|
|
512
|
+
/* Filinq-style upload widget — dropzone with hex-stack accent. */
|
|
513
513
|
.am .w-upload .zone {
|
|
514
514
|
flex: 1;
|
|
515
515
|
border: 1px dashed var(--c-cobalt-300);
|
|
@@ -530,7 +530,7 @@
|
|
|
530
530
|
border-radius: 1px;
|
|
531
531
|
}
|
|
532
532
|
|
|
533
|
-
/*
|
|
533
|
+
/* Dossiq werkvoorraad widget — case rows with stage pip + assignee. */
|
|
534
534
|
.am .w-werkvoorraad .list { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
|
|
535
535
|
.am .w-werkvoorraad .item { display: flex; align-items: center; gap: 5px; }
|
|
536
536
|
.am .w-werkvoorraad .item .stage {
|
|
@@ -603,7 +603,7 @@
|
|
|
603
603
|
.am .openregister .col .panelRow { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; flex: 1; min-height: 0; }
|
|
604
604
|
|
|
605
605
|
/* ======================================================================
|
|
606
|
-
|
|
606
|
+
Decidiq — left nav + centre with action row + KPIs + 2 tables
|
|
607
607
|
====================================================================== */
|
|
608
608
|
|
|
609
609
|
.am .decidesk .col .kpiRow { display: flex; gap: 6px; }
|
|
@@ -637,7 +637,7 @@
|
|
|
637
637
|
.am .opencatalogi .card.e .ico { background: var(--c-mint-500); }
|
|
638
638
|
|
|
639
639
|
/* ======================================================================
|
|
640
|
-
|
|
640
|
+
Integriq — pipeline / source-connector-target visual
|
|
641
641
|
====================================================================== */
|
|
642
642
|
|
|
643
643
|
.am .openconnector .stage {
|
|
@@ -676,7 +676,7 @@
|
|
|
676
676
|
.am .openconnector .stage .conn .label { height: 4px; width: 60%; background: rgba(255,255,255,0.8); border-radius: 1px; }
|
|
677
677
|
|
|
678
678
|
/* ======================================================================
|
|
679
|
-
|
|
679
|
+
Dossiq — process timeline / case detail
|
|
680
680
|
====================================================================== */
|
|
681
681
|
|
|
682
682
|
.am .procest .timeline {
|
|
@@ -825,7 +825,7 @@
|
|
|
825
825
|
98%, 100% { opacity: 0; transform: none; }
|
|
826
826
|
}
|
|
827
827
|
|
|
828
|
-
/* ----
|
|
828
|
+
/* ---- Thematiq — a theme swatch is selected, the components retheme
|
|
829
829
|
in a cascade (button, then status pill), and the type scale
|
|
830
830
|
restretches. Timeline (6s): ring on the lavender swatch (5–10%),
|
|
831
831
|
button recolours (12–20%), pill recolours (14–22%), type bars
|
|
@@ -877,7 +877,7 @@
|
|
|
877
877
|
94%, 100% { transform: scaleX(1); }
|
|
878
878
|
}
|
|
879
879
|
|
|
880
|
-
/* ----
|
|
880
|
+
/* ---- Learniq — course progress bars fill in a stagger, then the
|
|
881
881
|
completed course's credential chip pops with an overshoot.
|
|
882
882
|
Timeline (6s): bars fill (3–25% + per-bar delay), chip pop
|
|
883
883
|
(44–57%), hold, fade-reset (91–100%). Per-bar delays are inline
|
|
@@ -1024,7 +1024,7 @@
|
|
|
1024
1024
|
98%, 100% { opacity: 0; transform: none; }
|
|
1025
1025
|
}
|
|
1026
1026
|
|
|
1027
|
-
/* ----
|
|
1027
|
+
/* ---- Pipelinq — a deal closes: the proposal-column card collapses,
|
|
1028
1028
|
the won card scales in with its mint bar, and the pipeline-value
|
|
1029
1029
|
KPI widens. Timeline (7s): collapse (14–22%), won pop (17–29%),
|
|
1030
1030
|
KPI widen (26–34%), hold, opacity-swap reset (91–100%). Static
|
|
@@ -1066,7 +1066,7 @@
|
|
|
1066
1066
|
Wave 2 — storytelling variant animations
|
|
1067
1067
|
====================================================================== */
|
|
1068
1068
|
|
|
1069
|
-
/* ----
|
|
1069
|
+
/* ---- Filinq — the anonymiser blacks out the marked (PII) words
|
|
1070
1070
|
one by one across the open document list. Base = redacted end
|
|
1071
1071
|
state (cobalt-900 blocks); the amDdMark keyframes replay the
|
|
1072
1072
|
text-look before-state and the black-out, one word per slot.
|
|
@@ -1198,7 +1198,7 @@
|
|
|
1198
1198
|
97%, 100% { transform: scaleX(1); }
|
|
1199
1199
|
}
|
|
1200
1200
|
|
|
1201
|
-
/* ----
|
|
1201
|
+
/* ---- Keepiq — the key turns, the mask dots unmask, the value
|
|
1202
1202
|
wipes in, the mint countdown hairline runs out, and the entry
|
|
1203
1203
|
auto-relocks. Base = revealed state (what static frames show). ---- */
|
|
1204
1204
|
|
|
@@ -1336,7 +1336,7 @@
|
|
|
1336
1336
|
44%, 100% { transform: scale(1); }
|
|
1337
1337
|
}
|
|
1338
1338
|
|
|
1339
|
-
/* ----
|
|
1339
|
+
/* ---- Integriq — a record dot travels the pipeline: lavender
|
|
1340
1340
|
leg source → connector, forest leg connector → target (the mapping
|
|
1341
1341
|
made visible), then the new run row inserts and ticks mint.
|
|
1342
1342
|
Base = completed end state (run row present, tick mint). ---- */
|
|
@@ -1396,7 +1396,7 @@
|
|
|
1396
1396
|
98%, 100% { opacity: 0; transform: scale(1); }
|
|
1397
1397
|
}
|
|
1398
1398
|
|
|
1399
|
-
/* ----
|
|
1399
|
+
/* ---- Dossiq — the case advances one stage. Ghost hexes overlaid
|
|
1400
1400
|
on steps 2+3 replay the before-state (step 2 orange-active, step 3
|
|
1401
1401
|
to-do) and fade to reveal the advanced base; the advanced case's
|
|
1402
1402
|
row re-sorts to the top of the list. Base = advanced end state. ---- */
|
|
@@ -1466,7 +1466,7 @@
|
|
|
1466
1466
|
}
|
|
1467
1467
|
|
|
1468
1468
|
/* Shared KPI-widen pulse — the .kpiGrow cell's number stretches as a
|
|
1469
|
-
count absorbs the new arrival (OpenRegister,
|
|
1469
|
+
count absorbs the new arrival (OpenRegister, Buildiq, Shillinq). */
|
|
1470
1470
|
.am .kpiGrow .num {
|
|
1471
1471
|
transform-origin: left center;
|
|
1472
1472
|
animation: amKpiGrow var(--am-dur) ease-in-out infinite;
|
|
@@ -1481,7 +1481,7 @@
|
|
|
1481
1481
|
Wave 4 — content reworks, animated
|
|
1482
1482
|
====================================================================== */
|
|
1483
1483
|
|
|
1484
|
-
/* ----
|
|
1484
|
+
/* ---- Decidiq — the vote tally fills, the "for" bar crosses the
|
|
1485
1485
|
quorum line (which ticks mint), and the decision pill flips
|
|
1486
1486
|
pending → adopted. Base = adopted end state. ---- */
|
|
1487
1487
|
|
|
@@ -1554,7 +1554,7 @@
|
|
|
1554
1554
|
44%, 100% { background: var(--c-mint-500); }
|
|
1555
1555
|
}
|
|
1556
1556
|
|
|
1557
|
-
/* ----
|
|
1557
|
+
/* ---- Humaniq — the week's hour bars fill, the sheet is submitted, the
|
|
1558
1558
|
approval pip ticks mint, and the payroll counter widens.
|
|
1559
1559
|
Base = approved end state. ---- */
|
|
1560
1560
|
|
|
@@ -1645,7 +1645,7 @@
|
|
|
1645
1645
|
97%, 100% { transform: scaleX(1); }
|
|
1646
1646
|
}
|
|
1647
1647
|
|
|
1648
|
-
/* ----
|
|
1648
|
+
/* ---- Larpinq — the XP ripple: the second character card lifts,
|
|
1649
1649
|
an XP hex token rises to the timeline's active stage, the stage
|
|
1650
1650
|
absorbs it with a pulse, and every card's text rows grow in a
|
|
1651
1651
|
stagger. Base = settled (post-XP) end state. ---- */
|
|
@@ -1695,7 +1695,7 @@
|
|
|
1695
1695
|
58%, 100% { transform: scaleX(1); }
|
|
1696
1696
|
}
|
|
1697
1697
|
|
|
1698
|
-
/* ----
|
|
1698
|
+
/* ---- Stackiq — the CVE scan: a band sweeps down the app
|
|
1699
1699
|
list, row 4's pip flips red as it passes, and the CVE chart bar
|
|
1700
1700
|
surges in vermillion (red family — the chart keeps its single
|
|
1701
1701
|
KNVB-orange accent). Base = post-scan end state. ---- */
|
|
@@ -1938,7 +1938,7 @@
|
|
|
1938
1938
|
4%, 100% { transform: scale(1); }
|
|
1939
1939
|
}
|
|
1940
1940
|
|
|
1941
|
-
/* ----
|
|
1941
|
+
/* ---- Buildiq — the top template row highlights, a ghost chip
|
|
1942
1942
|
travels into the virtual-apps list, the new app row lands, the
|
|
1943
1943
|
first KPI widens, the published KPI's hex pulses mint.
|
|
1944
1944
|
Base = published end state. ---- */
|
|
@@ -2035,7 +2035,7 @@
|
|
|
2035
2035
|
|
|
2036
2036
|
/* Anonymise dropzone — marching-ants dashes, a file hex drops in,
|
|
2037
2037
|
the zone flashes mint as the redacted copy is confirmed. Applied
|
|
2038
|
-
by the docudesk-anonymise widget variant and the
|
|
2038
|
+
by the docudesk-anonymise widget variant and the Filinq app
|
|
2039
2039
|
mock's own drop-zone (`.zoneLive` on the .w-upload block). */
|
|
2040
2040
|
|
|
2041
2041
|
.am .zoneLive { --am-dur: 5s; }
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Decidiq abstract — left nav + centre with action row, KPI strip,
|
|
3
3
|
* vote tally, and decision row. Reference: localhost:8080/apps/decidesk.
|
|
4
4
|
*
|
|
5
5
|
* Hero of the centre is the trio of primary buttons (New Decision /
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Humaniq abstract — hours administration.
|
|
3
3
|
*
|
|
4
4
|
* Content rework (wave 4): the earlier people-list + leave-balance
|
|
5
|
-
* pair misrepresented the app (
|
|
5
|
+
* pair misrepresented the app (Humaniq's daily surface is hours and
|
|
6
6
|
* approval, not a personnel directory). The mock now shows the
|
|
7
7
|
* timesheet week — five day columns of hour bars plus a submit
|
|
8
8
|
* button — next to an approval card: the submitted week arriving as
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Demonstrates the cross-app widget angle: any Conduction app that
|
|
5
5
|
* registers a Nextcloud dashboard widget shows up here. The mock
|
|
6
6
|
* pictures the canonical mix:
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
7
|
+
* - Filinq → upload-to-anonymise dropzone widget
|
|
8
|
+
* - Dossiq → werkvoorraad (case queue) widget
|
|
9
9
|
* - Mail → Important mail (avatar list)
|
|
10
10
|
* - Calendar → upcoming-events mini grid
|
|
11
11
|
* - Jira → external-app status board
|
|
@@ -37,7 +37,7 @@ export default function LaunchPadWidgetsMock() {
|
|
|
37
37
|
</div>
|
|
38
38
|
<div className={[styles.body, styles.launchpad, styles.lpWidgets].filter(Boolean).join(' ')}>
|
|
39
39
|
<div className={styles.grid}>
|
|
40
|
-
{/* Column 1:
|
|
40
|
+
{/* Column 1: Dossiq werkvoorraad + Filinq upload */}
|
|
41
41
|
<div className={styles.col}>
|
|
42
42
|
<div className={[styles.w, styles['w-werkvoorraad']].join(' ')} style={ARRIVE(0)}>
|
|
43
43
|
<div className={styles.wHead}>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Buildiq abstract — three-pane citizen-developer app builder: left
|
|
3
3
|
* builder nav + centre dashboard + right manifest/detail rail.
|
|
4
4
|
* Reference: live screenshot at http://localhost:8080/apps/openbuild/.
|
|
5
5
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Integriq abstract — source-connector-target pipeline view.
|
|
3
3
|
*
|
|
4
4
|
* Inferred from the app's role ("integration plane between Conduction
|
|
5
5
|
* apps and external APIs"): the centre stage shows a single canonical
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Dossiq abstract — case management with process timeline.
|
|
3
3
|
*
|
|
4
4
|
* Inferred from app role (ZGW case-management for VTH and citizen
|
|
5
5
|
* processes): centre shows a canonical case detail with the timeline
|
|
@@ -110,7 +110,7 @@ export default function ProcestMock({ sidebar = null }) {
|
|
|
110
110
|
</div>
|
|
111
111
|
{/* Optional sidebar (typically a <SidebarMock kind="..." />)
|
|
112
112
|
renders here as a flex sibling of .col, taking the .detail
|
|
113
|
-
slot.
|
|
113
|
+
slot. Dossiq's case detail view doesn't ship a default
|
|
114
114
|
detail rail, so without the prop nothing extra renders. */}
|
|
115
115
|
{sidebar}
|
|
116
116
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* <BuildMock />
|
|
3
3
|
*
|
|
4
|
-
* Token-built abstract of the
|
|
4
|
+
* Token-built abstract of the Buildiq "make it yours" moment: the
|
|
5
5
|
* orange edit button gets pressed, a small component palette opens, a
|
|
6
6
|
* widget is picked and dragged onto the page, and it snaps into the
|
|
7
7
|
* empty layout slot. Loops every ~8 seconds. Used on every app's
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Same abstraction level as <AppMock>: greeked content, tokens only.
|
|
11
11
|
* The orange FAB is this component's single orange accent (it *is*
|
|
12
|
-
* the
|
|
12
|
+
* the Buildiq edit button).
|
|
13
13
|
*
|
|
14
14
|
* `prefers-reduced-motion: reduce` (and `running={false}`) renders
|
|
15
15
|
* the static end state: palette closed, cursor gone, the dragged
|
|
@@ -75,7 +75,7 @@ export default function BuildMock({size = 'md', caption, running = true, classNa
|
|
|
75
75
|
<span className={styles.paletteTile} />
|
|
76
76
|
</div>
|
|
77
77
|
|
|
78
|
-
{/* The
|
|
78
|
+
{/* The Buildiq edit button — the one orange accent. */}
|
|
79
79
|
<div className={styles.fab}>
|
|
80
80
|
<svg viewBox="0 0 24 24" aria-hidden="true">
|
|
81
81
|
<path d="M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z" />
|
|
@@ -32,9 +32,9 @@ import FeatureGrid from '../FeatureGrid/FeatureGrid.jsx';
|
|
|
32
32
|
const PROVIDER_NAMES = {
|
|
33
33
|
openregister: 'OpenRegister',
|
|
34
34
|
opencatalogi: 'OpenCatalogi',
|
|
35
|
-
openconnector: '
|
|
36
|
-
docudesk: '
|
|
37
|
-
nldesign: '
|
|
35
|
+
openconnector: 'Integriq',
|
|
36
|
+
docudesk: 'Filinq',
|
|
37
|
+
nldesign: 'Thematiq',
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
function providerCredit(providedBy, locale) {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* Conduction integrates with (xWiki, n8n, Windmill, OpenProject,
|
|
18
18
|
* Keycloak).
|
|
19
19
|
* llm — large-language-model providers we consume via
|
|
20
|
-
*
|
|
20
|
+
* Integriq / Filinq (Claude, Mistral, Ollama, OpenAI,
|
|
21
21
|
* Gemini).
|
|
22
22
|
* conduction-ext — external apps in the Conduction Nextcloud
|
|
23
23
|
* ecosystem (OpenTalk, Matrix, Mattermost, OpenExchange).
|
|
@@ -146,7 +146,7 @@ export const INTEGRATIONS = {
|
|
|
146
146
|
|
|
147
147
|
export const INTEGRATION_CATEGORIES = {
|
|
148
148
|
'nextcloud-bundled': { label: 'Nextcloud bundled', desc: 'Surfaces every Nextcloud workspace already ships.' },
|
|
149
|
-
'workflow': { label: 'Workflow & auth', desc: 'Third-party tools we wire into Conduction apps via
|
|
150
|
-
'llm': { label: 'LLM providers', desc: 'Models we call from
|
|
149
|
+
'workflow': { label: 'Workflow & auth', desc: 'Third-party tools we wire into Conduction apps via Integriq.' },
|
|
150
|
+
'llm': { label: 'LLM providers', desc: 'Models we call from Integriq and Filinq.' },
|
|
151
151
|
'conduction-ext': { label: 'Conduction extensions', desc: 'Adjacent apps in the Conduction Nextcloud ecosystem.' },
|
|
152
152
|
};
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* orange for the one accent-leaf when grouped). Falls back to the
|
|
17
17
|
* `id` initial when no icon is given.
|
|
18
18
|
* - Status pill colours: green = backend-ready, amber = stub,
|
|
19
|
-
* cobalt = external (
|
|
19
|
+
* cobalt = external (Integriq-routed), grey = built-in.
|
|
20
20
|
*
|
|
21
21
|
* Usage in MDX:
|
|
22
22
|
*
|
|
@@ -46,7 +46,7 @@ import styles from './LeafCard.module.css';
|
|
|
46
46
|
const STATUS_LABELS = {
|
|
47
47
|
'backend-ready': 'Backend ready',
|
|
48
48
|
'stub': 'Provider stub',
|
|
49
|
-
'external': 'External (
|
|
49
|
+
'external': 'External (Integriq)',
|
|
50
50
|
'built-in': 'Built-in',
|
|
51
51
|
};
|
|
52
52
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* {href: '/partners/acato', tier: 'certified', name: 'Acato',
|
|
24
24
|
* logo: '/img/partners/acato.png',
|
|
25
25
|
* summary: <>Digital agency uit Almere…</>,
|
|
26
|
-
* apps: ['OpenCatalogi', 'OpenRegister', '
|
|
26
|
+
* apps: ['OpenCatalogi', 'OpenRegister', 'Integriq'],
|
|
27
27
|
* solutions: ['woo']},
|
|
28
28
|
* …
|
|
29
29
|
* ]}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* threading through every hex equator.
|
|
11
11
|
*
|
|
12
12
|
* Family palette follows the locked PRISM-FAMILY POLICY in tokens.css:
|
|
13
|
-
* mint integrate / connect (
|
|
13
|
+
* mint integrate / connect (Integriq)
|
|
14
14
|
* forest data / registers (OpenRegister)
|
|
15
15
|
* terracotta documents / search (OpenCatalogi)
|
|
16
16
|
* lavender process / views (LaunchPad)
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
* {label: 'Legacy', icon: 'legacy'},
|
|
37
37
|
* ]}}
|
|
38
38
|
* steps={[
|
|
39
|
-
* {number: '01', kicker: 'Ingest', name: '
|
|
39
|
+
* {number: '01', kicker: 'Ingest', name: 'Integriq',
|
|
40
40
|
* caption: 'Pulls schemas, REST, SOAP, files.'},
|
|
41
41
|
* {number: 'PLATFORM', name: 'Nextcloud', family: 'workspace',
|
|
42
42
|
* pill: 'files · users · auth'},
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
.section {
|
|
7
7
|
background: white;
|
|
8
8
|
/* Bottom padding deliberately lighter than top: the diagram's
|
|
9
|
-
orange-dashed flow lines around
|
|
9
|
+
orange-dashed flow lines around Buildiq extend visually below
|
|
10
10
|
the last text label, so the section already has ~80px of optical
|
|
11
11
|
trailing space from the diagram itself before any padding kicks
|
|
12
12
|
in. Top stays at 96px to keep the rhythm coming in from the
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Token-painted abstract of the Nextcloud right-side detail panel.
|
|
5
5
|
* Each Conduction app registers tabs into specific Nextcloud
|
|
6
|
-
* sidebars (
|
|
7
|
-
*
|
|
6
|
+
* sidebars (Dossiq adds xWiki + Timeline tabs to the case sidebar,
|
|
7
|
+
* Filinq adds Signatures + PII Map to the document sidebar, and
|
|
8
8
|
* so on). A SidebarMock variant represents one such sidebar with
|
|
9
9
|
* one tab active.
|
|
10
10
|
*
|
|
@@ -98,13 +98,13 @@ import NextcloudActivity from './variants/NextcloudActivity.jsx';
|
|
|
98
98
|
* SidebarMock renders that icon in the tab's .ico slot, tinted via
|
|
99
99
|
* currentColor so active tabs read full-cobalt and inactive tabs
|
|
100
100
|
* read muted-cobalt. The icon makes the tab self-documenting:
|
|
101
|
-
*
|
|
101
|
+
* Dossiq's xWiki tab carries the xWiki icon, Filinq's Signatures
|
|
102
102
|
* tab carries an activity-style icon for "stuff happens here", etc.
|
|
103
103
|
*/
|
|
104
104
|
const VARIANTS = {
|
|
105
105
|
'procest-xwiki': {
|
|
106
106
|
Component: ProcestXWiki,
|
|
107
|
-
label: '
|
|
107
|
+
label: 'Dossiq · Case sidebar, xWiki tab',
|
|
108
108
|
tabs: [
|
|
109
109
|
{ id: 'activity', active: false, icon: 'activity' },
|
|
110
110
|
{ id: 'xwiki', active: true, icon: 'xwiki' },
|
|
@@ -114,7 +114,7 @@ const VARIANTS = {
|
|
|
114
114
|
},
|
|
115
115
|
'procest-timeline': {
|
|
116
116
|
Component: ProcestTimeline,
|
|
117
|
-
label: '
|
|
117
|
+
label: 'Dossiq · Case sidebar, Timeline tab',
|
|
118
118
|
tabs: [
|
|
119
119
|
{ id: 'activity', active: false, icon: 'activity' },
|
|
120
120
|
{ id: 'xwiki', active: false, icon: 'xwiki' },
|
|
@@ -124,7 +124,7 @@ const VARIANTS = {
|
|
|
124
124
|
},
|
|
125
125
|
'docudesk-signatures': {
|
|
126
126
|
Component: DocuDeskSignatures,
|
|
127
|
-
label: '
|
|
127
|
+
label: 'Filinq · Document sidebar, Signatures tab',
|
|
128
128
|
tabs: [
|
|
129
129
|
{ id: 'activity', active: false, icon: 'activity' },
|
|
130
130
|
{ id: 'signatures', active: true, icon: 'mail' },
|
|
@@ -134,7 +134,7 @@ const VARIANTS = {
|
|
|
134
134
|
},
|
|
135
135
|
'docudesk-pii-map': {
|
|
136
136
|
Component: DocuDeskPiiMap,
|
|
137
|
-
label: '
|
|
137
|
+
label: 'Filinq · Document sidebar, PII map tab',
|
|
138
138
|
tabs: [
|
|
139
139
|
{ id: 'activity', active: false, icon: 'activity' },
|
|
140
140
|
{ id: 'signatures', active: false, icon: 'mail' },
|
|
@@ -162,7 +162,7 @@ const VARIANTS = {
|
|
|
162
162
|
},
|
|
163
163
|
'openconnector-run-detail': {
|
|
164
164
|
Component: OpenConnectorRunDetail,
|
|
165
|
-
label: '
|
|
165
|
+
label: 'Integriq · Run sidebar, Logs tab',
|
|
166
166
|
tabs: [
|
|
167
167
|
{ id: 'activity', active: false, icon: 'activity' },
|
|
168
168
|
{ id: 'logs', active: true, icon: 'n8n' },
|
|
@@ -171,7 +171,7 @@ const VARIANTS = {
|
|
|
171
171
|
},
|
|
172
172
|
'decidesk-decision': {
|
|
173
173
|
Component: DeciDeskDecision,
|
|
174
|
-
label: '
|
|
174
|
+
label: 'Decidiq · Decision sidebar, Detail tab',
|
|
175
175
|
tabs: [
|
|
176
176
|
{ id: 'activity', active: false, icon: 'activity' },
|
|
177
177
|
{ id: 'detail', active: true, icon: 'files' },
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
.am .sb-body .smLog.warn .ts { background: var(--c-orange-knvb); }
|
|
186
186
|
.am .sb-body .smLog.error .ts { background: var(--c-red-vermillion); }
|
|
187
187
|
|
|
188
|
-
/* PII redaction map (
|
|
188
|
+
/* PII redaction map (Filinq PII tab). Inline pills marking spans
|
|
189
189
|
in a paragraph; .redacted = applied (red), .suggested = proposed
|
|
190
190
|
(orange), default = neutral text. */
|
|
191
191
|
.am .sb-body .smPiiBlock {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Dossiq · case sidebar, xWiki tab.
|
|
3
3
|
*
|
|
4
|
-
* The xWiki integration:
|
|
4
|
+
* The xWiki integration: Dossiq pulls the case-handling protocol
|
|
5
5
|
* page out of xWiki and shows it next to the live case. Body reads
|
|
6
6
|
* as wiki text: a heading, two paragraphs, a subheading, a list of
|
|
7
7
|
* checked steps. Worth saying out loud since it is the integration
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* icon={<svg>...</svg>}
|
|
28
28
|
* title="WOO compliance, by Friday."
|
|
29
29
|
* outcome={<>A live WOO portal at your <span className="next-blue">Nextcloud</span>-hosted domain.</>}
|
|
30
|
-
* builtOn={['OpenCatalogi', 'OpenRegister', '
|
|
30
|
+
* builtOn={['OpenCatalogi', 'OpenRegister', 'Integriq']}
|
|
31
31
|
* />
|
|
32
32
|
* </SolutionGrid>
|
|
33
33
|
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* <WidgetMock />
|
|
3
3
|
*
|
|
4
4
|
* Standalone abstract of a Nextcloud dashboard widget that a
|
|
5
|
-
* Conduction app registers (
|
|
5
|
+
* Conduction app registers (Filinq anonymise, Dossiq werkvoorraad,
|
|
6
6
|
* OpenRegister activity, etc.) plus a few of the stock Nextcloud
|
|
7
7
|
* widgets we frame around (Mail, Calendar, Files, Decks, RSS).
|
|
8
8
|
*
|
|
@@ -64,15 +64,15 @@ import NextcloudDecks from './variants/NextcloudDecks.jsx';
|
|
|
64
64
|
import NextcloudRss from './variants/NextcloudRss.jsx';
|
|
65
65
|
|
|
66
66
|
const VARIANTS = {
|
|
67
|
-
'docudesk-anonymise': { Component: DocuDeskAnonymise, label: '
|
|
68
|
-
'docudesk-pending-sign': { Component: DocuDeskPendingSign, label: '
|
|
69
|
-
'procest-werkvoorraad': { Component: ProcestWerkvoorraad, label: '
|
|
70
|
-
'procest-due-today': { Component: ProcestDueToday, label: '
|
|
67
|
+
'docudesk-anonymise': { Component: DocuDeskAnonymise, label: 'Filinq · Anonymise drop' },
|
|
68
|
+
'docudesk-pending-sign': { Component: DocuDeskPendingSign, label: 'Filinq · Pending signatures', list: true },
|
|
69
|
+
'procest-werkvoorraad': { Component: ProcestWerkvoorraad, label: 'Dossiq · Werkvoorraad', list: true },
|
|
70
|
+
'procest-due-today': { Component: ProcestDueToday, label: 'Dossiq · Due today', list: true },
|
|
71
71
|
'openregister-activity': { Component: OpenRegisterActivity, label: 'OpenRegister · Activity' },
|
|
72
72
|
'opencatalogi-publications':{ Component: OpenCatalogiPublications,label: 'OpenCatalogi · Recent publications', list: true },
|
|
73
|
-
'openconnector-runs': { Component: OpenConnectorRuns, label: '
|
|
74
|
-
'decidesk-actions': { Component: DeciDeskActions, label: '
|
|
75
|
-
'pipelinq-deals': { Component: PipelinQDeals, label: '
|
|
73
|
+
'openconnector-runs': { Component: OpenConnectorRuns, label: 'Integriq · Recent runs', list: true },
|
|
74
|
+
'decidesk-actions': { Component: DeciDeskActions, label: 'Decidiq · Action items', list: true },
|
|
75
|
+
'pipelinq-deals': { Component: PipelinQDeals, label: 'Pipelinq · Deals closing', list: true },
|
|
76
76
|
'nextcloud-mail': { Component: NextcloudMail, label: 'Nextcloud · Important mail', list: true },
|
|
77
77
|
'nextcloud-calendar': { Component: NextcloudCalendar, label: 'Nextcloud · Calendar' },
|
|
78
78
|
'nextcloud-files': { Component: NextcloudFiles, label: 'Nextcloud · Recent files', list: true },
|
|
@@ -121,5 +121,5 @@ test('docudesk-anonymise: the dropzone carries the zoneLive scope and the droppi
|
|
|
121
121
|
});
|
|
122
122
|
|
|
123
123
|
test('caption renders the variant label', () => {
|
|
124
|
-
assert.match(render({kind: 'procest-werkvoorraad', caption: true}), /
|
|
124
|
+
assert.match(render({kind: 'procest-werkvoorraad', caption: true}), /Dossiq · Werkvoorraad/);
|
|
125
125
|
});
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* <WidgetShelf
|
|
17
17
|
* eyebrow="Widgets we ship"
|
|
18
18
|
* title="On every Nextcloud dashboard."
|
|
19
|
-
* lede="Install
|
|
19
|
+
* lede="Install Dossiq and your team gets these widgets..."
|
|
20
20
|
* widgets={[
|
|
21
21
|
* {
|
|
22
22
|
* title: 'Werkvoorraad',
|
|
@@ -29,26 +29,26 @@
|
|
|
29
29
|
export const APPS_REGISTRY = {
|
|
30
30
|
opencatalogi: {slug: 'opencatalogi', name: 'OpenCatalogi', category: 'Data', productHref: '/apps/opencatalogi', docsHref: 'https://opencatalogi.conduction.nl', academyHref: '/academy?app=opencatalogi'},
|
|
31
31
|
openregister: {slug: 'openregister', name: 'OpenRegister', category: 'Data', productHref: '/apps/openregister', docsHref: 'https://openregister.conduction.nl', academyHref: '/academy?app=openregister'},
|
|
32
|
-
openconnector: {slug: 'openconnector', name: '
|
|
33
|
-
docudesk: {slug: 'docudesk', name: '
|
|
32
|
+
openconnector: {slug: 'openconnector', name: 'Integriq', category: 'Connectors', productHref: '/apps/openconnector', docsHref: 'https://openconnector.conduction.nl', academyHref: '/academy?app=openconnector'},
|
|
33
|
+
docudesk: {slug: 'docudesk', name: 'Filinq', category: 'Documents', productHref: '/apps/docudesk', docsHref: 'https://docudesk.conduction.nl', academyHref: '/academy?app=docudesk'},
|
|
34
34
|
launchpad: {slug: 'launchpad', name: 'LaunchPad', category: 'Dashboards', productHref: '/apps/launchpad', docsHref: 'https://launchpad.conduction.nl', academyHref: '/academy?app=launchpad'},
|
|
35
35
|
zaakafhandelapp: {slug: 'zaakafhandelapp', name: 'ZaakAfhandelApp', category: 'Processes', productHref: '/apps/zaakafhandelapp', docsHref: 'https://zaakafhandelapp.conduction.nl', academyHref: '/academy?app=zaakafhandelapp'},
|
|
36
|
-
pipelinq: {slug: 'pipelinq', name: '
|
|
37
|
-
procest: {slug: 'procest', name: '
|
|
38
|
-
decidesk: {slug: 'decidesk', name: '
|
|
39
|
-
softwarecatalog: {slug: 'softwarecatalog', name: '
|
|
40
|
-
larpingapp: {slug: 'larpingapp', name: '
|
|
41
|
-
nldesign: {slug: 'nldesign', name: '
|
|
36
|
+
pipelinq: {slug: 'pipelinq', name: 'Pipelinq', category: 'Processes', productHref: '/apps/pipelinq', docsHref: 'https://pipelinq.conduction.nl', academyHref: '/academy?app=pipelinq'},
|
|
37
|
+
procest: {slug: 'procest', name: 'Dossiq', category: 'Processes', productHref: '/apps/procest', docsHref: 'https://procest.conduction.nl', academyHref: '/academy?app=procest'},
|
|
38
|
+
decidesk: {slug: 'decidesk', name: 'Decidiq', category: 'Processes', productHref: '/apps/decidesk', docsHref: 'https://decidesk.conduction.nl', academyHref: '/academy?app=decidesk'},
|
|
39
|
+
softwarecatalog: {slug: 'softwarecatalog', name: 'Stackiq', category: 'Data', productHref: '/apps/softwarecatalog', docsHref: 'https://softwarecatalog.conduction.nl', academyHref: '/academy?app=softwarecatalog'},
|
|
40
|
+
larpingapp: {slug: 'larpingapp', name: 'Larpinq', category: 'Processes', productHref: '/apps/larpingapp', docsHref: 'https://larpingapp.conduction.nl', academyHref: '/academy?app=larpingapp'},
|
|
41
|
+
nldesign: {slug: 'nldesign', name: 'Thematiq', category: 'Documents', productHref: '/apps/nldesign', docsHref: 'https://nldesign.conduction.nl', academyHref: '/academy?app=nldesign'},
|
|
42
42
|
shillinq: {slug: 'shillinq', name: 'Shillinq', category: 'Processes', productHref: '/apps/shillinq', docsHref: 'https://shillinq.conduction.nl', academyHref: '/academy?app=shillinq'},
|
|
43
|
-
openbuild: {slug: 'openbuild', name: '
|
|
44
|
-
doriath: {slug: 'doriath', name: '
|
|
45
|
-
'app-versions': {slug: 'app-versions', name: '
|
|
43
|
+
openbuild: {slug: 'openbuild', name: 'Buildiq', category: 'Processes', productHref: '/apps/openbuild', docsHref: 'https://openbuild.conduction.nl', academyHref: '/academy?app=openbuild'},
|
|
44
|
+
doriath: {slug: 'doriath', name: 'Keepiq', category: 'Connectors', productHref: '/apps/doriath', docsHref: 'https://doriath.conduction.nl', academyHref: '/academy?app=doriath'},
|
|
45
|
+
'app-versions': {slug: 'app-versions', name: 'Versioniq', category: 'Data', productHref: '/apps/app-versions', docsHref: 'https://app-versions.conduction.nl', academyHref: '/academy?app=app-versions'},
|
|
46
46
|
hermiq: {slug: 'hermiq', name: 'Hermiq', category: 'AI', productHref: '/apps/hermiq', docsHref: 'https://hermiq.conduction.nl', academyHref: '/academy?app=hermiq'},
|
|
47
|
-
hrmq: {slug: 'hrmq', name: '
|
|
48
|
-
openanonymiser: {slug: 'openanonymiser', name: '
|
|
49
|
-
planix: {slug: 'planix', name: '
|
|
47
|
+
hrmq: {slug: 'hrmq', name: 'Humaniq', category: 'Processes', productHref: '/apps/hrmq', docsHref: 'https://hrmq.conduction.nl', academyHref: '/academy?app=hrmq'},
|
|
48
|
+
openanonymiser: {slug: 'openanonymiser', name: 'Anonymiq', category: 'Documents', productHref: '/apps/openanonymiser', docsHref: 'https://openanonymiser.conduction.nl', academyHref: '/academy?app=openanonymiser'},
|
|
49
|
+
planix: {slug: 'planix', name: 'Planninq', category: 'Processes', productHref: '/apps/planix', docsHref: 'https://planix.conduction.nl', academyHref: '/academy?app=planix'},
|
|
50
50
|
portaliq: {slug: 'portaliq', name: 'Portaliq', category: 'Processes', productHref: '/apps/portaliq', docsHref: 'https://portaliq.conduction.nl', academyHref: '/academy?app=portaliq'},
|
|
51
|
-
scholiq: {slug: 'scholiq', name: '
|
|
51
|
+
scholiq: {slug: 'scholiq', name: 'Learniq', category: 'Processes', productHref: '/apps/scholiq', docsHref: 'https://scholiq.conduction.nl', academyHref: '/academy?app=scholiq'},
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
/**
|
|
@@ -93,7 +93,7 @@ export function getApps(slugs = []) {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
/**
|
|
96
|
-
* Resolve a display-name (e.g. "OpenCatalogi", "
|
|
96
|
+
* Resolve a display-name (e.g. "OpenCatalogi", "Filinq", "LaunchPad")
|
|
97
97
|
* to its product page href, or undefined when the name is not in the
|
|
98
98
|
* registry. Used by partner cards / sidecards to turn the apps-shipped
|
|
99
99
|
* chip row into a clickable link list. Names like "Nextcloud" that
|
package/src/diagrams/cn-pair.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* right-label="xWiki"
|
|
13
13
|
* right-caption="xwiki.example"
|
|
14
14
|
* right-color="cobalt-700"
|
|
15
|
-
* bridge-label="
|
|
15
|
+
* bridge-label="Integriq integration">
|
|
16
16
|
* <svg slot="left-icon" viewBox="0 0 24 24">...</svg>
|
|
17
17
|
* <svg slot="right-icon" viewBox="0 0 24 24">...</svg>
|
|
18
18
|
* </cn-pair>
|
package/src/theme/brand.jsx
CHANGED
|
@@ -68,12 +68,12 @@ export function brandFor(pathname, title) {
|
|
|
68
68
|
* cobalt-400 / regular weight and the rest in blue-cobalt / bold:
|
|
69
69
|
*
|
|
70
70
|
* <span class="light">Open</span>Register
|
|
71
|
-
* <span class="light">
|
|
71
|
+
* <span class="light">Pipe</span>linQ
|
|
72
72
|
* <span class="light">My</span>Dash
|
|
73
73
|
*
|
|
74
74
|
* This list covers the prefixes used across the Conduction fleet.
|
|
75
75
|
* Sites whose wordmark doesn't start with one of these (e.g. Shillinq,
|
|
76
|
-
*
|
|
76
|
+
* Hermiq) keep the whole wordmark in blue-cobalt unless they pass
|
|
77
77
|
* an explicit `navbar.brandPrefix` to override.
|
|
78
78
|
*/
|
|
79
79
|
const PRODUCT_PREFIXES = [
|
package/static/lib/hex-rain.js
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
];
|
|
23
23
|
const APP_NAMES = [
|
|
24
24
|
'OpenCatalogi', 'OpenRegister', 'OpenConnector', 'DocuDesk',
|
|
25
|
-
'LaunchPad', 'AI Bridge', '
|
|
25
|
+
'LaunchPad', 'AI Bridge', 'Pipelinq', 'OpenCalendar',
|
|
26
26
|
'OpenSAML', 'OpenMail', 'NextCloud', 'OpenZaak',
|
|
27
27
|
];
|
|
28
28
|
const APP_COUNT = ICONS.length;
|