@bagdja/kumpul 0.0.0-stage → 1.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/README.md CHANGED
@@ -1,3 +1,102 @@
1
- # Temporary Holding Version
1
+ # `@bagdja/kumpul`
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Sample package for the `kumpul` Bagdja website template. Its SSR renderer
4
+ implements the supplied Kumpul direction using Bagdja section, theme,
5
+ profile, page, location, FAQ, and catalog props. The original visual prototype is
6
+ preserved under [`design-reference/`](./design-reference/) as reference.
7
+
8
+ The design handoff guide, available section catalog, external renderer props,
9
+ runtime limits, and reusable design prompt are maintained separately in the
10
+ `website/templates/guide` repository.
11
+
12
+ See [`design-reference/README.md`](./design-reference/README.md) for the visual
13
+ direction and notes about the prototype's sample data and host-managed pages.
14
+
15
+ ## Contract
16
+
17
+ - Package: `@bagdja/kumpul`
18
+ - Version: `1.0.0`
19
+ - Template slug: `kumpul`
20
+ - `rendererApiVersion`: `1`
21
+ - Entry point: `dist/server.cjs`
22
+ - Export: `render(props)`, returning a React element
23
+ - React: supplied by the Bagdja runtime
24
+
25
+ The package is kept separate from the production renderer. Publishing a package
26
+ does not publish or activate a template in the runtime registry; registration,
27
+ review, and publication are separate platform steps.
28
+
29
+ ## Development
30
+
31
+ ```sh
32
+ npm install
33
+ npm run dev
34
+ npm test
35
+ npm pack --dry-run
36
+ ```
37
+
38
+ `npm run dev` opens a local SSR preview at `http://127.0.0.1:4173`. Choose a
39
+ fixture and desktop/mobile width from the toolbar. Changes in `src/` and
40
+ `fixtures/` refresh automatically. The `home`, `catalog`, `about`, `how-it-works`,
41
+ `calendar`, `tagihan`, `transaksi`, `keranjang`, `detail-invoice`,
42
+ `detail-transaksi`, `detail-rencana-gathering`, and `empty` fixtures
43
+ are mock props only; no Bagdja API, tenant data, or host actions are used. The
44
+ about and how-it-works fixtures demonstrate
45
+ the existing `about`, `features_grid`, `gallery`, `service_process_section`,
46
+ and `faq_list` section contracts. The catalog fixture loads its local
47
+ search/category filter from `src/client.js`,
48
+ which filters and paginates cards already present in the fixture (12 per page).
49
+ The renderer does not fetch more catalog data, and local pagination does not
50
+ reduce the SSR response size because all supplied product cards are rendered
51
+ before the browser enhancement runs.
52
+ Gathering detail links lead to the host-managed product detail route; this
53
+ package does not invent an external gathering-detail or transaction contract.
54
+ The calendar fixture demonstrates the host-managed `gathering_calendar` system
55
+ page with local sample plans and invitations, including a month grid, month
56
+ navigation, and date selection that opens the date agenda in a centered desktop
57
+ dialog or a mobile bottom sheet. Its tabs, filters, and calendar controls run
58
+ only against fixture data; action buttons are intentionally disabled. The
59
+ `tagihan` fixture demonstrates the host-managed invoice page with sample
60
+ gathering invoices and payment terms, summary counts, and local status filters.
61
+ Its payment and detail actions are disabled in preview. The `transaksi` fixture
62
+ shows grouped transaction cards with local status filters; detail, chat, and
63
+ payment actions are disabled in preview. The `keranjang` fixture demonstrates
64
+ selection, quantity changes, local removal, and a checkout summary; checkout is
65
+ disabled and these interactions do not persist or call APIs. These account-page
66
+ fixtures use local sample props and make no network requests. A
67
+ production template can call host APIs only when the host explicitly exposes
68
+ and approves the required data/actions through its runtime contract; this
69
+ sample bundle makes no network requests.
70
+
71
+ The `detail-invoice` fixture demonstrates a gathering invoice detail page using
72
+ local sample data; payment remains disabled. The `detail-transaksi` fixture
73
+ demonstrates the `order_detail` system-section contract with item, shipping,
74
+ escrow, and total details; its payment action is disabled. Outside preview,
75
+ invoice details remain host-managed, while transaction detail uses only the
76
+ transaction data supplied in the `order_detail` section.
77
+ The `detail-rencana-gathering` fixture demonstrates the gathering plan summary,
78
+ schedule, and product-option snapshot. Its preview-only simulation follows the
79
+ host workflow stages: edit the title, invitation policy, deadlines, event date,
80
+ and opened product options; prepare email or WhatsApp invitations; review the
81
+ read-only list of confirmed attendees; then simulate seat payment status and
82
+ final option confirmation. Open invitations show a local QR code and share
83
+ link, while invite-only plans hide both. Product price and attendee limits
84
+ remain read-only, and the fixture does not invent food or catering features.
85
+ Preview shows one workflow stepper; the simulation is ephemeral and makes no
86
+ requests or real changes. Outside preview, the page reads only `order` and
87
+ `gatheringPlan` data provided by the host's `order_detail` section and omits the
88
+ simulator.
89
+
90
+ Use this repository as a starting sample: create a new designer repository
91
+ from it, then replace the renderer and fixtures while preserving the package
92
+ and manifest contract. The local preview is a development aid, not a substitute
93
+ for Bagdja Studio/reviewer preview or the isolated production runtime.
94
+
95
+ The runtime's optional `client_bundle` capability is approval-gated. Review
96
+ and approve the exact package version before enabling its browser bundle in
97
+ Bagdja; the local fixture preview is not that approval.
98
+
99
+ `npm run build` builds the package; `npm test` checks the renderer, and
100
+ `npm pack --dry-run` previews the contents to be uploaded to npm without
101
+ publishing anything. The design reference is documentation material and is
102
+ intentionally excluded from the published package.