@aglyn/aglyn 1.0.0-beta.145 → 1.0.0-beta.147
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/package.json +10 -10
- package/src/lib/app-utils/collection-entries.d.ts +43 -0
- package/src/lib/app-utils/collection-entries.js +48 -1
- package/src/lib/app-utils/collection-entries.js.map +1 -1
- package/src/lib/app-utils/contexts.d.ts +1 -0
- package/src/lib/app-utils/contexts.js +1 -0
- package/src/lib/app-utils/contexts.js.map +1 -1
- package/src/lib/app-utils/deployment-capabilities-context.d.ts +65 -0
- package/src/lib/app-utils/deployment-capabilities-context.js +29 -0
- package/src/lib/app-utils/deployment-capabilities-context.js.map +1 -0
- package/src/lib/app-utils/docs-index.generated.js +1 -1
- package/src/lib/app-utils/docs-index.generated.js.map +1 -1
- package/src/lib/plugin-manager/enabled-plugins.d.ts +44 -0
- package/src/lib/plugin-manager/enabled-plugins.js +18 -1
- package/src/lib/plugin-manager/enabled-plugins.js.map +1 -1
- package/src/lib/plugin-manager/feature-plugins.d.ts +13 -0
- package/src/lib/plugin-manager/feature-plugins.js +12 -0
- package/src/lib/plugin-manager/feature-plugins.js.map +1 -1
- package/src/lib/plugin-manager/first-party-plugins.generated.d.ts +6 -1
- package/src/lib/plugin-manager/first-party-plugins.generated.js +17 -0
- package/src/lib/plugin-manager/first-party-plugins.generated.js.map +1 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* What THIS DEPLOYMENT can do — facts about the install, not about the
|
|
19
|
+
* organization reading it (AGL-3080).
|
|
20
|
+
*
|
|
21
|
+
* The third kind of answer a plugin surface needs and cannot reach for
|
|
22
|
+
* itself. `entitled` says what the workspace bought and `permissions` says
|
|
23
|
+
* who is reading; neither says whether the software in front of them is
|
|
24
|
+
* wired up to a provider at all. A self-host install is the case: the
|
|
25
|
+
* marketplace's release flag defaults ON, so a fresh install draws the whole
|
|
26
|
+
* thing — browse, listing pages, a Buy button, a payout panel — all of it
|
|
27
|
+
* backed by Aglyn's Stripe Connect platform, which the operator does not have
|
|
28
|
+
* and cannot get.
|
|
29
|
+
*
|
|
30
|
+
* WHY A CONTEXT, and why the value comes from a SERVER layout. The facts are
|
|
31
|
+
* server-only secrets: `STRIPE_SECRET_KEY` carries no `NEXT_PUBLIC_` prefix,
|
|
32
|
+
* so a client component reading `process.env` for it gets `undefined` and
|
|
33
|
+
* concludes "not configured" on every deployment, our own included. The
|
|
34
|
+
* console's server layout knows the answer before any JavaScript ships and
|
|
35
|
+
* hands it down, which is also why this is not a fetch: a notice that says
|
|
36
|
+
* what a deployment cannot do must not arrive after the click it exists to
|
|
37
|
+
* precede.
|
|
38
|
+
*
|
|
39
|
+
* WHAT IT IS NOT. Not a release flag and not an entitlement — the three
|
|
40
|
+
* answer different questions and a surface usually needs all three. The flag
|
|
41
|
+
* asks whether this deployment should show the feature; the entitlement asks
|
|
42
|
+
* whether this organization bought it; this asks whether the deployment can
|
|
43
|
+
* carry it out. Nothing here is a gate: browsing and free installs genuinely
|
|
44
|
+
* work without Stripe, so a surface reads this to EXPLAIN itself, and hiding
|
|
45
|
+
* on it would remove working functionality to avoid describing one that is
|
|
46
|
+
* off.
|
|
47
|
+
*/
|
|
48
|
+
export interface DeploymentCapabilities {
|
|
49
|
+
/**
|
|
50
|
+
* True when this deployment has a Stripe platform at all (AGL-2019) —
|
|
51
|
+
* Aglyn as the biller, which is infrastructure, not a tenant's own
|
|
52
|
+
* checkout.
|
|
53
|
+
*
|
|
54
|
+
* ⚠️ Read it the safe way round. The default below is `true`, because the
|
|
55
|
+
* absence of a provider is not evidence of an absent platform: every
|
|
56
|
+
* surface rendered outside one — a test harness, a widget mounted in a
|
|
57
|
+
* zone — would otherwise draw a permanent "not configured" banner on
|
|
58
|
+
* Aglyn's own console.
|
|
59
|
+
*/
|
|
60
|
+
payments: boolean;
|
|
61
|
+
}
|
|
62
|
+
export declare const DEPLOYMENT_CAPABILITIES_DEFAULT: DeploymentCapabilities;
|
|
63
|
+
export declare const DeploymentCapabilitiesContext: import("react").Context<DeploymentCapabilities>;
|
|
64
|
+
/** Hook form of {@link DeploymentCapabilitiesContext}. */
|
|
65
|
+
export declare function useDeploymentCapabilities(): DeploymentCapabilities;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/ // Same placement rationale as page-header-record-context.ts: lives in
|
|
17
|
+
// @aglyn/aglyn without a 'use client' banner so both the console app and the
|
|
18
|
+
// feature plugins share one context module.
|
|
19
|
+
import { createContext, useContext } from "react";
|
|
20
|
+
export const DEPLOYMENT_CAPABILITIES_DEFAULT = {
|
|
21
|
+
payments: true
|
|
22
|
+
};
|
|
23
|
+
export const DeploymentCapabilitiesContext = createContext(DEPLOYMENT_CAPABILITIES_DEFAULT);
|
|
24
|
+
DeploymentCapabilitiesContext.displayName = 'DeploymentCapabilitiesContext';
|
|
25
|
+
/** Hook form of {@link DeploymentCapabilitiesContext}. */ export function useDeploymentCapabilities() {
|
|
26
|
+
return useContext(DeploymentCapabilitiesContext);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=deployment-capabilities-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/deployment-capabilities-context.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Same placement rationale as page-header-record-context.ts: lives in\n// @aglyn/aglyn without a 'use client' banner so both the console app and the\n// feature plugins share one context module.\nimport { createContext, useContext } from 'react'\n\n/**\n * What THIS DEPLOYMENT can do — facts about the install, not about the\n * organization reading it (AGL-3080).\n *\n * The third kind of answer a plugin surface needs and cannot reach for\n * itself. `entitled` says what the workspace bought and `permissions` says\n * who is reading; neither says whether the software in front of them is\n * wired up to a provider at all. A self-host install is the case: the\n * marketplace's release flag defaults ON, so a fresh install draws the whole\n * thing — browse, listing pages, a Buy button, a payout panel — all of it\n * backed by Aglyn's Stripe Connect platform, which the operator does not have\n * and cannot get.\n *\n * WHY A CONTEXT, and why the value comes from a SERVER layout. The facts are\n * server-only secrets: `STRIPE_SECRET_KEY` carries no `NEXT_PUBLIC_` prefix,\n * so a client component reading `process.env` for it gets `undefined` and\n * concludes \"not configured\" on every deployment, our own included. The\n * console's server layout knows the answer before any JavaScript ships and\n * hands it down, which is also why this is not a fetch: a notice that says\n * what a deployment cannot do must not arrive after the click it exists to\n * precede.\n *\n * WHAT IT IS NOT. Not a release flag and not an entitlement — the three\n * answer different questions and a surface usually needs all three. The flag\n * asks whether this deployment should show the feature; the entitlement asks\n * whether this organization bought it; this asks whether the deployment can\n * carry it out. Nothing here is a gate: browsing and free installs genuinely\n * work without Stripe, so a surface reads this to EXPLAIN itself, and hiding\n * on it would remove working functionality to avoid describing one that is\n * off.\n */\nexport interface DeploymentCapabilities {\n /**\n * True when this deployment has a Stripe platform at all (AGL-2019) —\n * Aglyn as the biller, which is infrastructure, not a tenant's own\n * checkout.\n *\n * ⚠️ Read it the safe way round. The default below is `true`, because the\n * absence of a provider is not evidence of an absent platform: every\n * surface rendered outside one — a test harness, a widget mounted in a\n * zone — would otherwise draw a permanent \"not configured\" banner on\n * Aglyn's own console.\n */\n payments: boolean\n}\n\nexport const DEPLOYMENT_CAPABILITIES_DEFAULT: DeploymentCapabilities = {\n payments: true,\n}\n\nexport const DeploymentCapabilitiesContext =\n createContext<DeploymentCapabilities>(DEPLOYMENT_CAPABILITIES_DEFAULT)\nDeploymentCapabilitiesContext.displayName = 'DeploymentCapabilitiesContext'\n\n/** Hook form of {@link DeploymentCapabilitiesContext}. */\nexport function useDeploymentCapabilities(): DeploymentCapabilities {\n return useContext(DeploymentCapabilitiesContext)\n}\n"],"names":["createContext","useContext","DEPLOYMENT_CAPABILITIES_DEFAULT","payments","DeploymentCapabilitiesContext","displayName","useDeploymentCapabilities"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED,sEAAsE;AACtE,6EAA6E;AAC7E,4CAA4C;AAC5C,SAASA,aAAa,EAAEC,UAAU,QAAQ,QAAO;AAgDjD,OAAO,MAAMC,kCAA0D;IACrEC,UAAU;AACZ,EAAC;AAED,OAAO,MAAMC,gCACXJ,cAAsCE,iCAAgC;AACxEE,8BAA8BC,WAAW,GAAG;AAE5C,wDAAwD,GACxD,OAAO,SAASC;IACd,OAAOL,WAAWG;AACpB"}
|
|
@@ -1395,7 +1395,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
1395
1395
|
title: 'Responsive styling & custom CSS',
|
|
1396
1396
|
heading: 'Gradient backgrounds',
|
|
1397
1397
|
anchor: '#gradient-backgrounds',
|
|
1398
|
-
text: 'Background Fill in the Colors group builds a gradient by clicking — no custom CSS.\n1. Set Background Fill to Linear gradient (or Radial gradient) — the field opens as that one select. It starts from your theme\'s primary and secondary colors so you see a gradient immediately; Solid color paints no image and hands the element back to the Background Color field above.\n2. Set the Angle in degrees for a linear fill — 180 runs top to bottom, 90 left to right.\n3. Edit the color stops. Each stop is a color button plus a position in percent. The color button opens the same two-stage picker as every other color field, so a stop can be a theme color (it then follows your palette, in both light and dark) or a literal hex. One gradient can mix the two — bind the ends to Primary and Secondary and drop a literal mid-tone between them. Add stop adds one near the end of the ramp, ready to be positioned; a gradient always keeps at least two, so the remove button
|
|
1398
|
+
text: 'Background Fill in the Colors group builds a gradient by clicking — no custom CSS.\n1. Set Background Fill to Linear gradient (or Radial gradient) — the field opens as that one select. It starts from your theme\'s primary and secondary colors so you see a gradient immediately; Solid color paints no image and hands the element back to the Background Color field above.\n2. Set the Angle in degrees for a linear fill — 180 runs top to bottom, 90 left to right.\n3. Edit the color stops. Each stop is a color button plus a position in percent. The color button opens the same two-stage picker as every other color field, so a stop can be a theme color (it then follows your palette, in both light and dark) or a literal hex. One gradient can mix the two — bind the ends to Primary and Secondary and drop a literal mid-tone between them. Add stop adds one near the end of the ramp, ready to be positioned; a gradient always keeps at least two, so the remove button grays out at two.\nBackground Fill writes background-image, which paints over the Background Color — so a solid color set there still shows through anywhere the gradient is transparent, and stays as the fallback if you switch the fill back to solid.\nThe first choice in the menu — Default, or Inherited on a component instance — is not the same as Solid color. Default leaves the fill unset; Solid color is a positive "paint no image" (background-image: none). On an ordinary element they look identical, and on a component instance they are the difference between keeping the component\'s gradient and replacing it with your own background color.\nLike the other color fields, Background Fill is scheme-scoped: theme-color stops adapt on their own, and while the artboard previews dark you can give dark a different gradient outright.\nA backgr'
|
|
1399
1399
|
},
|
|
1400
1400
|
{
|
|
1401
1401
|
path: '/building-sites/besigner/responsive-styling',
|