viewcraft-button
Viewcraft Button
Native Viewcraft Button for Ignition Perspective, copied from the current local project.
Compose with native ia.display.view instances. Keep the Viewcraft parameter contract and shared styles; React components are not Perspective resources. Source is available for development, not a release-ready package.
Parameters
- labelstring
- Native view input: label.Default: Button
- variantenum
- Native view input: variant.Default: default
- sizeenum
- Native view input: size.Default: default
- disabledboolean
- Native view input: disabled.Default: false
- iconPathstring
- Native view input: iconPath.Default:
- iconOnlyboolean
- Native view input: iconOnly.Default: false
- onClickMessagestring
- Perspective message type emitted by the button. Add the matching handler in the host view; no handler is installed automatically.Default:
- hoverboolean
- Native view input: hover.Default: true
Import guidance
Development source only. Copy the included Perspective view and named style resources into your development project, preserving their paths. Add perspective/stylesheet.css to the project stylesheet. Use an Embedded View with path Primitives/Button. The local native preview was checked in Ignition 8.3.6. A released Designer import ZIP is not available yet.
Instructions refer to the source checkout. Individual ZIPs and a public installer are not released yet. Compatibility declarations still need separate Gateway acceptance.
View the parameter contract as JSON
{
"id": "viewcraft-button",
"parameters": {
"label": {
"type": "string",
"required": false,
"description": "Native view input: label.",
"default": "Button"
},
"variant": {
"type": "enum",
"required": false,
"description": "Native view input: variant.",
"default": "default",
"values": [
"default",
"secondary",
"outline",
"ghost",
"destructive"
]
},
"size": {
"type": "enum",
"required": false,
"description": "Native view input: size.",
"default": "default",
"values": [
"sm",
"default",
"lg",
"icon"
]
},
"disabled": {
"type": "boolean",
"required": false,
"description": "Native view input: disabled.",
"default": false
},
"iconPath": {
"type": "string",
"required": false,
"description": "Native view input: iconPath.",
"default": ""
},
"iconOnly": {
"type": "boolean",
"required": false,
"description": "Native view input: iconOnly.",
"default": false
},
"onClickMessage": {
"type": "string",
"required": false,
"description": "Perspective message type emitted by the button. Add the matching handler in the host view; no handler is installed automatically.",
"default": ""
},
"hover": {
"type": "boolean",
"required": false,
"description": "Native view input: hover.",
"default": true
}
},
"bindings": {
"supported": [
"expression",
"tag"
]
},
"states": [],
"responsive": {
"supported": false,
"modes": [],
"containerAssumptions": "Use an Embedded View with path Primitives/Button; constrain it using the host Flex container.",
"collapseBehavior": "Snapshot is not a responsive acceptance claim; verify at desktop and tablet widths."
},
"dependencies": [],
"ignition": {
"minVersion": "8.3",
"testedVersions": []
}
}