{
	"name": "kubio/link",
	"category": "kubio-basic",
	"attributes": {
		"kubio": {
			"type": "object"
		},
		"text": {
			"type": "string",
			"source": "html",
			"default": "this is a link"
		},
		"link": {
			"type": "object",
			"default": {
				"typeOpenLink": "sameWindow"
			}
		},
		"preserveSpace": {
			"type": "object"
		},
		"icon": {
			"type": "object",
			"default": {
				"name": ""
			}
		}
	},
	"supports": {
		"anchor": true,
		"kubio": {
			"appearanceEffect": true,
			"default": {
				"props": {
					"showIcon": false,
					"iconPosition": "before"
				},
				"style": {
					"descendants": {
						"icon": {
							"size": {
								"value": 16
							},
							"margin": {
								"left": {
									"value": 10
								},
								"right": {
									"value": 10
								}
							}
						}
					}
				}
			},
			"elementsEnum": {
				"OUTER": "outer",
				"LINK": "link",
				"ICON": "icon",
				"TEXT": "text"
			},
			"elementsByName": {
				"outer": {
					"wrapper": true,
					"props": {
						"tag": "span"
					}
				},
				"link": {
					"default": true,
					"prefixWithTag": true,
					"props": {
						"tag": "a",
						"className": [
							"h-w-100",
							"h-global-transition"
						]
					}
				},
				"text": {
					"props": {
						"tag": "span",
						"className": [
							"kubio-inherit-typography"
						]
					}
				},
				"icon": {
					"props": {
						"tag": "icon"
					},
					"statesConfig": {
						"default": {
							"stateRedirectElement": "link"
						}
					}
				}
			},
			"template": {
				"type": "element",
				"props": {
					"name": "outer"
				},
				"children": [
					{
						"type": "element",
						"props": {
							"name": "link"
						},
						"children": [
							{
								"type": "element",
								"props": {
									"name": "icon",
									"shouldRender": "computed.showBeforeIcon"
								}
							},
							{
								"type": "element",
								"props": {
									"name": "text"
								}
							},
							{
								"type": "element",
								"props": {
									"name": "icon",
									"shouldRender": "computed.showAfterIcon"
								}
							}
						]
					}
				]
			}
		}
	}
}
