From 799ee3ecb1d179b54d8fd6863b2278faea3c4e49 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 1 Mar 2022 19:46:54 +0000 Subject: [PATCH] Deployed a04dc2426e to v5.4.0 with MkDocs 1.2.3 and mike 1.1.2 --- latest/404.html | 6 +- latest/custom_theme/main.html | 6 +- .../Common.Catalog.CatalogCategory/index.html | 6 +- .../Common.Catalog.CatalogEntity/index.html | 6 +- .../Common.Catalog.GeneralEntity/index.html | 6 +- .../index.html | 6 +- .../classes/Common.Catalog.WebLink/index.html | 6 +- .../Common.Store.ExtensionStore/index.html | 6 +- .../classes/Common.Util.Singleton/index.html | 6 +- .../index.html | 6 +- .../api/classes/Main.Ipc/index.html | 6 +- .../api/classes/Main.LensExtension/index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.Badge/index.html | 6 +- .../Renderer.Component.BarChart/index.html | 6 +- .../Renderer.Component.Button/index.html | 6 +- .../Renderer.Component.Checkbox/index.html | 6 +- .../index.html | 16 - .../index.html | 6 +- .../Renderer.Component.Dialog/index.html | 6 +- .../Renderer.Component.Drawer/index.html | 16 - .../Renderer.Component.DrawerItem/index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.DrawerTitle/index.html | 6 +- .../Renderer.Component.Icon/index.html | 6 +- .../Renderer.Component.Input/index.html | 6 +- .../index.html | 16 - .../index.html | 6 +- .../index.html | 16 - .../index.html | 16 - .../index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.MainLayout/index.html | 16 - .../Renderer.Component.Menu/index.html | 6 +- .../Renderer.Component.MenuActions/index.html | 6 +- .../Renderer.Component.MenuItem/index.html | 6 +- .../index.html | 16 - .../index.html | 16 - .../index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.PageLayout/index.html | 6 +- .../Renderer.Component.PieChart/index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.Radio/index.html | 6 +- .../Renderer.Component.RadioGroup/index.html | 6 +- .../Renderer.Component.SearchInput/index.html | 6 +- .../Renderer.Component.Select/index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.Slider/index.html | 6 +- .../Renderer.Component.Spinner/index.html | 6 +- .../Renderer.Component.StatusBrick/index.html | 6 +- .../Renderer.Component.Stepper/index.html | 6 +- .../Renderer.Component.SubTitle/index.html | 6 +- .../classes/Renderer.Component.Tab/index.html | 6 +- .../Renderer.Component.Table/index.html | 16 - .../Renderer.Component.TableCell/index.html | 6 +- .../Renderer.Component.TableHead/index.html | 6 +- .../Renderer.Component.TableRow/index.html | 6 +- .../Renderer.Component.Tabs/index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.Tooltip/index.html | 6 +- .../Renderer.Component.Wizard/index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.WizardStep/index.html | 6 +- .../api/classes/Renderer.Ipc/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.CRDStore/index.html | 6 +- .../Renderer.K8sApi.ClusterRole/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.ConfigMap/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.CronJob/index.html | 6 +- .../Renderer.K8sApi.CronJobStore/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.DaemonSet/index.html | 6 +- .../Renderer.K8sApi.DaemonSetStore/index.html | 6 +- .../Renderer.K8sApi.Deployment/index.html | 6 +- .../Renderer.K8sApi.DeploymentApi/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.Endpoint/index.html | 6 +- .../Renderer.K8sApi.EndpointStore/index.html | 6 +- .../Renderer.K8sApi.EventStore/index.html | 6 +- .../Renderer.K8sApi.HPAStore/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.Ingress/index.html | 6 +- .../Renderer.K8sApi.IngressApi/index.html | 6 +- .../Renderer.K8sApi.IngressStore/index.html | 6 +- .../classes/Renderer.K8sApi.Job/index.html | 6 +- .../Renderer.K8sApi.JobStore/index.html | 6 +- .../Renderer.K8sApi.KubeApi/index.html | 6 +- .../Renderer.K8sApi.KubeEvent/index.html | 6 +- .../Renderer.K8sApi.KubeJsonApi/index.html | 16 + .../Renderer.K8sApi.KubeObject/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.KubeStatus/index.html | 6 +- .../Renderer.K8sApi.LimitRange/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.Namespace/index.html | 6 +- .../Renderer.K8sApi.NamespaceStore/index.html | 6 +- .../Renderer.K8sApi.NetworkPolicy/index.html | 6 +- .../index.html | 6 +- .../classes/Renderer.K8sApi.Node/index.html | 6 +- .../Renderer.K8sApi.NodesApi/index.html | 6 +- .../Renderer.K8sApi.NodesStore/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../classes/Renderer.K8sApi.Pod/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.PodsApi/index.html | 6 +- .../Renderer.K8sApi.PodsStore/index.html | 6 +- .../Renderer.K8sApi.ReplicaSet/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.ResourceQuota/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.ResourceStack/index.html | 6 +- .../classes/Renderer.K8sApi.Role/index.html | 6 +- .../Renderer.K8sApi.RoleBinding/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.RolesStore/index.html | 6 +- .../classes/Renderer.K8sApi.Secret/index.html | 6 +- .../Renderer.K8sApi.SecretsStore/index.html | 6 +- .../Renderer.K8sApi.Service/index.html | 6 +- .../Renderer.K8sApi.ServiceAccount/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.ServiceStore/index.html | 6 +- .../Renderer.K8sApi.StatefulSet/index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.StorageClass/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../classes/Renderer.LensExtension/index.html | 6 +- .../Renderer.Navigation.PageParam/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- latest/extensions/api/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Common.Catalog.WebLinkStatus/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 16 + .../index.html | 16 + .../index.html | 16 + .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Common.Types.PageComponents/index.html | 6 +- .../Common.Types.PageParams/index.html | 6 +- .../Common.Types.PageRegistration/index.html | 6 +- .../Common.Types.PageTarget/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Common.Types.RegisteredPage/index.html | 6 +- .../Common.Types.ShellEnvContext/index.html | 16 + .../index.html | 6 +- .../index.html | 16 + .../Renderer.Component.BadgeProps/index.html | 6 +- .../Renderer.Component.ButtonProps/index.html | 6 +- .../index.html | 16 + .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.DialogProps/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.DrawerProps/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.IconProps/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.MenuProps/index.html | 6 +- .../Renderer.Component.MenuStyle/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.SelectProps/index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.SliderProps/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.TabProps/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.TableProps/index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.TabsProps/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Renderer.Component.WizardProps/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.IPodContainer/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../Renderer.K8sApi.ISecretRef/index.html | 6 +- .../index.html | 16 + .../index.html | 16 + .../index.html | 16 + .../index.html | 16 + .../Renderer.K8sApi.KubeStatusData/index.html | 16 + .../index.html | 6 +- .../Renderer.Navigation.URLParams/index.html | 6 +- .../modules/Common.App.Preferences/index.html | 6 +- .../api/modules/Common.App/index.html | 6 +- .../api/modules/Common.Catalog/index.html | 6 +- .../api/modules/Common.EventBus/index.html | 6 +- .../api/modules/Common.Store/index.html | 6 +- .../api/modules/Common.Types/index.html | 6 +- .../api/modules/Common.Util/index.html | 6 +- .../extensions/api/modules/Common/index.html | 6 +- .../api/modules/Main.Catalog/index.html | 6 +- .../api/modules/Main.K8sApi/index.html | 6 +- .../api/modules/Main.Navigation/index.html | 6 +- .../api/modules/Main.Power/index.html | 16 + latest/extensions/api/modules/Main/index.html | 6 +- .../api/modules/Renderer.Catalog/index.html | 6 +- .../api/modules/Renderer.Component/index.html | 6 +- .../api/modules/Renderer.K8sApi/index.html | 6 +- .../modules/Renderer.Navigation/index.html | 6 +- .../api/modules/Renderer.Theme/index.html | 6 +- .../api/modules/Renderer/index.html | 6 +- latest/extensions/api/modules/index.html | 6 +- .../common-capabilities/index.html | 6 +- latest/extensions/capabilities/index.html | 6 +- .../capabilities/styling/index.html | 6 +- .../extensions/extension-migration/index.html | 6 +- .../extensions/get-started/anatomy/index.html | 6 +- .../get-started/overview/index.html | 6 +- .../get-started/wrapping-up/index.html | 6 +- .../your-first-extension/index.html | 6 +- latest/extensions/guides/anatomy/index.html | 6 +- latest/extensions/guides/catalog/index.html | 6 +- .../extensions/guides/components/index.html | 6 +- .../extending-kubernetes-cluster/index.html | 16 + latest/extensions/guides/generator/index.html | 6 +- latest/extensions/guides/index.html | 6 +- latest/extensions/guides/ipc/index.html | 6 +- .../guides/kube-object-list-layout/index.html | 6 +- .../guides/main-extension/index.html | 6 +- .../guides/protocol-handlers/index.html | 6 +- .../guides/renderer-extension/index.html | 6 +- .../guides/resource-stack/index.html | 6 +- latest/extensions/guides/stores/index.html | 6 +- .../guides/working-with-mobx/index.html | 6 +- .../bundling/index.html | 6 +- .../publishing/index.html | 6 +- .../testing-and-publishing/testing/index.html | 6 +- latest/extensions/usage/index.html | 6 +- latest/index.html | 6 +- v5.4.0/404.html | 761 +++ v5.4.0/CNAME | 1 + v5.4.0/assets/images/favicon.png | Bin 0 -> 1870 bytes .../assets/javascripts/bundle.82217815.min.js | 108 + .../javascripts/lunr/min/lunr.ar.min.js | 1 + .../javascripts/lunr/min/lunr.da.min.js | 18 + .../javascripts/lunr/min/lunr.de.min.js | 18 + .../javascripts/lunr/min/lunr.du.min.js | 18 + .../javascripts/lunr/min/lunr.es.min.js | 18 + .../javascripts/lunr/min/lunr.fi.min.js | 18 + .../javascripts/lunr/min/lunr.fr.min.js | 18 + .../javascripts/lunr/min/lunr.hu.min.js | 18 + .../javascripts/lunr/min/lunr.it.min.js | 18 + .../javascripts/lunr/min/lunr.ja.min.js | 1 + .../javascripts/lunr/min/lunr.jp.min.js | 1 + .../javascripts/lunr/min/lunr.multi.min.js | 1 + .../javascripts/lunr/min/lunr.nl.min.js | 18 + .../javascripts/lunr/min/lunr.no.min.js | 18 + .../javascripts/lunr/min/lunr.pt.min.js | 18 + .../javascripts/lunr/min/lunr.ro.min.js | 18 + .../javascripts/lunr/min/lunr.ru.min.js | 18 + .../lunr/min/lunr.stemmer.support.min.js | 1 + .../javascripts/lunr/min/lunr.sv.min.js | 18 + .../javascripts/lunr/min/lunr.tr.min.js | 18 + .../javascripts/lunr/min/lunr.vi.min.js | 1 + v5.4.0/assets/javascripts/lunr/tinyseg.js | 206 + .../workers/search.df8cae7d.min.js | 59 + .../assets/stylesheets/main.92048cb8.min.css | 1 + .../stylesheets/palette.73e53a79.min.css | 1 + v5.4.0/custom_theme/img/favicon.ico | Bin 0 -> 15086 bytes v5.4.0/custom_theme/main.html | 1 + .../Common.Catalog.CatalogCategory/index.html | 1760 +++++ .../Common.Catalog.CatalogEntity/index.html | 1191 ++++ .../Common.Catalog.GeneralEntity/index.html | 1117 ++++ .../index.html | 1248 ++++ .../classes/Common.Catalog.WebLink/index.html | 1141 ++++ .../Common.Store.ExtensionStore/index.html | 1541 +++++ .../classes/Common.Util.Singleton/index.html | 997 +++ .../index.html | 920 +++ .../api/classes/Main.Ipc/index.html | 1189 ++++ .../api/classes/Main.LensExtension/index.html | 1361 ++++ .../index.html | 1074 ++++ .../Renderer.Component.Badge/index.html | 1663 +++++ .../Renderer.Component.BarChart/index.html | 1562 +++++ .../Renderer.Component.Button/index.html | 1551 +++++ .../Renderer.Component.Checkbox/index.html | 1592 +++++ .../index.html | 1680 +++++ .../Renderer.Component.Dialog/index.html | 1745 +++++ .../Renderer.Component.DrawerItem/index.html | 1551 +++++ .../index.html | 1564 +++++ .../Renderer.Component.DrawerTitle/index.html | 1551 +++++ .../Renderer.Component.Icon/index.html | 1654 +++++ .../Renderer.Component.Input/index.html | 1937 ++++++ .../index.html | 1597 +++++ .../index.html | 1590 +++++ .../index.html | 1562 +++++ .../Renderer.Component.Menu/index.html | 1900 ++++++ .../Renderer.Component.MenuActions/index.html | 1599 +++++ .../Renderer.Component.MenuItem/index.html | 1630 +++++ .../index.html | 1738 +++++ .../index.html | 1061 +++ .../Renderer.Component.PageLayout/index.html | 1593 +++++ .../Renderer.Component.PieChart/index.html | 1551 +++++ .../index.html | 1640 +++++ .../Renderer.Component.Radio/index.html | 1592 +++++ .../Renderer.Component.RadioGroup/index.html | 1551 +++++ .../Renderer.Component.SearchInput/index.html | 1628 +++++ .../Renderer.Component.Select/index.html | 1688 +++++ .../index.html | 1589 +++++ .../Renderer.Component.Slider/index.html | 1562 +++++ .../Renderer.Component.Spinner/index.html | 1581 +++++ .../Renderer.Component.StatusBrick/index.html | 1551 +++++ .../Renderer.Component.Stepper/index.html | 1551 +++++ .../Renderer.Component.SubTitle/index.html | 1551 +++++ .../classes/Renderer.Component.Tab/index.html | 1683 +++++ .../Renderer.Component.TableCell/index.html | 1641 +++++ .../Renderer.Component.TableHead/index.html | 1562 +++++ .../Renderer.Component.TableRow/index.html | 1551 +++++ .../Renderer.Component.Tabs/index.html | 1590 +++++ .../index.html | 912 +++ .../Renderer.Component.Tooltip/index.html | 1757 +++++ .../Renderer.Component.Wizard/index.html | 1724 +++++ .../index.html | 1551 +++++ .../Renderer.Component.WizardStep/index.html | 1638 +++++ .../api/classes/Renderer.Ipc/index.html | 1194 ++++ .../index.html | 2477 +++++++ .../Renderer.K8sApi.CRDStore/index.html | 2486 +++++++ .../Renderer.K8sApi.ClusterRole/index.html | 1710 +++++ .../index.html | 1757 +++++ .../Renderer.K8sApi.ConfigMap/index.html | 1712 +++++ .../index.html | 2440 +++++++ .../Renderer.K8sApi.CronJob/index.html | 1861 ++++++ .../Renderer.K8sApi.CronJobStore/index.html | 2471 +++++++ .../index.html | 1980 ++++++ .../Renderer.K8sApi.DaemonSet/index.html | 1937 ++++++ .../Renderer.K8sApi.DaemonSetStore/index.html | 2475 +++++++ .../Renderer.K8sApi.Deployment/index.html | 2001 ++++++ .../Renderer.K8sApi.DeploymentApi/index.html | 1804 ++++++ .../index.html | 2463 +++++++ .../Renderer.K8sApi.Endpoint/index.html | 1723 +++++ .../Renderer.K8sApi.EndpointStore/index.html | 2440 +++++++ .../Renderer.K8sApi.EventStore/index.html | 2461 +++++++ .../Renderer.K8sApi.HPAStore/index.html | 2440 +++++++ .../index.html | 1886 ++++++ .../Renderer.K8sApi.Ingress/index.html | 1802 ++++++ .../Renderer.K8sApi.IngressApi/index.html | 1656 +++++ .../Renderer.K8sApi.IngressStore/index.html | 2440 +++++++ .../classes/Renderer.K8sApi.Job/index.html | 2015 ++++++ .../Renderer.K8sApi.JobStore/index.html | 2507 ++++++++ .../Renderer.K8sApi.KubeApi/index.html | 1635 +++++ .../Renderer.K8sApi.KubeEvent/index.html | 1917 ++++++ .../Renderer.K8sApi.KubeJsonApi/index.html | 1500 +++++ .../Renderer.K8sApi.KubeObject/index.html | 1708 +++++ .../index.html | 2449 +++++++ .../Renderer.K8sApi.KubeStatus/index.html | 943 +++ .../Renderer.K8sApi.LimitRange/index.html | 1740 +++++ .../index.html | 2440 +++++++ .../Renderer.K8sApi.Namespace/index.html | 1714 +++++ .../Renderer.K8sApi.NamespaceStore/index.html | 2795 ++++++++ .../Renderer.K8sApi.NetworkPolicy/index.html | 1712 +++++ .../index.html | 2440 +++++++ .../classes/Renderer.K8sApi.Node/index.html | 2009 ++++++ .../Renderer.K8sApi.NodesApi/index.html | 1656 +++++ .../Renderer.K8sApi.NodesStore/index.html | 2464 +++++++ .../index.html | 1890 ++++++ .../index.html | 1816 ++++++ .../index.html | 1656 +++++ .../index.html | 2453 +++++++ .../classes/Renderer.K8sApi.Pod/index.html | 2300 +++++++ .../index.html | 1801 ++++++ .../index.html | 2440 +++++++ .../Renderer.K8sApi.PodsApi/index.html | 1696 +++++ .../Renderer.K8sApi.PodsStore/index.html | 2594 ++++++++ .../Renderer.K8sApi.ReplicaSet/index.html | 2020 ++++++ .../index.html | 2503 ++++++++ .../Renderer.K8sApi.ResourceQuota/index.html | 1741 +++++ .../index.html | 2440 +++++++ .../Renderer.K8sApi.ResourceStack/index.html | 1141 ++++ .../classes/Renderer.K8sApi.Role/index.html | 1710 +++++ .../Renderer.K8sApi.RoleBinding/index.html | 1757 +++++ .../index.html | 2492 ++++++++ .../Renderer.K8sApi.RolesStore/index.html | 2413 +++++++ .../classes/Renderer.K8sApi.Secret/index.html | 1736 +++++ .../Renderer.K8sApi.SecretsStore/index.html | 2440 +++++++ .../Renderer.K8sApi.Service/index.html | 1945 ++++++ .../Renderer.K8sApi.ServiceAccount/index.html | 1734 +++++ .../index.html | 2421 +++++++ .../Renderer.K8sApi.ServiceStore/index.html | 2440 +++++++ .../Renderer.K8sApi.StatefulSet/index.html | 1906 ++++++ .../index.html | 2475 +++++++ .../Renderer.K8sApi.StorageClass/index.html | 1782 ++++++ .../index.html | 2453 +++++++ .../index.html | 2440 +++++++ .../classes/Renderer.LensExtension/index.html | 1554 +++++ .../Renderer.Navigation.PageParam/index.html | 1215 ++++ .../index.html | 872 +++ .../index.html | 927 +++ .../index.html | 872 +++ v5.4.0/extensions/api/index.html | 874 +++ .../index.html | 918 +++ .../index.html | 912 +++ .../index.html | 892 +++ .../index.html | 895 +++ .../index.html | 958 +++ .../index.html | 901 +++ .../index.html | 939 +++ .../index.html | 902 +++ .../index.html | 902 +++ .../index.html | 872 +++ .../index.html | 926 +++ .../index.html | 850 +++ .../index.html | 887 +++ .../index.html | 908 +++ .../index.html | 951 +++ .../index.html | 888 +++ .../index.html | 948 +++ .../index.html | 917 +++ .../Common.Catalog.WebLinkStatus/index.html | 917 +++ .../index.html | 861 +++ .../index.html | 883 +++ .../index.html | 850 +++ .../index.html | 894 +++ .../index.html | 851 +++ .../index.html | 852 +++ .../index.html | 893 +++ .../index.html | 872 +++ .../index.html | 883 +++ .../index.html | 850 +++ .../index.html | 872 +++ .../index.html | 912 +++ .../index.html | 872 +++ .../Common.Types.PageComponents/index.html | 850 +++ .../Common.Types.PageParams/index.html | 833 +++ .../Common.Types.PageRegistration/index.html | 874 +++ .../Common.Types.PageTarget/index.html | 872 +++ .../index.html | 863 +++ .../index.html | 844 +++ .../index.html | 882 +++ .../Common.Types.RegisteredPage/index.html | 894 +++ .../Common.Types.ShellEnvContext/index.html | 850 +++ .../index.html | 865 +++ .../index.html | 1043 +++ .../Renderer.Component.BadgeProps/index.html | 4349 +++++++++++++ .../Renderer.Component.ButtonProps/index.html | 4558 +++++++++++++ .../index.html | 1002 +++ .../index.html | 971 +++ .../index.html | 917 +++ .../index.html | 978 +++ .../index.html | 1012 +++ .../Renderer.Component.DialogProps/index.html | 980 +++ .../index.html | 4300 +++++++++++++ .../index.html | 4284 +++++++++++++ .../index.html | 850 +++ .../Renderer.Component.DrawerProps/index.html | 976 +++ .../index.html | 861 +++ .../index.html | 883 +++ .../index.html | 850 +++ .../Renderer.Component.IconProps/index.html | 4426 +++++++++++++ .../index.html | 944 +++ .../index.html | 850 +++ .../index.html | 883 +++ .../index.html | 1443 +++++ .../index.html | 1214 ++++ .../index.html | 861 +++ .../index.html | 5685 +++++++++++++++++ .../index.html | 1144 ++++ .../index.html | 5674 ++++++++++++++++ .../index.html | 883 +++ .../Renderer.Component.MenuProps/index.html | 1020 +++ .../Renderer.Component.MenuStyle/index.html | 861 +++ .../index.html | 919 +++ .../index.html | 934 +++ .../index.html | 883 +++ .../Renderer.Component.SelectProps/index.html | 2190 +++++++ .../index.html | 3078 +++++++++ .../Renderer.Component.SliderProps/index.html | 4637 ++++++++++++++ .../index.html | 5663 ++++++++++++++++ .../index.html | 4283 +++++++++++++ .../index.html | 5652 ++++++++++++++++ .../index.html | 883 +++ .../index.html | 905 +++ .../Renderer.Component.TabProps/index.html | 3071 +++++++++ .../index.html | 3157 +++++++++ .../index.html | 3016 +++++++++ .../Renderer.Component.TableProps/index.html | 3320 ++++++++++ .../index.html | 3049 +++++++++ .../Renderer.Component.TabsProps/index.html | 3122 +++++++++ .../index.html | 894 +++ .../index.html | 879 +++ .../index.html | 949 +++ .../index.html | 3049 +++++++++ .../Renderer.Component.WizardProps/index.html | 1036 +++ .../index.html | 1273 ++++ .../index.html | 880 +++ .../index.html | 877 +++ .../Renderer.K8sApi.IPodContainer/index.html | 1035 +++ .../index.html | 938 +++ .../index.html | 907 +++ .../Renderer.K8sApi.ISecretRef/index.html | 861 +++ .../index.html | 975 +++ .../index.html | 925 +++ .../index.html | 914 +++ .../index.html | 904 +++ .../Renderer.K8sApi.KubeStatusData/index.html | 894 +++ .../index.html | 973 +++ .../Renderer.Navigation.URLParams/index.html | 898 +++ .../modules/Common.App.Preferences/index.html | 853 +++ .../api/modules/Common.App/index.html | 989 +++ .../api/modules/Common.Catalog/index.html | 1053 +++ .../api/modules/Common.EventBus/index.html | 909 +++ .../api/modules/Common.Store/index.html | 827 +++ .../api/modules/Common.Types/index.html | 941 +++ .../api/modules/Common.Util/index.html | 1030 +++ .../extensions/api/modules/Common/index.html | 865 +++ .../api/modules/Main.Catalog/index.html | 895 +++ .../api/modules/Main.K8sApi/index.html | 1796 ++++++ .../api/modules/Main.Navigation/index.html | 867 +++ .../api/modules/Main.Power/index.html | 975 +++ v5.4.0/extensions/api/modules/Main/index.html | 841 +++ .../api/modules/Renderer.Catalog/index.html | 872 +++ .../api/modules/Renderer.Component/index.html | 1965 ++++++ .../api/modules/Renderer.K8sApi/index.html | 1513 +++++ .../modules/Renderer.Navigation/index.html | 1015 +++ .../api/modules/Renderer.Theme/index.html | 852 +++ .../api/modules/Renderer/index.html | 842 +++ v5.4.0/extensions/api/modules/index.html | 828 +++ .../common-capabilities/index.html | 1378 ++++ .../images/css-vars-in-devtools.png | Bin 0 -> 1153622 bytes .../capabilities/images/theme-selector.png | Bin 0 -> 417527 bytes v5.4.0/extensions/capabilities/index.html | 773 +++ .../capabilities/styling/index.html | 1125 ++++ .../extensions/extension-migration/index.html | 815 +++ .../extensions/get-started/anatomy/index.html | 1024 +++ .../get-started/overview/index.html | 920 +++ .../get-started/wrapping-up/index.html | 930 +++ .../your-first-extension/index.html | 1042 +++ v5.4.0/extensions/guides/anatomy/index.html | 809 +++ v5.4.0/extensions/guides/catalog/index.html | 978 +++ .../extensions/guides/components/index.html | 809 +++ .../extending-kubernetes-cluster/index.html | 951 +++ v5.4.0/extensions/guides/generator/index.html | 974 +++ .../guides/images/certificates-crd-list.png | Bin 0 -> 811453 bytes .../guides/images/clusterfeature.png | Bin 0 -> 133771 bytes .../guides/images/clusterpagemenus.png | Bin 0 -> 729366 bytes .../guides/images/globalpagemenus.png | Bin 0 -> 148787 bytes .../extensions/guides/images/hello-lens.png | Bin 0 -> 61522 bytes .../extensions/guides/images/hello-world.png | Bin 0 -> 63048 bytes .../guides/images/kubeobjectdetailitem.png | Bin 0 -> 208773 bytes .../images/kubeobjectdetailitemwithpods.png | Bin 0 -> 312544 bytes .../guides/images/kubeobjectmenuitem.png | Bin 0 -> 133111 bytes .../images/kubeobjectmenuitemdetail.png | Bin 0 -> 105917 bytes .../extensions/guides/images/routing-diag.png | Bin 0 -> 25838 bytes v5.4.0/extensions/guides/index.html | 1000 +++ v5.4.0/extensions/guides/ipc/index.html | 1074 ++++ .../guides/kube-object-list-layout/index.html | 1126 ++++ .../guides/main-extension/index.html | 1060 +++ .../guides/protocol-handlers/index.html | 974 +++ .../guides/renderer-extension/index.html | 1809 ++++++ .../guides/resource-stack/index.html | 1052 +++ v5.4.0/extensions/guides/stores/index.html | 1031 +++ .../guides/working-with-mobx/index.html | 919 +++ .../bundling/index.html | 773 +++ .../publishing/index.html | 968 +++ .../testing-and-publishing/testing/index.html | 1033 +++ v5.4.0/extensions/typedoc-readme.md.tpl | 7 + v5.4.0/extensions/usage/images/extensions.png | Bin 0 -> 603074 bytes v5.4.0/extensions/usage/index.html | 839 +++ v5.4.0/img/favicon.ico | Bin 0 -> 15086 bytes v5.4.0/img/lens-intro-video-screenshot.png | Bin 0 -> 771633 bytes v5.4.0/img/lens-logo-icon.svg | 21 + v5.4.0/img/play.svg | 1 + v5.4.0/index.html | 977 +++ v5.4.0/search/search_index.json | 1 + v5.4.0/sitemap.xml | 1413 ++++ v5.4.0/sitemap.xml.gz | Bin 0 -> 2176 bytes v5.4.0/stylesheets/extra.css | 115 + versions.json | 2 +- 630 files changed, 441390 insertions(+), 955 deletions(-) delete mode 100644 latest/extensions/api/classes/Renderer.Component.CommandOverlay/index.html delete mode 100644 latest/extensions/api/classes/Renderer.Component.Drawer/index.html delete mode 100644 latest/extensions/api/classes/Renderer.Component.KubeEventDetails/index.html delete mode 100644 latest/extensions/api/classes/Renderer.Component.KubeObjectListLayout/index.html delete mode 100644 latest/extensions/api/classes/Renderer.Component.KubeObjectMenu/index.html delete mode 100644 latest/extensions/api/classes/Renderer.Component.MainLayout/index.html delete mode 100644 latest/extensions/api/classes/Renderer.Component.NamespaceSelect/index.html delete mode 100644 latest/extensions/api/classes/Renderer.Component.NamespaceSelectFilter/index.html delete mode 100644 latest/extensions/api/classes/Renderer.Component.Table/index.html create mode 100644 latest/extensions/api/classes/Renderer.K8sApi.KubeJsonApi/index.html create mode 100644 latest/extensions/api/interfaces/Common.Types.CustomCategoryViewComponents/index.html create mode 100644 latest/extensions/api/interfaces/Common.Types.CustomCategoryViewProps/index.html create mode 100644 latest/extensions/api/interfaces/Common.Types.CustomCategoryViewRegistration/index.html create mode 100644 latest/extensions/api/interfaces/Common.Types.ShellEnvContext/index.html create mode 100644 latest/extensions/api/interfaces/Renderer.Component.AdditionalCategoryColumnRegistration/index.html create mode 100644 latest/extensions/api/interfaces/Renderer.Component.CategoryColumnRegistration/index.html create mode 100644 latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectMetadata/index.html create mode 100644 latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadAllParams/index.html create mode 100644 latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadingParams/index.html create mode 100644 latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreSubscribeParams/index.html create mode 100644 latest/extensions/api/interfaces/Renderer.K8sApi.KubeStatusData/index.html create mode 100644 latest/extensions/api/modules/Main.Power/index.html create mode 100644 latest/extensions/guides/extending-kubernetes-cluster/index.html create mode 100644 v5.4.0/404.html create mode 100644 v5.4.0/CNAME create mode 100644 v5.4.0/assets/images/favicon.png create mode 100644 v5.4.0/assets/javascripts/bundle.82217815.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 v5.4.0/assets/javascripts/lunr/tinyseg.js create mode 100644 v5.4.0/assets/javascripts/workers/search.df8cae7d.min.js create mode 100644 v5.4.0/assets/stylesheets/main.92048cb8.min.css create mode 100644 v5.4.0/assets/stylesheets/palette.73e53a79.min.css create mode 100644 v5.4.0/custom_theme/img/favicon.ico create mode 100644 v5.4.0/custom_theme/main.html create mode 100644 v5.4.0/extensions/api/classes/Common.Catalog.CatalogCategory/index.html create mode 100644 v5.4.0/extensions/api/classes/Common.Catalog.CatalogEntity/index.html create mode 100644 v5.4.0/extensions/api/classes/Common.Catalog.GeneralEntity/index.html create mode 100644 v5.4.0/extensions/api/classes/Common.Catalog.KubernetesCluster/index.html create mode 100644 v5.4.0/extensions/api/classes/Common.Catalog.WebLink/index.html create mode 100644 v5.4.0/extensions/api/classes/Common.Store.ExtensionStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Common.Util.Singleton/index.html create mode 100644 v5.4.0/extensions/api/classes/Main.Catalog.CatalogEntityRegistry/index.html create mode 100644 v5.4.0/extensions/api/classes/Main.Ipc/index.html create mode 100644 v5.4.0/extensions/api/classes/Main.LensExtension/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Catalog.CatalogEntityRegistry/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Badge/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.BarChart/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Button/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Checkbox/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.ConfirmDialog/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Dialog/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.DrawerItem/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.DrawerParamToggler/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.DrawerTitle/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Icon/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Input/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.KubeObjectDetails/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.KubeObjectMeta/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.LineProgress/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Menu/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.MenuActions/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.MenuItem/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Notifications/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.NotificationsStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.PageLayout/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.PieChart/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.PodDetailsList/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Radio/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.RadioGroup/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.SearchInput/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Select/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.SettingLayout/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Slider/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Spinner/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.StatusBrick/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Stepper/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.SubTitle/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Tab/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.TableCell/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.TableHead/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.TableRow/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Tabs/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.TerminalStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Tooltip/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.Wizard/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.WizardLayout/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Component.WizardStep/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Ipc/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.CRDResourceStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.CRDStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.ClusterRole/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.ClusterRoleBinding/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.ConfigMap/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.ConfigMapsStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.CronJob/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.CronJobStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.CustomResourceDefinition/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.DaemonSet/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.DaemonSetStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.Deployment/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.DeploymentApi/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.DeploymentStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.Endpoint/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.EndpointStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.EventStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.HPAStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.HorizontalPodAutoscaler/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.Ingress/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.IngressApi/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.IngressStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.Job/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.JobStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeApi/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeEvent/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeJsonApi/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeObject/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeObjectStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeStatus/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.LimitRange/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.LimitRangesStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.Namespace/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.NamespaceStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.NetworkPolicy/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.NetworkPolicyStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.Node/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.NodesApi/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.NodesStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolume/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaim/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaimsApi/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumesStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.Pod/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudget/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudgetsStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.PodsApi/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.PodsStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.ReplicaSet/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.ReplicaSetStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceQuota/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceQuotasStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceStack/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.Role/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.RoleBinding/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.RoleBindingsStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.RolesStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.Secret/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.SecretsStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.Service/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceAccount/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceAccountsStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.StatefulSet/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.StatefulSetStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.StorageClass/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.StorageClassStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.K8sApi.VolumeClaimStore/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.LensExtension/index.html create mode 100644 v5.4.0/extensions/api/classes/Renderer.Navigation.PageParam/index.html create mode 100644 v5.4.0/extensions/api/enums/Renderer.Component.NotificationStatus/index.html create mode 100644 v5.4.0/extensions/api/enums/Renderer.Component.TooltipPosition/index.html create mode 100644 v5.4.0/extensions/api/enums/Renderer.K8sApi.KubeObjectStatusLevel/index.html create mode 100644 v5.4.0/extensions/api/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategoryEvents/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategorySpec/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategoryVersion/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityActionContext/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenu/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenuContext/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenu/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenuContext/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityData/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityKindData/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityMetadata/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsContext/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsMenu/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityStatus/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterMetadata/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterPrometheusMetrics/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterSpec/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterStatus/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Catalog.WebLinkStatus/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.AppPreferenceComponents/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.AppPreferenceRegistration/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.ClusterPageMenuComponents/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.ClusterPageMenuRegistration/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewComponents/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewRegistration/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectDetailComponents/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectDetailRegistration/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectMenuComponents/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectMenuRegistration/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectStatusRegistration/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.PageComponentProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.PageComponents/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.PageParams/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.PageRegistration/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.PageTarget/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.ProtocolHandlerRegistration/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.ProtocolRouteHandler/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.ProtocolRouteParams/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.RegisteredPage/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.ShellEnvContext/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Common.Types.StatusBarRegistration/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.AdditionalCategoryColumnRegistration/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.BadgeProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.ButtonProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.CategoryColumnRegistration/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.CheckboxProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogBooleanParams/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogParams/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.DialogProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerItemLabelsProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerItemProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerParamTogglerProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerTitleProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.GroupSelectOption/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.IconDataFnArg/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.IconProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.InputValidator/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.KubeEventDetailsProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectDetailsProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectListLayoutProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectMenuProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectMetaProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.LineProgressProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.MenuActionsProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.MenuItemProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.MenuPosition/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.MenuProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.MenuStyle/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.Notification/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.RadioGroupProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.SelectOption/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.SelectProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.SettingLayoutProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.SliderProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.SpinnerProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.StatusBrickProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.StepperProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.TabLayoutProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.TabLayoutRoute/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.TabProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.TableCellProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.TableHeadProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.TableProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.TableRowProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.TabsProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipContentFormatters/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipDecoratorProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.WizardLayoutProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.WizardProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Component.WizardStepProps/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IKubeApiCluster/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.K8sApi.ILocalKubeApiConfig/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IPodContainer/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IPodContainerStatus/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IRemoteKubeApiConfig/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.K8sApi.ISecretRef/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectMetadata/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadAllParams/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadingParams/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreSubscribeParams/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeStatusData/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Navigation.PageParamInit/index.html create mode 100644 v5.4.0/extensions/api/interfaces/Renderer.Navigation.URLParams/index.html create mode 100644 v5.4.0/extensions/api/modules/Common.App.Preferences/index.html create mode 100644 v5.4.0/extensions/api/modules/Common.App/index.html create mode 100644 v5.4.0/extensions/api/modules/Common.Catalog/index.html create mode 100644 v5.4.0/extensions/api/modules/Common.EventBus/index.html create mode 100644 v5.4.0/extensions/api/modules/Common.Store/index.html create mode 100644 v5.4.0/extensions/api/modules/Common.Types/index.html create mode 100644 v5.4.0/extensions/api/modules/Common.Util/index.html create mode 100644 v5.4.0/extensions/api/modules/Common/index.html create mode 100644 v5.4.0/extensions/api/modules/Main.Catalog/index.html create mode 100644 v5.4.0/extensions/api/modules/Main.K8sApi/index.html create mode 100644 v5.4.0/extensions/api/modules/Main.Navigation/index.html create mode 100644 v5.4.0/extensions/api/modules/Main.Power/index.html create mode 100644 v5.4.0/extensions/api/modules/Main/index.html create mode 100644 v5.4.0/extensions/api/modules/Renderer.Catalog/index.html create mode 100644 v5.4.0/extensions/api/modules/Renderer.Component/index.html create mode 100644 v5.4.0/extensions/api/modules/Renderer.K8sApi/index.html create mode 100644 v5.4.0/extensions/api/modules/Renderer.Navigation/index.html create mode 100644 v5.4.0/extensions/api/modules/Renderer.Theme/index.html create mode 100644 v5.4.0/extensions/api/modules/Renderer/index.html create mode 100644 v5.4.0/extensions/api/modules/index.html create mode 100644 v5.4.0/extensions/capabilities/common-capabilities/index.html create mode 100644 v5.4.0/extensions/capabilities/images/css-vars-in-devtools.png create mode 100644 v5.4.0/extensions/capabilities/images/theme-selector.png create mode 100644 v5.4.0/extensions/capabilities/index.html create mode 100644 v5.4.0/extensions/capabilities/styling/index.html create mode 100644 v5.4.0/extensions/extension-migration/index.html create mode 100644 v5.4.0/extensions/get-started/anatomy/index.html create mode 100644 v5.4.0/extensions/get-started/overview/index.html create mode 100644 v5.4.0/extensions/get-started/wrapping-up/index.html create mode 100644 v5.4.0/extensions/get-started/your-first-extension/index.html create mode 100644 v5.4.0/extensions/guides/anatomy/index.html create mode 100644 v5.4.0/extensions/guides/catalog/index.html create mode 100644 v5.4.0/extensions/guides/components/index.html create mode 100644 v5.4.0/extensions/guides/extending-kubernetes-cluster/index.html create mode 100644 v5.4.0/extensions/guides/generator/index.html create mode 100644 v5.4.0/extensions/guides/images/certificates-crd-list.png create mode 100644 v5.4.0/extensions/guides/images/clusterfeature.png create mode 100644 v5.4.0/extensions/guides/images/clusterpagemenus.png create mode 100644 v5.4.0/extensions/guides/images/globalpagemenus.png create mode 100644 v5.4.0/extensions/guides/images/hello-lens.png create mode 100644 v5.4.0/extensions/guides/images/hello-world.png create mode 100644 v5.4.0/extensions/guides/images/kubeobjectdetailitem.png create mode 100644 v5.4.0/extensions/guides/images/kubeobjectdetailitemwithpods.png create mode 100644 v5.4.0/extensions/guides/images/kubeobjectmenuitem.png create mode 100644 v5.4.0/extensions/guides/images/kubeobjectmenuitemdetail.png create mode 100644 v5.4.0/extensions/guides/images/routing-diag.png create mode 100644 v5.4.0/extensions/guides/index.html create mode 100644 v5.4.0/extensions/guides/ipc/index.html create mode 100644 v5.4.0/extensions/guides/kube-object-list-layout/index.html create mode 100644 v5.4.0/extensions/guides/main-extension/index.html create mode 100644 v5.4.0/extensions/guides/protocol-handlers/index.html create mode 100644 v5.4.0/extensions/guides/renderer-extension/index.html create mode 100644 v5.4.0/extensions/guides/resource-stack/index.html create mode 100644 v5.4.0/extensions/guides/stores/index.html create mode 100644 v5.4.0/extensions/guides/working-with-mobx/index.html create mode 100644 v5.4.0/extensions/testing-and-publishing/bundling/index.html create mode 100644 v5.4.0/extensions/testing-and-publishing/publishing/index.html create mode 100644 v5.4.0/extensions/testing-and-publishing/testing/index.html create mode 100644 v5.4.0/extensions/typedoc-readme.md.tpl create mode 100644 v5.4.0/extensions/usage/images/extensions.png create mode 100644 v5.4.0/extensions/usage/index.html create mode 100644 v5.4.0/img/favicon.ico create mode 100644 v5.4.0/img/lens-intro-video-screenshot.png create mode 100644 v5.4.0/img/lens-logo-icon.svg create mode 100644 v5.4.0/img/play.svg create mode 100644 v5.4.0/index.html create mode 100644 v5.4.0/search/search_index.json create mode 100644 v5.4.0/sitemap.xml create mode 100644 v5.4.0/sitemap.xml.gz create mode 100644 v5.4.0/stylesheets/extra.css diff --git a/latest/404.html b/latest/404.html index 978796acd3..68620dc801 100644 --- a/latest/404.html +++ b/latest/404.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../v5.3.4/404.html... + Redirecting to ../v5.4.0/404.html... \ No newline at end of file diff --git a/latest/custom_theme/main.html b/latest/custom_theme/main.html index d630005c57..c8b40b959d 100644 --- a/latest/custom_theme/main.html +++ b/latest/custom_theme/main.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../v5.3.4/custom_theme/main.html... + Redirecting to ../../v5.4.0/custom_theme/main.html... \ No newline at end of file diff --git a/latest/extensions/api/classes/Common.Catalog.CatalogCategory/index.html b/latest/extensions/api/classes/Common.Catalog.CatalogCategory/index.html index ecd5ebf6d0..8a40006135 100644 --- a/latest/extensions/api/classes/Common.Catalog.CatalogCategory/index.html +++ b/latest/extensions/api/classes/Common.Catalog.CatalogCategory/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Common.Catalog.CatalogCategory/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Common.Catalog.CatalogCategory/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Common.Catalog.CatalogEntity/index.html b/latest/extensions/api/classes/Common.Catalog.CatalogEntity/index.html index 02f0310cf1..628d4f7a1c 100644 --- a/latest/extensions/api/classes/Common.Catalog.CatalogEntity/index.html +++ b/latest/extensions/api/classes/Common.Catalog.CatalogEntity/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Common.Catalog.CatalogEntity/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Common.Catalog.CatalogEntity/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Common.Catalog.GeneralEntity/index.html b/latest/extensions/api/classes/Common.Catalog.GeneralEntity/index.html index 60a0a2a1b0..0633937710 100644 --- a/latest/extensions/api/classes/Common.Catalog.GeneralEntity/index.html +++ b/latest/extensions/api/classes/Common.Catalog.GeneralEntity/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Common.Catalog.GeneralEntity/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Common.Catalog.GeneralEntity/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Common.Catalog.KubernetesCluster/index.html b/latest/extensions/api/classes/Common.Catalog.KubernetesCluster/index.html index dee3e11fef..294aab686a 100644 --- a/latest/extensions/api/classes/Common.Catalog.KubernetesCluster/index.html +++ b/latest/extensions/api/classes/Common.Catalog.KubernetesCluster/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Common.Catalog.KubernetesCluster/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Common.Catalog.KubernetesCluster/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Common.Catalog.WebLink/index.html b/latest/extensions/api/classes/Common.Catalog.WebLink/index.html index 2325423715..eb50e22368 100644 --- a/latest/extensions/api/classes/Common.Catalog.WebLink/index.html +++ b/latest/extensions/api/classes/Common.Catalog.WebLink/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Common.Catalog.WebLink/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Common.Catalog.WebLink/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Common.Store.ExtensionStore/index.html b/latest/extensions/api/classes/Common.Store.ExtensionStore/index.html index b057e3e31c..eff9b47bb3 100644 --- a/latest/extensions/api/classes/Common.Store.ExtensionStore/index.html +++ b/latest/extensions/api/classes/Common.Store.ExtensionStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Common.Store.ExtensionStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Common.Store.ExtensionStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Common.Util.Singleton/index.html b/latest/extensions/api/classes/Common.Util.Singleton/index.html index 9a72350575..e7fde097cd 100644 --- a/latest/extensions/api/classes/Common.Util.Singleton/index.html +++ b/latest/extensions/api/classes/Common.Util.Singleton/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Common.Util.Singleton/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Common.Util.Singleton/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Main.Catalog.CatalogEntityRegistry/index.html b/latest/extensions/api/classes/Main.Catalog.CatalogEntityRegistry/index.html index 02b0818b52..a669cb344c 100644 --- a/latest/extensions/api/classes/Main.Catalog.CatalogEntityRegistry/index.html +++ b/latest/extensions/api/classes/Main.Catalog.CatalogEntityRegistry/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Main.Catalog.CatalogEntityRegistry/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Main.Catalog.CatalogEntityRegistry/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Main.Ipc/index.html b/latest/extensions/api/classes/Main.Ipc/index.html index 687e477c6f..f18aef83ce 100644 --- a/latest/extensions/api/classes/Main.Ipc/index.html +++ b/latest/extensions/api/classes/Main.Ipc/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Main.Ipc/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Main.Ipc/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Main.LensExtension/index.html b/latest/extensions/api/classes/Main.LensExtension/index.html index ec8db9008a..f8ea289f3c 100644 --- a/latest/extensions/api/classes/Main.LensExtension/index.html +++ b/latest/extensions/api/classes/Main.LensExtension/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Main.LensExtension/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Main.LensExtension/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Catalog.CatalogEntityRegistry/index.html b/latest/extensions/api/classes/Renderer.Catalog.CatalogEntityRegistry/index.html index 26f0959f5f..0672802787 100644 --- a/latest/extensions/api/classes/Renderer.Catalog.CatalogEntityRegistry/index.html +++ b/latest/extensions/api/classes/Renderer.Catalog.CatalogEntityRegistry/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Catalog.CatalogEntityRegistry/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Catalog.CatalogEntityRegistry/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Badge/index.html b/latest/extensions/api/classes/Renderer.Component.Badge/index.html index 8b4b41b326..c60b98e2c3 100644 --- a/latest/extensions/api/classes/Renderer.Component.Badge/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Badge/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Badge/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Badge/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.BarChart/index.html b/latest/extensions/api/classes/Renderer.Component.BarChart/index.html index e0b57d00fb..31e45a5336 100644 --- a/latest/extensions/api/classes/Renderer.Component.BarChart/index.html +++ b/latest/extensions/api/classes/Renderer.Component.BarChart/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.BarChart/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.BarChart/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Button/index.html b/latest/extensions/api/classes/Renderer.Component.Button/index.html index d2cb14e3ad..bc10c94735 100644 --- a/latest/extensions/api/classes/Renderer.Component.Button/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Button/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Button/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Button/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Checkbox/index.html b/latest/extensions/api/classes/Renderer.Component.Checkbox/index.html index c707a92f18..0ad7d33181 100644 --- a/latest/extensions/api/classes/Renderer.Component.Checkbox/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Checkbox/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Checkbox/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Checkbox/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.CommandOverlay/index.html b/latest/extensions/api/classes/Renderer.Component.CommandOverlay/index.html deleted file mode 100644 index 0c096d92d9..0000000000 --- a/latest/extensions/api/classes/Renderer.Component.CommandOverlay/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - Redirecting - - - - - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.CommandOverlay/... - - \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.ConfirmDialog/index.html b/latest/extensions/api/classes/Renderer.Component.ConfirmDialog/index.html index 36fcef23b3..fe1d92e9bf 100644 --- a/latest/extensions/api/classes/Renderer.Component.ConfirmDialog/index.html +++ b/latest/extensions/api/classes/Renderer.Component.ConfirmDialog/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.ConfirmDialog/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.ConfirmDialog/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Dialog/index.html b/latest/extensions/api/classes/Renderer.Component.Dialog/index.html index 575a8c2149..c0e8a3df2d 100644 --- a/latest/extensions/api/classes/Renderer.Component.Dialog/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Dialog/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Dialog/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Dialog/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Drawer/index.html b/latest/extensions/api/classes/Renderer.Component.Drawer/index.html deleted file mode 100644 index bc2ea354db..0000000000 --- a/latest/extensions/api/classes/Renderer.Component.Drawer/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - Redirecting - - - - - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Drawer/... - - \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.DrawerItem/index.html b/latest/extensions/api/classes/Renderer.Component.DrawerItem/index.html index b11e2bb66a..956e592445 100644 --- a/latest/extensions/api/classes/Renderer.Component.DrawerItem/index.html +++ b/latest/extensions/api/classes/Renderer.Component.DrawerItem/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.DrawerItem/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.DrawerItem/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.DrawerParamToggler/index.html b/latest/extensions/api/classes/Renderer.Component.DrawerParamToggler/index.html index 2e7f1a207b..e373b2d09a 100644 --- a/latest/extensions/api/classes/Renderer.Component.DrawerParamToggler/index.html +++ b/latest/extensions/api/classes/Renderer.Component.DrawerParamToggler/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.DrawerParamToggler/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.DrawerParamToggler/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.DrawerTitle/index.html b/latest/extensions/api/classes/Renderer.Component.DrawerTitle/index.html index 4985b91e54..541117a235 100644 --- a/latest/extensions/api/classes/Renderer.Component.DrawerTitle/index.html +++ b/latest/extensions/api/classes/Renderer.Component.DrawerTitle/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.DrawerTitle/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.DrawerTitle/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Icon/index.html b/latest/extensions/api/classes/Renderer.Component.Icon/index.html index 27a77e4cb7..172f40a388 100644 --- a/latest/extensions/api/classes/Renderer.Component.Icon/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Icon/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Icon/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Icon/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Input/index.html b/latest/extensions/api/classes/Renderer.Component.Input/index.html index 22b165cbec..2b9929458e 100644 --- a/latest/extensions/api/classes/Renderer.Component.Input/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Input/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Input/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Input/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.KubeEventDetails/index.html b/latest/extensions/api/classes/Renderer.Component.KubeEventDetails/index.html deleted file mode 100644 index dea2cdfd67..0000000000 --- a/latest/extensions/api/classes/Renderer.Component.KubeEventDetails/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - Redirecting - - - - - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.KubeEventDetails/... - - \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.KubeObjectDetails/index.html b/latest/extensions/api/classes/Renderer.Component.KubeObjectDetails/index.html index 355b621595..846addd9ac 100644 --- a/latest/extensions/api/classes/Renderer.Component.KubeObjectDetails/index.html +++ b/latest/extensions/api/classes/Renderer.Component.KubeObjectDetails/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.KubeObjectDetails/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.KubeObjectDetails/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.KubeObjectListLayout/index.html b/latest/extensions/api/classes/Renderer.Component.KubeObjectListLayout/index.html deleted file mode 100644 index 06e99e1453..0000000000 --- a/latest/extensions/api/classes/Renderer.Component.KubeObjectListLayout/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - Redirecting - - - - - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.KubeObjectListLayout/... - - \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.KubeObjectMenu/index.html b/latest/extensions/api/classes/Renderer.Component.KubeObjectMenu/index.html deleted file mode 100644 index 39c5367357..0000000000 --- a/latest/extensions/api/classes/Renderer.Component.KubeObjectMenu/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - Redirecting - - - - - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.KubeObjectMenu/... - - \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.KubeObjectMeta/index.html b/latest/extensions/api/classes/Renderer.Component.KubeObjectMeta/index.html index af2a273746..1dc71f7313 100644 --- a/latest/extensions/api/classes/Renderer.Component.KubeObjectMeta/index.html +++ b/latest/extensions/api/classes/Renderer.Component.KubeObjectMeta/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.KubeObjectMeta/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.KubeObjectMeta/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.LineProgress/index.html b/latest/extensions/api/classes/Renderer.Component.LineProgress/index.html index 3f48f52ef6..bca5fd9ae0 100644 --- a/latest/extensions/api/classes/Renderer.Component.LineProgress/index.html +++ b/latest/extensions/api/classes/Renderer.Component.LineProgress/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.LineProgress/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.LineProgress/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.MainLayout/index.html b/latest/extensions/api/classes/Renderer.Component.MainLayout/index.html deleted file mode 100644 index b34f636b4d..0000000000 --- a/latest/extensions/api/classes/Renderer.Component.MainLayout/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - Redirecting - - - - - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.MainLayout/... - - \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Menu/index.html b/latest/extensions/api/classes/Renderer.Component.Menu/index.html index cefb906229..f82e099d22 100644 --- a/latest/extensions/api/classes/Renderer.Component.Menu/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Menu/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Menu/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Menu/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.MenuActions/index.html b/latest/extensions/api/classes/Renderer.Component.MenuActions/index.html index f0193a053a..2469a30642 100644 --- a/latest/extensions/api/classes/Renderer.Component.MenuActions/index.html +++ b/latest/extensions/api/classes/Renderer.Component.MenuActions/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.MenuActions/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.MenuActions/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.MenuItem/index.html b/latest/extensions/api/classes/Renderer.Component.MenuItem/index.html index 4d351ccb5d..6fbb901925 100644 --- a/latest/extensions/api/classes/Renderer.Component.MenuItem/index.html +++ b/latest/extensions/api/classes/Renderer.Component.MenuItem/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.MenuItem/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.MenuItem/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.NamespaceSelect/index.html b/latest/extensions/api/classes/Renderer.Component.NamespaceSelect/index.html deleted file mode 100644 index 650bce4d80..0000000000 --- a/latest/extensions/api/classes/Renderer.Component.NamespaceSelect/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - Redirecting - - - - - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.NamespaceSelect/... - - \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.NamespaceSelectFilter/index.html b/latest/extensions/api/classes/Renderer.Component.NamespaceSelectFilter/index.html deleted file mode 100644 index 2410758678..0000000000 --- a/latest/extensions/api/classes/Renderer.Component.NamespaceSelectFilter/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - Redirecting - - - - - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.NamespaceSelectFilter/... - - \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Notifications/index.html b/latest/extensions/api/classes/Renderer.Component.Notifications/index.html index bc687daff6..3fca1e9ff2 100644 --- a/latest/extensions/api/classes/Renderer.Component.Notifications/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Notifications/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Notifications/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Notifications/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.NotificationsStore/index.html b/latest/extensions/api/classes/Renderer.Component.NotificationsStore/index.html index d28fb45acd..81ecce74fe 100644 --- a/latest/extensions/api/classes/Renderer.Component.NotificationsStore/index.html +++ b/latest/extensions/api/classes/Renderer.Component.NotificationsStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.NotificationsStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.NotificationsStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.PageLayout/index.html b/latest/extensions/api/classes/Renderer.Component.PageLayout/index.html index c9cd1752df..e57154c772 100644 --- a/latest/extensions/api/classes/Renderer.Component.PageLayout/index.html +++ b/latest/extensions/api/classes/Renderer.Component.PageLayout/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.PageLayout/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.PageLayout/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.PieChart/index.html b/latest/extensions/api/classes/Renderer.Component.PieChart/index.html index 66df800827..a6d91b8f94 100644 --- a/latest/extensions/api/classes/Renderer.Component.PieChart/index.html +++ b/latest/extensions/api/classes/Renderer.Component.PieChart/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.PieChart/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.PieChart/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.PodDetailsList/index.html b/latest/extensions/api/classes/Renderer.Component.PodDetailsList/index.html index c3114ae098..cd96a28633 100644 --- a/latest/extensions/api/classes/Renderer.Component.PodDetailsList/index.html +++ b/latest/extensions/api/classes/Renderer.Component.PodDetailsList/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.PodDetailsList/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.PodDetailsList/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Radio/index.html b/latest/extensions/api/classes/Renderer.Component.Radio/index.html index eb785882ac..9bd4e5928d 100644 --- a/latest/extensions/api/classes/Renderer.Component.Radio/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Radio/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Radio/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Radio/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.RadioGroup/index.html b/latest/extensions/api/classes/Renderer.Component.RadioGroup/index.html index 5e7a0a2a98..630dd3d325 100644 --- a/latest/extensions/api/classes/Renderer.Component.RadioGroup/index.html +++ b/latest/extensions/api/classes/Renderer.Component.RadioGroup/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.RadioGroup/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.RadioGroup/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.SearchInput/index.html b/latest/extensions/api/classes/Renderer.Component.SearchInput/index.html index 9133c12660..4991945983 100644 --- a/latest/extensions/api/classes/Renderer.Component.SearchInput/index.html +++ b/latest/extensions/api/classes/Renderer.Component.SearchInput/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.SearchInput/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.SearchInput/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Select/index.html b/latest/extensions/api/classes/Renderer.Component.Select/index.html index 5655512835..22299e18ac 100644 --- a/latest/extensions/api/classes/Renderer.Component.Select/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Select/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Select/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Select/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.SettingLayout/index.html b/latest/extensions/api/classes/Renderer.Component.SettingLayout/index.html index 5192497470..3c5b51d68d 100644 --- a/latest/extensions/api/classes/Renderer.Component.SettingLayout/index.html +++ b/latest/extensions/api/classes/Renderer.Component.SettingLayout/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.SettingLayout/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.SettingLayout/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Slider/index.html b/latest/extensions/api/classes/Renderer.Component.Slider/index.html index cb550efa7e..4f0e4100ac 100644 --- a/latest/extensions/api/classes/Renderer.Component.Slider/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Slider/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Slider/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Slider/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Spinner/index.html b/latest/extensions/api/classes/Renderer.Component.Spinner/index.html index dcf20c79d0..d94d3f1f63 100644 --- a/latest/extensions/api/classes/Renderer.Component.Spinner/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Spinner/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Spinner/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Spinner/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.StatusBrick/index.html b/latest/extensions/api/classes/Renderer.Component.StatusBrick/index.html index 727471d486..60a28bab32 100644 --- a/latest/extensions/api/classes/Renderer.Component.StatusBrick/index.html +++ b/latest/extensions/api/classes/Renderer.Component.StatusBrick/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.StatusBrick/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.StatusBrick/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Stepper/index.html b/latest/extensions/api/classes/Renderer.Component.Stepper/index.html index 26bdad7fbd..75d24dc5e1 100644 --- a/latest/extensions/api/classes/Renderer.Component.Stepper/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Stepper/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Stepper/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Stepper/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.SubTitle/index.html b/latest/extensions/api/classes/Renderer.Component.SubTitle/index.html index b3cf22e1d8..de9c399ced 100644 --- a/latest/extensions/api/classes/Renderer.Component.SubTitle/index.html +++ b/latest/extensions/api/classes/Renderer.Component.SubTitle/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.SubTitle/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.SubTitle/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Tab/index.html b/latest/extensions/api/classes/Renderer.Component.Tab/index.html index a28034a5d7..fec0d6cb38 100644 --- a/latest/extensions/api/classes/Renderer.Component.Tab/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Tab/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Tab/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Tab/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Table/index.html b/latest/extensions/api/classes/Renderer.Component.Table/index.html deleted file mode 100644 index b81368baa4..0000000000 --- a/latest/extensions/api/classes/Renderer.Component.Table/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - Redirecting - - - - - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Table/... - - \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.TableCell/index.html b/latest/extensions/api/classes/Renderer.Component.TableCell/index.html index df54ab972c..3214181242 100644 --- a/latest/extensions/api/classes/Renderer.Component.TableCell/index.html +++ b/latest/extensions/api/classes/Renderer.Component.TableCell/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.TableCell/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.TableCell/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.TableHead/index.html b/latest/extensions/api/classes/Renderer.Component.TableHead/index.html index f5a029aed7..f8f16e0ba5 100644 --- a/latest/extensions/api/classes/Renderer.Component.TableHead/index.html +++ b/latest/extensions/api/classes/Renderer.Component.TableHead/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.TableHead/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.TableHead/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.TableRow/index.html b/latest/extensions/api/classes/Renderer.Component.TableRow/index.html index 985e9b864c..29b76f3fba 100644 --- a/latest/extensions/api/classes/Renderer.Component.TableRow/index.html +++ b/latest/extensions/api/classes/Renderer.Component.TableRow/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.TableRow/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.TableRow/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Tabs/index.html b/latest/extensions/api/classes/Renderer.Component.Tabs/index.html index d2136a1ce3..60e797be6b 100644 --- a/latest/extensions/api/classes/Renderer.Component.Tabs/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Tabs/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Tabs/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Tabs/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.TerminalStore/index.html b/latest/extensions/api/classes/Renderer.Component.TerminalStore/index.html index 471e805f1a..60ff72fbd1 100644 --- a/latest/extensions/api/classes/Renderer.Component.TerminalStore/index.html +++ b/latest/extensions/api/classes/Renderer.Component.TerminalStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.TerminalStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.TerminalStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Tooltip/index.html b/latest/extensions/api/classes/Renderer.Component.Tooltip/index.html index 47ada3ebec..f0cfb26717 100644 --- a/latest/extensions/api/classes/Renderer.Component.Tooltip/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Tooltip/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Tooltip/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Tooltip/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.Wizard/index.html b/latest/extensions/api/classes/Renderer.Component.Wizard/index.html index 4154562639..fa73700890 100644 --- a/latest/extensions/api/classes/Renderer.Component.Wizard/index.html +++ b/latest/extensions/api/classes/Renderer.Component.Wizard/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.Wizard/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.Wizard/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.WizardLayout/index.html b/latest/extensions/api/classes/Renderer.Component.WizardLayout/index.html index 97ccac9c4b..1b7e96e058 100644 --- a/latest/extensions/api/classes/Renderer.Component.WizardLayout/index.html +++ b/latest/extensions/api/classes/Renderer.Component.WizardLayout/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.WizardLayout/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.WizardLayout/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Component.WizardStep/index.html b/latest/extensions/api/classes/Renderer.Component.WizardStep/index.html index f75c5aaf39..434cb8d4ab 100644 --- a/latest/extensions/api/classes/Renderer.Component.WizardStep/index.html +++ b/latest/extensions/api/classes/Renderer.Component.WizardStep/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Component.WizardStep/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Component.WizardStep/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Ipc/index.html b/latest/extensions/api/classes/Renderer.Ipc/index.html index a1c5559b4b..aa35e21235 100644 --- a/latest/extensions/api/classes/Renderer.Ipc/index.html +++ b/latest/extensions/api/classes/Renderer.Ipc/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Ipc/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Ipc/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.CRDResourceStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.CRDResourceStore/index.html index 551c4638de..5c570db2d3 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.CRDResourceStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.CRDResourceStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.CRDResourceStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.CRDResourceStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.CRDStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.CRDStore/index.html index 8f96d486aa..a419b1b59f 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.CRDStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.CRDStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.CRDStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.CRDStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.ClusterRole/index.html b/latest/extensions/api/classes/Renderer.K8sApi.ClusterRole/index.html index b8ee7d165b..93823c58df 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.ClusterRole/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.ClusterRole/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.ClusterRole/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.ClusterRole/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.ClusterRoleBinding/index.html b/latest/extensions/api/classes/Renderer.K8sApi.ClusterRoleBinding/index.html index 745a13fbf1..c01aa27602 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.ClusterRoleBinding/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.ClusterRoleBinding/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.ClusterRoleBinding/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.ClusterRoleBinding/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.ConfigMap/index.html b/latest/extensions/api/classes/Renderer.K8sApi.ConfigMap/index.html index d5cd7a1c2d..66de80a732 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.ConfigMap/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.ConfigMap/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.ConfigMap/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.ConfigMap/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.ConfigMapsStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.ConfigMapsStore/index.html index 09e77bfca5..c1ac7380e7 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.ConfigMapsStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.ConfigMapsStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.ConfigMapsStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.ConfigMapsStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.CronJob/index.html b/latest/extensions/api/classes/Renderer.K8sApi.CronJob/index.html index 4a4a706a9c..ac913eebe9 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.CronJob/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.CronJob/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.CronJob/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.CronJob/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.CronJobStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.CronJobStore/index.html index 592ced9afd..288acb3a1a 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.CronJobStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.CronJobStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.CronJobStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.CronJobStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.CustomResourceDefinition/index.html b/latest/extensions/api/classes/Renderer.K8sApi.CustomResourceDefinition/index.html index 2a401bf29f..ab23f068c7 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.CustomResourceDefinition/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.CustomResourceDefinition/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.CustomResourceDefinition/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.CustomResourceDefinition/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.DaemonSet/index.html b/latest/extensions/api/classes/Renderer.K8sApi.DaemonSet/index.html index e48696e54b..0a5ef8c375 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.DaemonSet/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.DaemonSet/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.DaemonSet/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.DaemonSet/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.DaemonSetStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.DaemonSetStore/index.html index 26d46d1665..6ba906ecfa 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.DaemonSetStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.DaemonSetStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.DaemonSetStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.DaemonSetStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.Deployment/index.html b/latest/extensions/api/classes/Renderer.K8sApi.Deployment/index.html index 52b8189d12..63a7527c56 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.Deployment/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.Deployment/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.Deployment/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.Deployment/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.DeploymentApi/index.html b/latest/extensions/api/classes/Renderer.K8sApi.DeploymentApi/index.html index c19aace874..db25ae211c 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.DeploymentApi/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.DeploymentApi/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.DeploymentApi/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.DeploymentApi/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.DeploymentStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.DeploymentStore/index.html index c19e4b4ac2..d3314d591c 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.DeploymentStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.DeploymentStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.DeploymentStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.DeploymentStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.Endpoint/index.html b/latest/extensions/api/classes/Renderer.K8sApi.Endpoint/index.html index dac9c9e1f0..9ab473e20b 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.Endpoint/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.Endpoint/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.Endpoint/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.Endpoint/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.EndpointStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.EndpointStore/index.html index 214d718f89..e20523a19e 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.EndpointStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.EndpointStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.EndpointStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.EndpointStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.EventStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.EventStore/index.html index 9b9c4bf2e4..61956d3ef6 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.EventStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.EventStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.EventStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.EventStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.HPAStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.HPAStore/index.html index 692c709187..ad43e0ae6e 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.HPAStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.HPAStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.HPAStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.HPAStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.HorizontalPodAutoscaler/index.html b/latest/extensions/api/classes/Renderer.K8sApi.HorizontalPodAutoscaler/index.html index 7551ed027a..d521fb7afe 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.HorizontalPodAutoscaler/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.HorizontalPodAutoscaler/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.HorizontalPodAutoscaler/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.HorizontalPodAutoscaler/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.Ingress/index.html b/latest/extensions/api/classes/Renderer.K8sApi.Ingress/index.html index 1eae07acff..9ca6b571f1 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.Ingress/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.Ingress/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.Ingress/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.Ingress/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.IngressApi/index.html b/latest/extensions/api/classes/Renderer.K8sApi.IngressApi/index.html index 18fd6a0f1d..ab465e0a23 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.IngressApi/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.IngressApi/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.IngressApi/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.IngressApi/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.IngressStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.IngressStore/index.html index 25208faad6..bea3bfee6a 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.IngressStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.IngressStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.IngressStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.IngressStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.Job/index.html b/latest/extensions/api/classes/Renderer.K8sApi.Job/index.html index cb5acadad3..2f52a36edc 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.Job/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.Job/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.Job/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.Job/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.JobStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.JobStore/index.html index 0588a3ec8c..8cead2a9b5 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.JobStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.JobStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.JobStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.JobStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.KubeApi/index.html b/latest/extensions/api/classes/Renderer.K8sApi.KubeApi/index.html index ed42bfb24c..59d38a14fd 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.KubeApi/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.KubeApi/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.KubeApi/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeApi/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.KubeEvent/index.html b/latest/extensions/api/classes/Renderer.K8sApi.KubeEvent/index.html index df396a6021..91c4329261 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.KubeEvent/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.KubeEvent/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.KubeEvent/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeEvent/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.KubeJsonApi/index.html b/latest/extensions/api/classes/Renderer.K8sApi.KubeJsonApi/index.html new file mode 100644 index 0000000000..e69a653580 --- /dev/null +++ b/latest/extensions/api/classes/Renderer.K8sApi.KubeJsonApi/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeJsonApi/... + + \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.KubeObject/index.html b/latest/extensions/api/classes/Renderer.K8sApi.KubeObject/index.html index 9ce6d32059..617c64f572 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.KubeObject/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.KubeObject/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.KubeObject/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeObject/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.KubeObjectStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.KubeObjectStore/index.html index c3fbba90aa..aeeabc0df8 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.KubeObjectStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.KubeObjectStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.KubeObjectStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeObjectStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.KubeStatus/index.html b/latest/extensions/api/classes/Renderer.K8sApi.KubeStatus/index.html index 9e9da788d1..4e2cce092f 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.KubeStatus/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.KubeStatus/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.KubeStatus/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeStatus/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.LimitRange/index.html b/latest/extensions/api/classes/Renderer.K8sApi.LimitRange/index.html index 6dafe2dc3e..3bb133fb23 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.LimitRange/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.LimitRange/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.LimitRange/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.LimitRange/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.LimitRangesStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.LimitRangesStore/index.html index 26bcdc5094..564baee80b 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.LimitRangesStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.LimitRangesStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.LimitRangesStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.LimitRangesStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.Namespace/index.html b/latest/extensions/api/classes/Renderer.K8sApi.Namespace/index.html index d024937b05..cd5ecbbec6 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.Namespace/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.Namespace/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.Namespace/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.Namespace/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.NamespaceStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.NamespaceStore/index.html index 3397051d96..0866927b88 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.NamespaceStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.NamespaceStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.NamespaceStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.NamespaceStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.NetworkPolicy/index.html b/latest/extensions/api/classes/Renderer.K8sApi.NetworkPolicy/index.html index c8cc741791..07c2a84380 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.NetworkPolicy/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.NetworkPolicy/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.NetworkPolicy/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.NetworkPolicy/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.NetworkPolicyStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.NetworkPolicyStore/index.html index cee10fc6a7..5a40fa6a7d 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.NetworkPolicyStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.NetworkPolicyStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.NetworkPolicyStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.NetworkPolicyStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.Node/index.html b/latest/extensions/api/classes/Renderer.K8sApi.Node/index.html index ca73e83c39..b4ed26e621 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.Node/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.Node/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.Node/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.Node/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.NodesApi/index.html b/latest/extensions/api/classes/Renderer.K8sApi.NodesApi/index.html index 8c9cd55080..8a8ea9abe5 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.NodesApi/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.NodesApi/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.NodesApi/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.NodesApi/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.NodesStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.NodesStore/index.html index 2cbc5f1225..4f328da224 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.NodesStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.NodesStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.NodesStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.NodesStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolume/index.html b/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolume/index.html index a03b09de01..193cbb5f03 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolume/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolume/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.PersistentVolume/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolume/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaim/index.html b/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaim/index.html index 3bc1d056c6..528ec8fc12 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaim/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaim/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaim/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaim/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaimsApi/index.html b/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaimsApi/index.html index 96e9b56c96..cde64e25bb 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaimsApi/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaimsApi/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaimsApi/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaimsApi/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolumesStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolumesStore/index.html index a63adcfc3f..911a5c428e 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolumesStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.PersistentVolumesStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.PersistentVolumesStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumesStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.Pod/index.html b/latest/extensions/api/classes/Renderer.K8sApi.Pod/index.html index bc83de889b..f2e21b9c40 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.Pod/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.Pod/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.Pod/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.Pod/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudget/index.html b/latest/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudget/index.html index 58d531337e..348c677337 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudget/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudget/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudget/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudget/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudgetsStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudgetsStore/index.html index d9312d9648..d9adb9ed1d 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudgetsStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudgetsStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudgetsStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudgetsStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.PodsApi/index.html b/latest/extensions/api/classes/Renderer.K8sApi.PodsApi/index.html index 045c2be5bf..2880c0d1e3 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.PodsApi/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.PodsApi/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.PodsApi/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.PodsApi/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.PodsStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.PodsStore/index.html index e12dea1c24..d65788d1c9 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.PodsStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.PodsStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.PodsStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.PodsStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.ReplicaSet/index.html b/latest/extensions/api/classes/Renderer.K8sApi.ReplicaSet/index.html index 9936b27528..098d0ada00 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.ReplicaSet/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.ReplicaSet/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.ReplicaSet/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.ReplicaSet/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.ReplicaSetStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.ReplicaSetStore/index.html index a807979e93..36f1f6058f 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.ReplicaSetStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.ReplicaSetStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.ReplicaSetStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.ReplicaSetStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.ResourceQuota/index.html b/latest/extensions/api/classes/Renderer.K8sApi.ResourceQuota/index.html index 83bb6c81d9..e3f784276c 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.ResourceQuota/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.ResourceQuota/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.ResourceQuota/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceQuota/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.ResourceQuotasStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.ResourceQuotasStore/index.html index 624c315299..e56bd35c32 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.ResourceQuotasStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.ResourceQuotasStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.ResourceQuotasStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceQuotasStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.ResourceStack/index.html b/latest/extensions/api/classes/Renderer.K8sApi.ResourceStack/index.html index fb4970232e..aa4855f1d3 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.ResourceStack/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.ResourceStack/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.ResourceStack/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceStack/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.Role/index.html b/latest/extensions/api/classes/Renderer.K8sApi.Role/index.html index 309278c9c6..5458a13e8d 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.Role/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.Role/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.Role/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.Role/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.RoleBinding/index.html b/latest/extensions/api/classes/Renderer.K8sApi.RoleBinding/index.html index 71eded4831..31c5742898 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.RoleBinding/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.RoleBinding/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.RoleBinding/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.RoleBinding/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.RoleBindingsStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.RoleBindingsStore/index.html index 1629af7d7f..4a73e45a37 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.RoleBindingsStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.RoleBindingsStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.RoleBindingsStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.RoleBindingsStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.RolesStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.RolesStore/index.html index 5de1895044..5444336d03 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.RolesStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.RolesStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.RolesStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.RolesStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.Secret/index.html b/latest/extensions/api/classes/Renderer.K8sApi.Secret/index.html index d6edcda940..3b581316ab 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.Secret/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.Secret/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.Secret/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.Secret/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.SecretsStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.SecretsStore/index.html index 7bfa92730b..92bc9e74d0 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.SecretsStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.SecretsStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.SecretsStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.SecretsStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.Service/index.html b/latest/extensions/api/classes/Renderer.K8sApi.Service/index.html index 6f7069a2de..fdd7b9e56c 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.Service/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.Service/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.Service/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.Service/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.ServiceAccount/index.html b/latest/extensions/api/classes/Renderer.K8sApi.ServiceAccount/index.html index 7e8da6b5aa..606de04493 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.ServiceAccount/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.ServiceAccount/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.ServiceAccount/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceAccount/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.ServiceAccountsStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.ServiceAccountsStore/index.html index a15878eb4a..c048139e5d 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.ServiceAccountsStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.ServiceAccountsStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.ServiceAccountsStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceAccountsStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.ServiceStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.ServiceStore/index.html index 23d4cf766b..7e7ea057dc 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.ServiceStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.ServiceStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.ServiceStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.StatefulSet/index.html b/latest/extensions/api/classes/Renderer.K8sApi.StatefulSet/index.html index 25e94e4b25..284511c6d0 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.StatefulSet/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.StatefulSet/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.StatefulSet/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.StatefulSet/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.StatefulSetStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.StatefulSetStore/index.html index 44b75d690a..1dd66679b7 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.StatefulSetStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.StatefulSetStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.StatefulSetStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.StatefulSetStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.StorageClass/index.html b/latest/extensions/api/classes/Renderer.K8sApi.StorageClass/index.html index e4d8672bad..8b7a85d42e 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.StorageClass/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.StorageClass/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.StorageClass/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.StorageClass/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.StorageClassStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.StorageClassStore/index.html index f963d9eb29..717ddcc014 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.StorageClassStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.StorageClassStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.StorageClassStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.StorageClassStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.K8sApi.VolumeClaimStore/index.html b/latest/extensions/api/classes/Renderer.K8sApi.VolumeClaimStore/index.html index e885e00b27..32a01ec3ad 100644 --- a/latest/extensions/api/classes/Renderer.K8sApi.VolumeClaimStore/index.html +++ b/latest/extensions/api/classes/Renderer.K8sApi.VolumeClaimStore/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.K8sApi.VolumeClaimStore/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.K8sApi.VolumeClaimStore/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.LensExtension/index.html b/latest/extensions/api/classes/Renderer.LensExtension/index.html index e10d5b87bb..d17fc61f47 100644 --- a/latest/extensions/api/classes/Renderer.LensExtension/index.html +++ b/latest/extensions/api/classes/Renderer.LensExtension/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.LensExtension/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.LensExtension/... \ No newline at end of file diff --git a/latest/extensions/api/classes/Renderer.Navigation.PageParam/index.html b/latest/extensions/api/classes/Renderer.Navigation.PageParam/index.html index 154a062031..a1dcf0de8e 100644 --- a/latest/extensions/api/classes/Renderer.Navigation.PageParam/index.html +++ b/latest/extensions/api/classes/Renderer.Navigation.PageParam/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/classes/Renderer.Navigation.PageParam/... + Redirecting to ../../../../../v5.4.0/extensions/api/classes/Renderer.Navigation.PageParam/... \ No newline at end of file diff --git a/latest/extensions/api/enums/Renderer.Component.NotificationStatus/index.html b/latest/extensions/api/enums/Renderer.Component.NotificationStatus/index.html index d2753d0069..f5dd86cebb 100644 --- a/latest/extensions/api/enums/Renderer.Component.NotificationStatus/index.html +++ b/latest/extensions/api/enums/Renderer.Component.NotificationStatus/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/enums/Renderer.Component.NotificationStatus/... + Redirecting to ../../../../../v5.4.0/extensions/api/enums/Renderer.Component.NotificationStatus/... \ No newline at end of file diff --git a/latest/extensions/api/enums/Renderer.Component.TooltipPosition/index.html b/latest/extensions/api/enums/Renderer.Component.TooltipPosition/index.html index 6110a5228c..604748c5d2 100644 --- a/latest/extensions/api/enums/Renderer.Component.TooltipPosition/index.html +++ b/latest/extensions/api/enums/Renderer.Component.TooltipPosition/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/enums/Renderer.Component.TooltipPosition/... + Redirecting to ../../../../../v5.4.0/extensions/api/enums/Renderer.Component.TooltipPosition/... \ No newline at end of file diff --git a/latest/extensions/api/enums/Renderer.K8sApi.KubeObjectStatusLevel/index.html b/latest/extensions/api/enums/Renderer.K8sApi.KubeObjectStatusLevel/index.html index 6566512320..3686618bc1 100644 --- a/latest/extensions/api/enums/Renderer.K8sApi.KubeObjectStatusLevel/index.html +++ b/latest/extensions/api/enums/Renderer.K8sApi.KubeObjectStatusLevel/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/enums/Renderer.K8sApi.KubeObjectStatusLevel/... + Redirecting to ../../../../../v5.4.0/extensions/api/enums/Renderer.K8sApi.KubeObjectStatusLevel/... \ No newline at end of file diff --git a/latest/extensions/api/index.html b/latest/extensions/api/index.html index 63ec2f9c9c..0143278d0d 100644 --- a/latest/extensions/api/index.html +++ b/latest/extensions/api/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../v5.3.4/extensions/api/... + Redirecting to ../../../v5.4.0/extensions/api/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogCategoryEvents/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogCategoryEvents/index.html index c74d63a83d..58ebeb2369 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogCategoryEvents/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogCategoryEvents/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogCategoryEvents/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategoryEvents/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogCategorySpec/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogCategorySpec/index.html index 91a1ebf044..229fe9e4b9 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogCategorySpec/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogCategorySpec/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogCategorySpec/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategorySpec/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogCategoryVersion/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogCategoryVersion/index.html index d61349a2ce..e4c03c1960 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogCategoryVersion/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogCategoryVersion/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogCategoryVersion/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategoryVersion/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityActionContext/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityActionContext/index.html index 2a6271c8a2..96c2873699 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityActionContext/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityActionContext/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogEntityActionContext/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityActionContext/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenu/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenu/index.html index 946e75c7f2..b69ed292e7 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenu/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenu/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenu/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenu/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenuContext/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenuContext/index.html index a26a90b893..2dea91f07c 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenuContext/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenuContext/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenuContext/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenuContext/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenu/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenu/index.html index 13f842681c..1b32aac5d7 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenu/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenu/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenu/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenu/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenuContext/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenuContext/index.html index 4198d57344..9267b00262 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenuContext/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenuContext/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenuContext/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenuContext/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityData/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityData/index.html index 389e751d52..f04d740777 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityData/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityData/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogEntityData/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityData/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityKindData/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityKindData/index.html index b9c00f1a98..2e233fa877 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityKindData/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityKindData/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogEntityKindData/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityKindData/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityMetadata/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityMetadata/index.html index 5361bb874b..062b04e0d5 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityMetadata/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityMetadata/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogEntityMetadata/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityMetadata/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsContext/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsContext/index.html index 06c46f479b..e9da59e76d 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsContext/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsContext/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsContext/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsContext/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsMenu/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsMenu/index.html index 7f93824d42..2e47255bb4 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsMenu/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsMenu/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsMenu/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsMenu/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityStatus/index.html b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityStatus/index.html index 132baf29aa..6f7c3f30d8 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityStatus/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.CatalogEntityStatus/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.CatalogEntityStatus/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityStatus/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterMetadata/index.html b/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterMetadata/index.html index f084c291e7..178199814f 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterMetadata/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterMetadata/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.KubernetesClusterMetadata/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterMetadata/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterPrometheusMetrics/index.html b/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterPrometheusMetrics/index.html index 9ced8115eb..0f2035139e 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterPrometheusMetrics/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterPrometheusMetrics/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.KubernetesClusterPrometheusMetrics/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterPrometheusMetrics/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterSpec/index.html b/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterSpec/index.html index 6c6447ec5a..3221b39da2 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterSpec/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterSpec/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.KubernetesClusterSpec/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterSpec/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterStatus/index.html b/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterStatus/index.html index 7936a9b756..8f2cff1358 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterStatus/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.KubernetesClusterStatus/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.KubernetesClusterStatus/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterStatus/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Catalog.WebLinkStatus/index.html b/latest/extensions/api/interfaces/Common.Catalog.WebLinkStatus/index.html index 21912896b5..0fbc5e5142 100644 --- a/latest/extensions/api/interfaces/Common.Catalog.WebLinkStatus/index.html +++ b/latest/extensions/api/interfaces/Common.Catalog.WebLinkStatus/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Catalog.WebLinkStatus/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Catalog.WebLinkStatus/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.AppPreferenceComponents/index.html b/latest/extensions/api/interfaces/Common.Types.AppPreferenceComponents/index.html index bce947886c..e6a3e79f17 100644 --- a/latest/extensions/api/interfaces/Common.Types.AppPreferenceComponents/index.html +++ b/latest/extensions/api/interfaces/Common.Types.AppPreferenceComponents/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.AppPreferenceComponents/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.AppPreferenceComponents/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.AppPreferenceRegistration/index.html b/latest/extensions/api/interfaces/Common.Types.AppPreferenceRegistration/index.html index 395f3a1fb2..35998c0ee9 100644 --- a/latest/extensions/api/interfaces/Common.Types.AppPreferenceRegistration/index.html +++ b/latest/extensions/api/interfaces/Common.Types.AppPreferenceRegistration/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.AppPreferenceRegistration/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.AppPreferenceRegistration/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.ClusterPageMenuComponents/index.html b/latest/extensions/api/interfaces/Common.Types.ClusterPageMenuComponents/index.html index d70e5c00a5..4d47df9708 100644 --- a/latest/extensions/api/interfaces/Common.Types.ClusterPageMenuComponents/index.html +++ b/latest/extensions/api/interfaces/Common.Types.ClusterPageMenuComponents/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.ClusterPageMenuComponents/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.ClusterPageMenuComponents/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.ClusterPageMenuRegistration/index.html b/latest/extensions/api/interfaces/Common.Types.ClusterPageMenuRegistration/index.html index 51e9cafca7..9e570e5fde 100644 --- a/latest/extensions/api/interfaces/Common.Types.ClusterPageMenuRegistration/index.html +++ b/latest/extensions/api/interfaces/Common.Types.ClusterPageMenuRegistration/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.ClusterPageMenuRegistration/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.ClusterPageMenuRegistration/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.CustomCategoryViewComponents/index.html b/latest/extensions/api/interfaces/Common.Types.CustomCategoryViewComponents/index.html new file mode 100644 index 0000000000..604ea4e005 --- /dev/null +++ b/latest/extensions/api/interfaces/Common.Types.CustomCategoryViewComponents/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewComponents/... + + \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.CustomCategoryViewProps/index.html b/latest/extensions/api/interfaces/Common.Types.CustomCategoryViewProps/index.html new file mode 100644 index 0000000000..663efea486 --- /dev/null +++ b/latest/extensions/api/interfaces/Common.Types.CustomCategoryViewProps/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewProps/... + + \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.CustomCategoryViewRegistration/index.html b/latest/extensions/api/interfaces/Common.Types.CustomCategoryViewRegistration/index.html new file mode 100644 index 0000000000..d5d4869c9e --- /dev/null +++ b/latest/extensions/api/interfaces/Common.Types.CustomCategoryViewRegistration/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewRegistration/... + + \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.KubeObjectDetailComponents/index.html b/latest/extensions/api/interfaces/Common.Types.KubeObjectDetailComponents/index.html index c16a7389dd..426a8a5cf2 100644 --- a/latest/extensions/api/interfaces/Common.Types.KubeObjectDetailComponents/index.html +++ b/latest/extensions/api/interfaces/Common.Types.KubeObjectDetailComponents/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.KubeObjectDetailComponents/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectDetailComponents/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.KubeObjectDetailRegistration/index.html b/latest/extensions/api/interfaces/Common.Types.KubeObjectDetailRegistration/index.html index a8a0b90352..6aaa164944 100644 --- a/latest/extensions/api/interfaces/Common.Types.KubeObjectDetailRegistration/index.html +++ b/latest/extensions/api/interfaces/Common.Types.KubeObjectDetailRegistration/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.KubeObjectDetailRegistration/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectDetailRegistration/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.KubeObjectMenuComponents/index.html b/latest/extensions/api/interfaces/Common.Types.KubeObjectMenuComponents/index.html index 1e56a34088..f92bfdd0f4 100644 --- a/latest/extensions/api/interfaces/Common.Types.KubeObjectMenuComponents/index.html +++ b/latest/extensions/api/interfaces/Common.Types.KubeObjectMenuComponents/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.KubeObjectMenuComponents/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectMenuComponents/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.KubeObjectMenuRegistration/index.html b/latest/extensions/api/interfaces/Common.Types.KubeObjectMenuRegistration/index.html index 3c267f0915..11a4566697 100644 --- a/latest/extensions/api/interfaces/Common.Types.KubeObjectMenuRegistration/index.html +++ b/latest/extensions/api/interfaces/Common.Types.KubeObjectMenuRegistration/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.KubeObjectMenuRegistration/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectMenuRegistration/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.KubeObjectStatusRegistration/index.html b/latest/extensions/api/interfaces/Common.Types.KubeObjectStatusRegistration/index.html index 568c47c86c..7e4125637c 100644 --- a/latest/extensions/api/interfaces/Common.Types.KubeObjectStatusRegistration/index.html +++ b/latest/extensions/api/interfaces/Common.Types.KubeObjectStatusRegistration/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.KubeObjectStatusRegistration/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectStatusRegistration/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.PageComponentProps/index.html b/latest/extensions/api/interfaces/Common.Types.PageComponentProps/index.html index 057a02ff77..c5882d1339 100644 --- a/latest/extensions/api/interfaces/Common.Types.PageComponentProps/index.html +++ b/latest/extensions/api/interfaces/Common.Types.PageComponentProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.PageComponentProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.PageComponentProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.PageComponents/index.html b/latest/extensions/api/interfaces/Common.Types.PageComponents/index.html index 688c6099a9..028cde2aa2 100644 --- a/latest/extensions/api/interfaces/Common.Types.PageComponents/index.html +++ b/latest/extensions/api/interfaces/Common.Types.PageComponents/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.PageComponents/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.PageComponents/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.PageParams/index.html b/latest/extensions/api/interfaces/Common.Types.PageParams/index.html index 44aea9d37c..d01a16d751 100644 --- a/latest/extensions/api/interfaces/Common.Types.PageParams/index.html +++ b/latest/extensions/api/interfaces/Common.Types.PageParams/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.PageParams/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.PageParams/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.PageRegistration/index.html b/latest/extensions/api/interfaces/Common.Types.PageRegistration/index.html index f7f0858599..75a8335670 100644 --- a/latest/extensions/api/interfaces/Common.Types.PageRegistration/index.html +++ b/latest/extensions/api/interfaces/Common.Types.PageRegistration/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.PageRegistration/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.PageRegistration/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.PageTarget/index.html b/latest/extensions/api/interfaces/Common.Types.PageTarget/index.html index bd752301ba..5c0d7d1624 100644 --- a/latest/extensions/api/interfaces/Common.Types.PageTarget/index.html +++ b/latest/extensions/api/interfaces/Common.Types.PageTarget/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.PageTarget/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.PageTarget/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.ProtocolHandlerRegistration/index.html b/latest/extensions/api/interfaces/Common.Types.ProtocolHandlerRegistration/index.html index 93b3c791bb..7b4708947b 100644 --- a/latest/extensions/api/interfaces/Common.Types.ProtocolHandlerRegistration/index.html +++ b/latest/extensions/api/interfaces/Common.Types.ProtocolHandlerRegistration/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.ProtocolHandlerRegistration/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.ProtocolHandlerRegistration/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.ProtocolRouteHandler/index.html b/latest/extensions/api/interfaces/Common.Types.ProtocolRouteHandler/index.html index 5aa9226fc4..4bad4dac59 100644 --- a/latest/extensions/api/interfaces/Common.Types.ProtocolRouteHandler/index.html +++ b/latest/extensions/api/interfaces/Common.Types.ProtocolRouteHandler/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.ProtocolRouteHandler/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.ProtocolRouteHandler/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.ProtocolRouteParams/index.html b/latest/extensions/api/interfaces/Common.Types.ProtocolRouteParams/index.html index 8feb2fedc9..4ed06a874f 100644 --- a/latest/extensions/api/interfaces/Common.Types.ProtocolRouteParams/index.html +++ b/latest/extensions/api/interfaces/Common.Types.ProtocolRouteParams/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.ProtocolRouteParams/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.ProtocolRouteParams/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.RegisteredPage/index.html b/latest/extensions/api/interfaces/Common.Types.RegisteredPage/index.html index d6a71a6ea2..0e7db8797c 100644 --- a/latest/extensions/api/interfaces/Common.Types.RegisteredPage/index.html +++ b/latest/extensions/api/interfaces/Common.Types.RegisteredPage/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.RegisteredPage/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.RegisteredPage/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.ShellEnvContext/index.html b/latest/extensions/api/interfaces/Common.Types.ShellEnvContext/index.html new file mode 100644 index 0000000000..a70c1536af --- /dev/null +++ b/latest/extensions/api/interfaces/Common.Types.ShellEnvContext/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.ShellEnvContext/... + + \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Common.Types.StatusBarRegistration/index.html b/latest/extensions/api/interfaces/Common.Types.StatusBarRegistration/index.html index 47d46bd3a2..92dadc67b7 100644 --- a/latest/extensions/api/interfaces/Common.Types.StatusBarRegistration/index.html +++ b/latest/extensions/api/interfaces/Common.Types.StatusBarRegistration/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Common.Types.StatusBarRegistration/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Common.Types.StatusBarRegistration/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.AdditionalCategoryColumnRegistration/index.html b/latest/extensions/api/interfaces/Renderer.Component.AdditionalCategoryColumnRegistration/index.html new file mode 100644 index 0000000000..e6ef03a6f3 --- /dev/null +++ b/latest/extensions/api/interfaces/Renderer.Component.AdditionalCategoryColumnRegistration/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.AdditionalCategoryColumnRegistration/... + + \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.BadgeProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.BadgeProps/index.html index 7a7e9c87d0..1f96aa5e26 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.BadgeProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.BadgeProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.BadgeProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.BadgeProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.ButtonProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.ButtonProps/index.html index c7a08409fa..66f28deff4 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.ButtonProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.ButtonProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.ButtonProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.ButtonProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.CategoryColumnRegistration/index.html b/latest/extensions/api/interfaces/Renderer.Component.CategoryColumnRegistration/index.html new file mode 100644 index 0000000000..215ebee3a2 --- /dev/null +++ b/latest/extensions/api/interfaces/Renderer.Component.CategoryColumnRegistration/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.CategoryColumnRegistration/... + + \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.CheckboxProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.CheckboxProps/index.html index 09f591d9bb..c71a7dd938 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.CheckboxProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.CheckboxProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.CheckboxProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.CheckboxProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.ConfirmDialogBooleanParams/index.html b/latest/extensions/api/interfaces/Renderer.Component.ConfirmDialogBooleanParams/index.html index b7069de217..403821d4fa 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.ConfirmDialogBooleanParams/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.ConfirmDialogBooleanParams/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.ConfirmDialogBooleanParams/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogBooleanParams/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.ConfirmDialogParams/index.html b/latest/extensions/api/interfaces/Renderer.Component.ConfirmDialogParams/index.html index 22fe6a79d9..9f372a9c30 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.ConfirmDialogParams/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.ConfirmDialogParams/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.ConfirmDialogParams/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogParams/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.ConfirmDialogProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.ConfirmDialogProps/index.html index a06a7394ad..f59bd7027f 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.ConfirmDialogProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.ConfirmDialogProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.ConfirmDialogProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.DialogProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.DialogProps/index.html index 5f1cd6ce32..073948c5e8 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.DialogProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.DialogProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.DialogProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.DialogProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.DrawerItemLabelsProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.DrawerItemLabelsProps/index.html index aa3ab02f11..090bad2e20 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.DrawerItemLabelsProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.DrawerItemLabelsProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.DrawerItemLabelsProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerItemLabelsProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.DrawerItemProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.DrawerItemProps/index.html index e0b7330bbf..90bbc2e860 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.DrawerItemProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.DrawerItemProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.DrawerItemProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerItemProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.DrawerParamTogglerProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.DrawerParamTogglerProps/index.html index 186f2e3a8f..6d6755bbb0 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.DrawerParamTogglerProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.DrawerParamTogglerProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.DrawerParamTogglerProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerParamTogglerProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.DrawerProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.DrawerProps/index.html index 4f4cf127dc..d12d0e1e40 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.DrawerProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.DrawerProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.DrawerProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.DrawerTitleProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.DrawerTitleProps/index.html index b858d7c1fd..65c2149a4d 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.DrawerTitleProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.DrawerTitleProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.DrawerTitleProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerTitleProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.GroupSelectOption/index.html b/latest/extensions/api/interfaces/Renderer.Component.GroupSelectOption/index.html index 0e774858df..38fcb7b45f 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.GroupSelectOption/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.GroupSelectOption/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.GroupSelectOption/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.GroupSelectOption/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.IconDataFnArg/index.html b/latest/extensions/api/interfaces/Renderer.Component.IconDataFnArg/index.html index 22dc0f9eb4..d6f522f1b0 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.IconDataFnArg/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.IconDataFnArg/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.IconDataFnArg/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.IconDataFnArg/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.IconProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.IconProps/index.html index 7118df48d8..a0e1a9c76e 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.IconProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.IconProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.IconProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.IconProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.InputValidator/index.html b/latest/extensions/api/interfaces/Renderer.Component.InputValidator/index.html index d1008d57d7..65b9ffba6f 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.InputValidator/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.InputValidator/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.InputValidator/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.InputValidator/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.KubeEventDetailsProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.KubeEventDetailsProps/index.html index 566d7cf81f..348c308aca 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.KubeEventDetailsProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.KubeEventDetailsProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.KubeEventDetailsProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.KubeEventDetailsProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.KubeObjectDetailsProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.KubeObjectDetailsProps/index.html index c2509fdee7..4c508c2ef2 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.KubeObjectDetailsProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.KubeObjectDetailsProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.KubeObjectDetailsProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectDetailsProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.KubeObjectListLayoutProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.KubeObjectListLayoutProps/index.html index 68f8509f09..338a717201 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.KubeObjectListLayoutProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.KubeObjectListLayoutProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.KubeObjectListLayoutProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectListLayoutProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.KubeObjectMenuProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.KubeObjectMenuProps/index.html index 835e9d2694..ba1f6d5cb7 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.KubeObjectMenuProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.KubeObjectMenuProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.KubeObjectMenuProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectMenuProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.KubeObjectMetaProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.KubeObjectMetaProps/index.html index 57bf8d5042..5640a816fa 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.KubeObjectMetaProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.KubeObjectMetaProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.KubeObjectMetaProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectMetaProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.LineProgressProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.LineProgressProps/index.html index 6521b97678..b00274260f 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.LineProgressProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.LineProgressProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.LineProgressProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.LineProgressProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.MenuActionsProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.MenuActionsProps/index.html index 279fbbe499..d83f3a857b 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.MenuActionsProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.MenuActionsProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.MenuActionsProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.MenuActionsProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.MenuItemProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.MenuItemProps/index.html index 8ef92be9f3..73c37ceef8 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.MenuItemProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.MenuItemProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.MenuItemProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.MenuItemProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.MenuPosition/index.html b/latest/extensions/api/interfaces/Renderer.Component.MenuPosition/index.html index b0c5e32e1f..eb17159e8e 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.MenuPosition/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.MenuPosition/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.MenuPosition/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.MenuPosition/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.MenuProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.MenuProps/index.html index d47d65b6dc..f7e11204b9 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.MenuProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.MenuProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.MenuProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.MenuProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.MenuStyle/index.html b/latest/extensions/api/interfaces/Renderer.Component.MenuStyle/index.html index 3ff54e2877..9a71d2cc55 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.MenuStyle/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.MenuStyle/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.MenuStyle/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.MenuStyle/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.Notification/index.html b/latest/extensions/api/interfaces/Renderer.Component.Notification/index.html index 1a3f88bbdb..7b042583a5 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.Notification/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.Notification/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.Notification/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.Notification/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.RadioGroupProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.RadioGroupProps/index.html index d5ed1b43f7..1915b6c598 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.RadioGroupProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.RadioGroupProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.RadioGroupProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.RadioGroupProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.SelectOption/index.html b/latest/extensions/api/interfaces/Renderer.Component.SelectOption/index.html index adcd376143..4e9ecc4a7a 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.SelectOption/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.SelectOption/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.SelectOption/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.SelectOption/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.SelectProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.SelectProps/index.html index 59ee54bb77..99a0d927b6 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.SelectProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.SelectProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.SelectProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.SelectProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.SettingLayoutProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.SettingLayoutProps/index.html index d9a3cfa577..f6c4703377 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.SettingLayoutProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.SettingLayoutProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.SettingLayoutProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.SettingLayoutProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.SliderProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.SliderProps/index.html index da751028db..a7ce1a5349 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.SliderProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.SliderProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.SliderProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.SliderProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.SpinnerProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.SpinnerProps/index.html index 99cec93ff7..2e63d6e9e1 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.SpinnerProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.SpinnerProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.SpinnerProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.SpinnerProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.StatusBrickProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.StatusBrickProps/index.html index f4b2c766c6..ef2e303afb 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.StatusBrickProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.StatusBrickProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.StatusBrickProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.StatusBrickProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.StepperProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.StepperProps/index.html index 584a039af9..4b54c04999 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.StepperProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.StepperProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.StepperProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.StepperProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.TabLayoutProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.TabLayoutProps/index.html index 5de5ccac0e..7330cdb998 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.TabLayoutProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.TabLayoutProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.TabLayoutProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.TabLayoutProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.TabLayoutRoute/index.html b/latest/extensions/api/interfaces/Renderer.Component.TabLayoutRoute/index.html index 5c80ce0704..7c58ba6a9f 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.TabLayoutRoute/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.TabLayoutRoute/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.TabLayoutRoute/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.TabLayoutRoute/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.TabProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.TabProps/index.html index 3997942515..59a83d4fda 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.TabProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.TabProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.TabProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.TabProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.TableCellProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.TableCellProps/index.html index ffd1f4cb21..c87c4d194e 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.TableCellProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.TableCellProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.TableCellProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.TableCellProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.TableHeadProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.TableHeadProps/index.html index 19b3ffac50..3dcb3a2796 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.TableHeadProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.TableHeadProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.TableHeadProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.TableHeadProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.TableProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.TableProps/index.html index 8996e25bfa..8de29c4d8d 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.TableProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.TableProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.TableProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.TableProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.TableRowProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.TableRowProps/index.html index 5660bc2da5..244aec0459 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.TableRowProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.TableRowProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.TableRowProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.TableRowProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.TabsProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.TabsProps/index.html index b3c48d4e9b..90e1bba833 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.TabsProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.TabsProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.TabsProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.TabsProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.TooltipContentFormatters/index.html b/latest/extensions/api/interfaces/Renderer.Component.TooltipContentFormatters/index.html index 85d483d3d2..98491e6558 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.TooltipContentFormatters/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.TooltipContentFormatters/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.TooltipContentFormatters/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipContentFormatters/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.TooltipDecoratorProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.TooltipDecoratorProps/index.html index 908ef96e71..753082f48b 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.TooltipDecoratorProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.TooltipDecoratorProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.TooltipDecoratorProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipDecoratorProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.TooltipProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.TooltipProps/index.html index 69d54b4ef2..deac59c3ca 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.TooltipProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.TooltipProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.TooltipProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.WizardLayoutProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.WizardLayoutProps/index.html index a1ab2f9503..401697f467 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.WizardLayoutProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.WizardLayoutProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.WizardLayoutProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.WizardLayoutProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.WizardProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.WizardProps/index.html index 91425f89fc..b044a105b8 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.WizardProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.WizardProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.WizardProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.WizardProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Component.WizardStepProps/index.html b/latest/extensions/api/interfaces/Renderer.Component.WizardStepProps/index.html index 0a802063f6..49a6ac1539 100644 --- a/latest/extensions/api/interfaces/Renderer.Component.WizardStepProps/index.html +++ b/latest/extensions/api/interfaces/Renderer.Component.WizardStepProps/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Component.WizardStepProps/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Component.WizardStepProps/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.K8sApi.IKubeApiCluster/index.html b/latest/extensions/api/interfaces/Renderer.K8sApi.IKubeApiCluster/index.html index 7377672d6b..36d367c690 100644 --- a/latest/extensions/api/interfaces/Renderer.K8sApi.IKubeApiCluster/index.html +++ b/latest/extensions/api/interfaces/Renderer.K8sApi.IKubeApiCluster/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.K8sApi.IKubeApiCluster/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IKubeApiCluster/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.K8sApi.ILocalKubeApiConfig/index.html b/latest/extensions/api/interfaces/Renderer.K8sApi.ILocalKubeApiConfig/index.html index 4b9cc480e6..3e1945313c 100644 --- a/latest/extensions/api/interfaces/Renderer.K8sApi.ILocalKubeApiConfig/index.html +++ b/latest/extensions/api/interfaces/Renderer.K8sApi.ILocalKubeApiConfig/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.K8sApi.ILocalKubeApiConfig/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.K8sApi.ILocalKubeApiConfig/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.K8sApi.IPodContainer/index.html b/latest/extensions/api/interfaces/Renderer.K8sApi.IPodContainer/index.html index b087652c2f..4827f0142c 100644 --- a/latest/extensions/api/interfaces/Renderer.K8sApi.IPodContainer/index.html +++ b/latest/extensions/api/interfaces/Renderer.K8sApi.IPodContainer/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.K8sApi.IPodContainer/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IPodContainer/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.K8sApi.IPodContainerStatus/index.html b/latest/extensions/api/interfaces/Renderer.K8sApi.IPodContainerStatus/index.html index aba4d280ea..687b5312c7 100644 --- a/latest/extensions/api/interfaces/Renderer.K8sApi.IPodContainerStatus/index.html +++ b/latest/extensions/api/interfaces/Renderer.K8sApi.IPodContainerStatus/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.K8sApi.IPodContainerStatus/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IPodContainerStatus/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.K8sApi.IRemoteKubeApiConfig/index.html b/latest/extensions/api/interfaces/Renderer.K8sApi.IRemoteKubeApiConfig/index.html index e67b830c1f..e26f00c75b 100644 --- a/latest/extensions/api/interfaces/Renderer.K8sApi.IRemoteKubeApiConfig/index.html +++ b/latest/extensions/api/interfaces/Renderer.K8sApi.IRemoteKubeApiConfig/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.K8sApi.IRemoteKubeApiConfig/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IRemoteKubeApiConfig/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.K8sApi.ISecretRef/index.html b/latest/extensions/api/interfaces/Renderer.K8sApi.ISecretRef/index.html index 08b4eefce4..435261e7ad 100644 --- a/latest/extensions/api/interfaces/Renderer.K8sApi.ISecretRef/index.html +++ b/latest/extensions/api/interfaces/Renderer.K8sApi.ISecretRef/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.K8sApi.ISecretRef/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.K8sApi.ISecretRef/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectMetadata/index.html b/latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectMetadata/index.html new file mode 100644 index 0000000000..69639b3f15 --- /dev/null +++ b/latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectMetadata/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectMetadata/... + + \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadAllParams/index.html b/latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadAllParams/index.html new file mode 100644 index 0000000000..a4c2c71448 --- /dev/null +++ b/latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadAllParams/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadAllParams/... + + \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadingParams/index.html b/latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadingParams/index.html new file mode 100644 index 0000000000..b6165e3c44 --- /dev/null +++ b/latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadingParams/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadingParams/... + + \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreSubscribeParams/index.html b/latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreSubscribeParams/index.html new file mode 100644 index 0000000000..530346c6aa --- /dev/null +++ b/latest/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreSubscribeParams/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreSubscribeParams/... + + \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.K8sApi.KubeStatusData/index.html b/latest/extensions/api/interfaces/Renderer.K8sApi.KubeStatusData/index.html new file mode 100644 index 0000000000..bb2597b31c --- /dev/null +++ b/latest/extensions/api/interfaces/Renderer.K8sApi.KubeStatusData/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeStatusData/... + + \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Navigation.PageParamInit/index.html b/latest/extensions/api/interfaces/Renderer.Navigation.PageParamInit/index.html index ba98f5f8ed..c6d39aedad 100644 --- a/latest/extensions/api/interfaces/Renderer.Navigation.PageParamInit/index.html +++ b/latest/extensions/api/interfaces/Renderer.Navigation.PageParamInit/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Navigation.PageParamInit/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Navigation.PageParamInit/... \ No newline at end of file diff --git a/latest/extensions/api/interfaces/Renderer.Navigation.URLParams/index.html b/latest/extensions/api/interfaces/Renderer.Navigation.URLParams/index.html index bb236aa2cc..af25767d86 100644 --- a/latest/extensions/api/interfaces/Renderer.Navigation.URLParams/index.html +++ b/latest/extensions/api/interfaces/Renderer.Navigation.URLParams/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/interfaces/Renderer.Navigation.URLParams/... + Redirecting to ../../../../../v5.4.0/extensions/api/interfaces/Renderer.Navigation.URLParams/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Common.App.Preferences/index.html b/latest/extensions/api/modules/Common.App.Preferences/index.html index f2a1b6ace9..4f62d92a0b 100644 --- a/latest/extensions/api/modules/Common.App.Preferences/index.html +++ b/latest/extensions/api/modules/Common.App.Preferences/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Common.App.Preferences/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Common.App.Preferences/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Common.App/index.html b/latest/extensions/api/modules/Common.App/index.html index 8e0b173c44..7114ca2a62 100644 --- a/latest/extensions/api/modules/Common.App/index.html +++ b/latest/extensions/api/modules/Common.App/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Common.App/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Common.App/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Common.Catalog/index.html b/latest/extensions/api/modules/Common.Catalog/index.html index 504ffb1916..9b77184ff0 100644 --- a/latest/extensions/api/modules/Common.Catalog/index.html +++ b/latest/extensions/api/modules/Common.Catalog/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Common.Catalog/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Common.Catalog/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Common.EventBus/index.html b/latest/extensions/api/modules/Common.EventBus/index.html index 623269f8ab..724bcc0fab 100644 --- a/latest/extensions/api/modules/Common.EventBus/index.html +++ b/latest/extensions/api/modules/Common.EventBus/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Common.EventBus/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Common.EventBus/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Common.Store/index.html b/latest/extensions/api/modules/Common.Store/index.html index 158a84b575..a6578f09f4 100644 --- a/latest/extensions/api/modules/Common.Store/index.html +++ b/latest/extensions/api/modules/Common.Store/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Common.Store/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Common.Store/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Common.Types/index.html b/latest/extensions/api/modules/Common.Types/index.html index f7edcee018..55daca1f7f 100644 --- a/latest/extensions/api/modules/Common.Types/index.html +++ b/latest/extensions/api/modules/Common.Types/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Common.Types/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Common.Types/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Common.Util/index.html b/latest/extensions/api/modules/Common.Util/index.html index e7c69832f4..9688df08e9 100644 --- a/latest/extensions/api/modules/Common.Util/index.html +++ b/latest/extensions/api/modules/Common.Util/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Common.Util/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Common.Util/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Common/index.html b/latest/extensions/api/modules/Common/index.html index 22a36faea1..2b7c8849e7 100644 --- a/latest/extensions/api/modules/Common/index.html +++ b/latest/extensions/api/modules/Common/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Common/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Common/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Main.Catalog/index.html b/latest/extensions/api/modules/Main.Catalog/index.html index ebd49f44f6..42272be635 100644 --- a/latest/extensions/api/modules/Main.Catalog/index.html +++ b/latest/extensions/api/modules/Main.Catalog/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Main.Catalog/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Main.Catalog/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Main.K8sApi/index.html b/latest/extensions/api/modules/Main.K8sApi/index.html index ea66d8a78e..c602717d64 100644 --- a/latest/extensions/api/modules/Main.K8sApi/index.html +++ b/latest/extensions/api/modules/Main.K8sApi/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Main.K8sApi/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Main.K8sApi/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Main.Navigation/index.html b/latest/extensions/api/modules/Main.Navigation/index.html index e3ce95c81b..b584559e08 100644 --- a/latest/extensions/api/modules/Main.Navigation/index.html +++ b/latest/extensions/api/modules/Main.Navigation/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Main.Navigation/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Main.Navigation/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Main.Power/index.html b/latest/extensions/api/modules/Main.Power/index.html new file mode 100644 index 0000000000..e5a20d4ede --- /dev/null +++ b/latest/extensions/api/modules/Main.Power/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Main.Power/... + + \ No newline at end of file diff --git a/latest/extensions/api/modules/Main/index.html b/latest/extensions/api/modules/Main/index.html index fa276baed7..711ea7b024 100644 --- a/latest/extensions/api/modules/Main/index.html +++ b/latest/extensions/api/modules/Main/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Main/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Main/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Renderer.Catalog/index.html b/latest/extensions/api/modules/Renderer.Catalog/index.html index 5c735af55e..3125c0e333 100644 --- a/latest/extensions/api/modules/Renderer.Catalog/index.html +++ b/latest/extensions/api/modules/Renderer.Catalog/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Renderer.Catalog/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Renderer.Catalog/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Renderer.Component/index.html b/latest/extensions/api/modules/Renderer.Component/index.html index b3993721fc..c12573dc34 100644 --- a/latest/extensions/api/modules/Renderer.Component/index.html +++ b/latest/extensions/api/modules/Renderer.Component/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Renderer.Component/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Renderer.Component/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Renderer.K8sApi/index.html b/latest/extensions/api/modules/Renderer.K8sApi/index.html index 59540a0925..503c940656 100644 --- a/latest/extensions/api/modules/Renderer.K8sApi/index.html +++ b/latest/extensions/api/modules/Renderer.K8sApi/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Renderer.K8sApi/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Renderer.K8sApi/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Renderer.Navigation/index.html b/latest/extensions/api/modules/Renderer.Navigation/index.html index fb167d906f..1d3ffa62d7 100644 --- a/latest/extensions/api/modules/Renderer.Navigation/index.html +++ b/latest/extensions/api/modules/Renderer.Navigation/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Renderer.Navigation/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Renderer.Navigation/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Renderer.Theme/index.html b/latest/extensions/api/modules/Renderer.Theme/index.html index 189c1a0103..b8cdd3d629 100644 --- a/latest/extensions/api/modules/Renderer.Theme/index.html +++ b/latest/extensions/api/modules/Renderer.Theme/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Renderer.Theme/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Renderer.Theme/... \ No newline at end of file diff --git a/latest/extensions/api/modules/Renderer/index.html b/latest/extensions/api/modules/Renderer/index.html index e64981ee19..55e9da1955 100644 --- a/latest/extensions/api/modules/Renderer/index.html +++ b/latest/extensions/api/modules/Renderer/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../../v5.3.4/extensions/api/modules/Renderer/... + Redirecting to ../../../../../v5.4.0/extensions/api/modules/Renderer/... \ No newline at end of file diff --git a/latest/extensions/api/modules/index.html b/latest/extensions/api/modules/index.html index 89ea0c6d48..f989ab0bbc 100644 --- a/latest/extensions/api/modules/index.html +++ b/latest/extensions/api/modules/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/api/modules/... + Redirecting to ../../../../v5.4.0/extensions/api/modules/... \ No newline at end of file diff --git a/latest/extensions/capabilities/common-capabilities/index.html b/latest/extensions/capabilities/common-capabilities/index.html index fa6631c859..2f5b283ffc 100644 --- a/latest/extensions/capabilities/common-capabilities/index.html +++ b/latest/extensions/capabilities/common-capabilities/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/capabilities/common-capabilities/... + Redirecting to ../../../../v5.4.0/extensions/capabilities/common-capabilities/... \ No newline at end of file diff --git a/latest/extensions/capabilities/index.html b/latest/extensions/capabilities/index.html index 82e53a38c7..afbf721b78 100644 --- a/latest/extensions/capabilities/index.html +++ b/latest/extensions/capabilities/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../v5.3.4/extensions/capabilities/... + Redirecting to ../../../v5.4.0/extensions/capabilities/... \ No newline at end of file diff --git a/latest/extensions/capabilities/styling/index.html b/latest/extensions/capabilities/styling/index.html index 1f9d0a309d..3c8196ba64 100644 --- a/latest/extensions/capabilities/styling/index.html +++ b/latest/extensions/capabilities/styling/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/capabilities/styling/... + Redirecting to ../../../../v5.4.0/extensions/capabilities/styling/... \ No newline at end of file diff --git a/latest/extensions/extension-migration/index.html b/latest/extensions/extension-migration/index.html index 8e5d54fc3c..2d78601771 100644 --- a/latest/extensions/extension-migration/index.html +++ b/latest/extensions/extension-migration/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../v5.3.4/extensions/extension-migration/... + Redirecting to ../../../v5.4.0/extensions/extension-migration/... \ No newline at end of file diff --git a/latest/extensions/get-started/anatomy/index.html b/latest/extensions/get-started/anatomy/index.html index c5eb9ead33..dd05440d7b 100644 --- a/latest/extensions/get-started/anatomy/index.html +++ b/latest/extensions/get-started/anatomy/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/get-started/anatomy/... + Redirecting to ../../../../v5.4.0/extensions/get-started/anatomy/... \ No newline at end of file diff --git a/latest/extensions/get-started/overview/index.html b/latest/extensions/get-started/overview/index.html index 7a37baf761..cc78746de5 100644 --- a/latest/extensions/get-started/overview/index.html +++ b/latest/extensions/get-started/overview/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/get-started/overview/... + Redirecting to ../../../../v5.4.0/extensions/get-started/overview/... \ No newline at end of file diff --git a/latest/extensions/get-started/wrapping-up/index.html b/latest/extensions/get-started/wrapping-up/index.html index 9086585ca7..41631a8147 100644 --- a/latest/extensions/get-started/wrapping-up/index.html +++ b/latest/extensions/get-started/wrapping-up/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/get-started/wrapping-up/... + Redirecting to ../../../../v5.4.0/extensions/get-started/wrapping-up/... \ No newline at end of file diff --git a/latest/extensions/get-started/your-first-extension/index.html b/latest/extensions/get-started/your-first-extension/index.html index d455706c4b..7e6df0e630 100644 --- a/latest/extensions/get-started/your-first-extension/index.html +++ b/latest/extensions/get-started/your-first-extension/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/get-started/your-first-extension/... + Redirecting to ../../../../v5.4.0/extensions/get-started/your-first-extension/... \ No newline at end of file diff --git a/latest/extensions/guides/anatomy/index.html b/latest/extensions/guides/anatomy/index.html index 2789d44c34..f97a9ba34a 100644 --- a/latest/extensions/guides/anatomy/index.html +++ b/latest/extensions/guides/anatomy/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/guides/anatomy/... + Redirecting to ../../../../v5.4.0/extensions/guides/anatomy/... \ No newline at end of file diff --git a/latest/extensions/guides/catalog/index.html b/latest/extensions/guides/catalog/index.html index 8744ee53e3..3b716c552a 100644 --- a/latest/extensions/guides/catalog/index.html +++ b/latest/extensions/guides/catalog/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/guides/catalog/... + Redirecting to ../../../../v5.4.0/extensions/guides/catalog/... \ No newline at end of file diff --git a/latest/extensions/guides/components/index.html b/latest/extensions/guides/components/index.html index 4d6660379f..e26435661b 100644 --- a/latest/extensions/guides/components/index.html +++ b/latest/extensions/guides/components/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/guides/components/... + Redirecting to ../../../../v5.4.0/extensions/guides/components/... \ No newline at end of file diff --git a/latest/extensions/guides/extending-kubernetes-cluster/index.html b/latest/extensions/guides/extending-kubernetes-cluster/index.html new file mode 100644 index 0000000000..5708033f53 --- /dev/null +++ b/latest/extensions/guides/extending-kubernetes-cluster/index.html @@ -0,0 +1,16 @@ + + + + + Redirecting + + + + + Redirecting to ../../../../v5.4.0/extensions/guides/extending-kubernetes-cluster/... + + \ No newline at end of file diff --git a/latest/extensions/guides/generator/index.html b/latest/extensions/guides/generator/index.html index 969c1d46fa..b00d5c4f4b 100644 --- a/latest/extensions/guides/generator/index.html +++ b/latest/extensions/guides/generator/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/guides/generator/... + Redirecting to ../../../../v5.4.0/extensions/guides/generator/... \ No newline at end of file diff --git a/latest/extensions/guides/index.html b/latest/extensions/guides/index.html index 2be7af4b9d..b364a07df6 100644 --- a/latest/extensions/guides/index.html +++ b/latest/extensions/guides/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../v5.3.4/extensions/guides/... + Redirecting to ../../../v5.4.0/extensions/guides/... \ No newline at end of file diff --git a/latest/extensions/guides/ipc/index.html b/latest/extensions/guides/ipc/index.html index 69967f5f1c..85248f74b7 100644 --- a/latest/extensions/guides/ipc/index.html +++ b/latest/extensions/guides/ipc/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/guides/ipc/... + Redirecting to ../../../../v5.4.0/extensions/guides/ipc/... \ No newline at end of file diff --git a/latest/extensions/guides/kube-object-list-layout/index.html b/latest/extensions/guides/kube-object-list-layout/index.html index f25a2beccd..33634a4443 100644 --- a/latest/extensions/guides/kube-object-list-layout/index.html +++ b/latest/extensions/guides/kube-object-list-layout/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/guides/kube-object-list-layout/... + Redirecting to ../../../../v5.4.0/extensions/guides/kube-object-list-layout/... \ No newline at end of file diff --git a/latest/extensions/guides/main-extension/index.html b/latest/extensions/guides/main-extension/index.html index 4f23bf22f1..549f22ba67 100644 --- a/latest/extensions/guides/main-extension/index.html +++ b/latest/extensions/guides/main-extension/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/guides/main-extension/... + Redirecting to ../../../../v5.4.0/extensions/guides/main-extension/... \ No newline at end of file diff --git a/latest/extensions/guides/protocol-handlers/index.html b/latest/extensions/guides/protocol-handlers/index.html index d863ad2306..abcd96d052 100644 --- a/latest/extensions/guides/protocol-handlers/index.html +++ b/latest/extensions/guides/protocol-handlers/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/guides/protocol-handlers/... + Redirecting to ../../../../v5.4.0/extensions/guides/protocol-handlers/... \ No newline at end of file diff --git a/latest/extensions/guides/renderer-extension/index.html b/latest/extensions/guides/renderer-extension/index.html index 75e8e4886b..ea500b0bc3 100644 --- a/latest/extensions/guides/renderer-extension/index.html +++ b/latest/extensions/guides/renderer-extension/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/guides/renderer-extension/... + Redirecting to ../../../../v5.4.0/extensions/guides/renderer-extension/... \ No newline at end of file diff --git a/latest/extensions/guides/resource-stack/index.html b/latest/extensions/guides/resource-stack/index.html index 5e086c8a6c..46dbc3a50d 100644 --- a/latest/extensions/guides/resource-stack/index.html +++ b/latest/extensions/guides/resource-stack/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/guides/resource-stack/... + Redirecting to ../../../../v5.4.0/extensions/guides/resource-stack/... \ No newline at end of file diff --git a/latest/extensions/guides/stores/index.html b/latest/extensions/guides/stores/index.html index 38b0e8478a..a7730eba41 100644 --- a/latest/extensions/guides/stores/index.html +++ b/latest/extensions/guides/stores/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/guides/stores/... + Redirecting to ../../../../v5.4.0/extensions/guides/stores/... \ No newline at end of file diff --git a/latest/extensions/guides/working-with-mobx/index.html b/latest/extensions/guides/working-with-mobx/index.html index 9adfb105df..d3c14dcdfc 100644 --- a/latest/extensions/guides/working-with-mobx/index.html +++ b/latest/extensions/guides/working-with-mobx/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/guides/working-with-mobx/... + Redirecting to ../../../../v5.4.0/extensions/guides/working-with-mobx/... \ No newline at end of file diff --git a/latest/extensions/testing-and-publishing/bundling/index.html b/latest/extensions/testing-and-publishing/bundling/index.html index ba8c3871a1..ca53f507ad 100644 --- a/latest/extensions/testing-and-publishing/bundling/index.html +++ b/latest/extensions/testing-and-publishing/bundling/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/testing-and-publishing/bundling/... + Redirecting to ../../../../v5.4.0/extensions/testing-and-publishing/bundling/... \ No newline at end of file diff --git a/latest/extensions/testing-and-publishing/publishing/index.html b/latest/extensions/testing-and-publishing/publishing/index.html index be4142abdc..11505dab9c 100644 --- a/latest/extensions/testing-and-publishing/publishing/index.html +++ b/latest/extensions/testing-and-publishing/publishing/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/testing-and-publishing/publishing/... + Redirecting to ../../../../v5.4.0/extensions/testing-and-publishing/publishing/... \ No newline at end of file diff --git a/latest/extensions/testing-and-publishing/testing/index.html b/latest/extensions/testing-and-publishing/testing/index.html index 06b621d011..baceb375d3 100644 --- a/latest/extensions/testing-and-publishing/testing/index.html +++ b/latest/extensions/testing-and-publishing/testing/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../../v5.3.4/extensions/testing-and-publishing/testing/... + Redirecting to ../../../../v5.4.0/extensions/testing-and-publishing/testing/... \ No newline at end of file diff --git a/latest/extensions/usage/index.html b/latest/extensions/usage/index.html index d079ca9a2c..4e7178cbd4 100644 --- a/latest/extensions/usage/index.html +++ b/latest/extensions/usage/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../../../v5.3.4/extensions/usage/... + Redirecting to ../../../v5.4.0/extensions/usage/... \ No newline at end of file diff --git a/latest/index.html b/latest/index.html index 994ce4352f..45f411b08a 100644 --- a/latest/index.html +++ b/latest/index.html @@ -4,13 +4,13 @@ Redirecting - Redirecting to ../v5.3.4/... + Redirecting to ../v5.4.0/... \ No newline at end of file diff --git a/v5.4.0/404.html b/v5.4.0/404.html new file mode 100644 index 0000000000..7bbb912b9a --- /dev/null +++ b/v5.4.0/404.html @@ -0,0 +1,761 @@ + + + + + + + + + + + + + + + + + + + + + + + + Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+ +

404 - Not found

+ + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/CNAME b/v5.4.0/CNAME new file mode 100644 index 0000000000..f51f3799f9 --- /dev/null +++ b/v5.4.0/CNAME @@ -0,0 +1 @@ +api-docs.k8slens.dev diff --git a/v5.4.0/assets/images/favicon.png b/v5.4.0/assets/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..1cf13b9f9d978896599290a74f77d5dbe7d1655c GIT binary patch literal 1870 zcmV-U2eJ5xP)Gc)JR9QMau)O=X#!i9;T z37kk-upj^(fsR36MHs_+1RCI)NNu9}lD0S{B^g8PN?Ww(5|~L#Ng*g{WsqleV}|#l zz8@ri&cTzw_h33bHI+12+kK6WN$h#n5cD8OQt`5kw6p~9H3()bUQ8OS4Q4HTQ=1Ol z_JAocz`fLbT2^{`8n~UAo=#AUOf=SOq4pYkt;XbC&f#7lb$*7=$na!mWCQ`dBQsO0 zLFBSPj*N?#u5&pf2t4XjEGH|=pPQ8xh7tpx;US5Cx_Ju;!O`ya-yF`)b%TEt5>eP1ZX~}sjjA%FJF?h7cX8=b!DZl<6%Cv z*G0uvvU+vmnpLZ2paivG-(cd*y3$hCIcsZcYOGh{$&)A6*XX&kXZd3G8m)G$Zz-LV z^GF3VAW^Mdv!)4OM8EgqRiz~*Cji;uzl2uC9^=8I84vNp;ltJ|q-*uQwGp2ma6cY7 z;`%`!9UXO@fr&Ebapfs34OmS9^u6$)bJxrucutf>`dKPKT%%*d3XlFVKunp9 zasduxjrjs>f8V=D|J=XNZp;_Zy^WgQ$9WDjgY=z@stwiEBm9u5*|34&1Na8BMjjgf3+SHcr`5~>oz1Y?SW^=K z^bTyO6>Gar#P_W2gEMwq)ot3; zREHn~U&Dp0l6YT0&k-wLwYjb?5zGK`W6S2v+K>AM(95m2C20L|3m~rN8dprPr@t)5lsk9Hu*W z?pS990s;Ez=+Rj{x7p``4>+c0G5^pYnB1^!TL=(?HLHZ+HicG{~4F1d^5Awl_2!1jICM-!9eoLhbbT^;yHcefyTAaqRcY zmuctDopPT!%k+}x%lZRKnzykr2}}XfG_ne?nRQO~?%hkzo;@RN{P6o`&mMUWBYMTe z6i8ChtjX&gXl`nvrU>jah)2iNM%JdjqoaeaU%yVn!^70x-flljp6Q5tK}5}&X8&&G zX3fpb3E(!rH=zVI_9Gjl45w@{(ITqngWFe7@9{mX;tO25Z_8 zQHEpI+FkTU#4xu>RkN>b3Tnc3UpWzPXWm#o55GKF09j^Mh~)K7{QqbO_~(@CVq! zS<8954|P8mXN2MRs86xZ&Q4EfM@JB94b=(YGuk)s&^jiSF=t3*oNK3`rD{H`yQ?d; ztE=laAUoZx5?RC8*WKOj`%LXEkgDd>&^Q4M^z`%u0rg-It=hLCVsq!Z%^6eB-OvOT zFZ28TN&cRmgU}Elrnk43)!>Z1FCPL2K$7}gwzIc48NX}#!A1BpJP?#v5wkNprhV** z?Cpalt1oH&{r!o3eSKc&ap)iz2BTn_VV`4>9M^b3;(YY}4>#ML6{~(4mH+?%07*qo IM6N<$f(jP3KmY&$ literal 0 HcmV?d00001 diff --git a/v5.4.0/assets/javascripts/bundle.82217815.min.js b/v5.4.0/assets/javascripts/bundle.82217815.min.js new file mode 100644 index 0000000000..f79dc267e1 --- /dev/null +++ b/v5.4.0/assets/javascripts/bundle.82217815.min.js @@ -0,0 +1,108 @@ +(()=>{var oa=Object.create,St=Object.defineProperty;var na=Object.getOwnPropertyDescriptor;var ia=Object.getOwnPropertyNames,wt=Object.getOwnPropertySymbols,aa=Object.getPrototypeOf,ar=Object.prototype.hasOwnProperty,Kr=Object.prototype.propertyIsEnumerable;var Br=(e,t,r)=>t in e?St(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t)=>{for(var r in t||(t={}))ar.call(t,r)&&Br(e,r,t[r]);if(wt)for(var r of wt(t))Kr.call(t,r)&&Br(e,r,t[r]);return e};var sa=e=>St(e,"__esModule",{value:!0});var Yr=(e,t)=>{var r={};for(var o in e)ar.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&wt)for(var o of wt(e))t.indexOf(o)<0&&Kr.call(e,o)&&(r[o]=e[o]);return r};var Et=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ca=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ia(t))!ar.call(e,o)&&o!=="default"&&St(e,o,{get:()=>t[o],enumerable:!(r=na(t,o))||r.enumerable});return e},ct=e=>ca(sa(St(e!=null?oa(aa(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var Jr=Et((sr,Gr)=>{(function(e,t){typeof sr=="object"&&typeof Gr!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(sr,function(){"use strict";function e(r){var o=!0,n=!1,i=null,a={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(T){return!!(T&&T!==document&&T.nodeName!=="HTML"&&T.nodeName!=="BODY"&&"classList"in T&&"contains"in T.classList)}function c(T){var De=T.type,_e=T.tagName;return!!(_e==="INPUT"&&a[De]&&!T.readOnly||_e==="TEXTAREA"&&!T.readOnly||T.isContentEditable)}function l(T){T.classList.contains("focus-visible")||(T.classList.add("focus-visible"),T.setAttribute("data-focus-visible-added",""))}function p(T){!T.hasAttribute("data-focus-visible-added")||(T.classList.remove("focus-visible"),T.removeAttribute("data-focus-visible-added"))}function m(T){T.metaKey||T.altKey||T.ctrlKey||(s(r.activeElement)&&l(r.activeElement),o=!0)}function f(T){o=!1}function d(T){!s(T.target)||(o||c(T.target))&&l(T.target)}function v(T){!s(T.target)||(T.target.classList.contains("focus-visible")||T.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),p(T.target))}function h(T){document.visibilityState==="hidden"&&(n&&(o=!0),U())}function U(){document.addEventListener("mousemove",P),document.addEventListener("mousedown",P),document.addEventListener("mouseup",P),document.addEventListener("pointermove",P),document.addEventListener("pointerdown",P),document.addEventListener("pointerup",P),document.addEventListener("touchmove",P),document.addEventListener("touchstart",P),document.addEventListener("touchend",P)}function Y(){document.removeEventListener("mousemove",P),document.removeEventListener("mousedown",P),document.removeEventListener("mouseup",P),document.removeEventListener("pointermove",P),document.removeEventListener("pointerdown",P),document.removeEventListener("pointerup",P),document.removeEventListener("touchmove",P),document.removeEventListener("touchstart",P),document.removeEventListener("touchend",P)}function P(T){T.target.nodeName&&T.target.nodeName.toLowerCase()==="html"||(o=!1,Y())}document.addEventListener("keydown",m,!0),document.addEventListener("mousedown",f,!0),document.addEventListener("pointerdown",f,!0),document.addEventListener("touchstart",f,!0),document.addEventListener("visibilitychange",h,!0),U(),r.addEventListener("focus",d,!0),r.addEventListener("blur",v,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var xo=Et((hs,_t)=>{var Xr,Zr,eo,to,ro,oo,no,io,ao,Tt,cr,so,co,lo,Be,po,uo,fo,mo,ho,bo,vo,go,Ot;(function(e){var t=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(o){e(r(t,r(o)))}):typeof _t=="object"&&typeof _t.exports=="object"?e(r(t,r(_t.exports))):e(r(t));function r(o,n){return o!==t&&(typeof Object.create=="function"?Object.defineProperty(o,"__esModule",{value:!0}):o.__esModule=!0),function(i,a){return o[i]=n?n(i,a):a}}})(function(e){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,n){o.__proto__=n}||function(o,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(o[i]=n[i])};Xr=function(o,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(o,n);function i(){this.constructor=o}o.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)},Zr=Object.assign||function(o){for(var n,i=1,a=arguments.length;i=0;p--)(l=o[p])&&(c=(s<3?l(c):s>3?l(n,i,c):l(n,i))||c);return s>3&&c&&Object.defineProperty(n,i,c),c},ro=function(o,n){return function(i,a){n(i,a,o)}},oo=function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},no=function(o,n,i,a){function s(c){return c instanceof i?c:new i(function(l){l(c)})}return new(i||(i=Promise))(function(c,l){function p(d){try{f(a.next(d))}catch(v){l(v)}}function m(d){try{f(a.throw(d))}catch(v){l(v)}}function f(d){d.done?c(d.value):s(d.value).then(p,m)}f((a=a.apply(o,n||[])).next())})},io=function(o,n){var i={label:0,sent:function(){if(c[0]&1)throw c[1];return c[1]},trys:[],ops:[]},a,s,c,l;return l={next:p(0),throw:p(1),return:p(2)},typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function p(f){return function(d){return m([f,d])}}function m(f){if(a)throw new TypeError("Generator is already executing.");for(;i;)try{if(a=1,s&&(c=f[0]&2?s.return:f[0]?s.throw||((c=s.return)&&c.call(s),0):s.next)&&!(c=c.call(s,f[1])).done)return c;switch(s=0,c&&(f=[f[0]&2,c.value]),f[0]){case 0:case 1:c=f;break;case 4:return i.label++,{value:f[1],done:!1};case 5:i.label++,s=f[1],f=[0];continue;case 7:f=i.ops.pop(),i.trys.pop();continue;default:if(c=i.trys,!(c=c.length>0&&c[c.length-1])&&(f[0]===6||f[0]===2)){i=0;continue}if(f[0]===3&&(!c||f[1]>c[0]&&f[1]=o.length&&(o=void 0),{value:o&&o[a++],done:!o}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")},cr=function(o,n){var i=typeof Symbol=="function"&&o[Symbol.iterator];if(!i)return o;var a=i.call(o),s,c=[],l;try{for(;(n===void 0||n-- >0)&&!(s=a.next()).done;)c.push(s.value)}catch(p){l={error:p}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(l)throw l.error}}return c},so=function(){for(var o=[],n=0;n1||p(h,U)})})}function p(h,U){try{m(a[h](U))}catch(Y){v(c[0][3],Y)}}function m(h){h.value instanceof Be?Promise.resolve(h.value.v).then(f,d):v(c[0][2],h)}function f(h){p("next",h)}function d(h){p("throw",h)}function v(h,U){h(U),c.shift(),c.length&&p(c[0][0],c[0][1])}},uo=function(o){var n,i;return n={},a("next"),a("throw",function(s){throw s}),a("return"),n[Symbol.iterator]=function(){return this},n;function a(s,c){n[s]=o[s]?function(l){return(i=!i)?{value:Be(o[s](l)),done:s==="return"}:c?c(l):l}:c}},fo=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=o[Symbol.asyncIterator],i;return n?n.call(o):(o=typeof Tt=="function"?Tt(o):o[Symbol.iterator](),i={},a("next"),a("throw"),a("return"),i[Symbol.asyncIterator]=function(){return this},i);function a(c){i[c]=o[c]&&function(l){return new Promise(function(p,m){l=o[c](l),s(p,m,l.done,l.value)})}}function s(c,l,p,m){Promise.resolve(m).then(function(f){c({value:f,done:p})},l)}},mo=function(o,n){return Object.defineProperty?Object.defineProperty(o,"raw",{value:n}):o.raw=n,o};var r=Object.create?function(o,n){Object.defineProperty(o,"default",{enumerable:!0,value:n})}:function(o,n){o.default=n};ho=function(o){if(o&&o.__esModule)return o;var n={};if(o!=null)for(var i in o)i!=="default"&&Object.prototype.hasOwnProperty.call(o,i)&&Ot(n,o,i);return r(n,o),n},bo=function(o){return o&&o.__esModule?o:{default:o}},vo=function(o,n){if(!n.has(o))throw new TypeError("attempted to get private field on non-instance");return n.get(o)},go=function(o,n,i){if(!n.has(o))throw new TypeError("attempted to set private field on non-instance");return n.set(o,i),i},e("__extends",Xr),e("__assign",Zr),e("__rest",eo),e("__decorate",to),e("__param",ro),e("__metadata",oo),e("__awaiter",no),e("__generator",io),e("__exportStar",ao),e("__createBinding",Ot),e("__values",Tt),e("__read",cr),e("__spread",so),e("__spreadArrays",co),e("__spreadArray",lo),e("__await",Be),e("__asyncGenerator",po),e("__asyncDelegator",uo),e("__asyncValues",fo),e("__makeTemplateObject",mo),e("__importStar",ho),e("__importDefault",bo),e("__classPrivateFieldGet",vo),e("__classPrivateFieldSet",go)})});var Fr=Et((xt,Rr)=>{(function(t,r){typeof xt=="object"&&typeof Rr=="object"?Rr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof xt=="object"?xt.ClipboardJS=r():t.ClipboardJS=r()})(xt,function(){return function(){var e={134:function(o,n,i){"use strict";i.d(n,{default:function(){return ta}});var a=i(279),s=i.n(a),c=i(370),l=i.n(c),p=i(817),m=i.n(p);function f(A){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?f=function(b){return typeof b}:f=function(b){return b&&typeof Symbol=="function"&&b.constructor===Symbol&&b!==Symbol.prototype?"symbol":typeof b},f(A)}function d(A,g){if(!(A instanceof g))throw new TypeError("Cannot call a class as a function")}function v(A,g){for(var b=0;b0&&arguments[0]!==void 0?arguments[0]:{};this.action=b.action,this.container=b.container,this.emitter=b.emitter,this.target=b.target,this.text=b.text,this.trigger=b.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"createFakeElement",value:function(){var b=document.documentElement.getAttribute("dir")==="rtl";this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[b?"right":"left"]="-9999px";var C=window.pageYOffset||document.documentElement.scrollTop;return this.fakeElem.style.top="".concat(C,"px"),this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.fakeElem}},{key:"selectFake",value:function(){var b=this,C=this.createFakeElement();this.fakeHandlerCallback=function(){return b.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.container.appendChild(C),this.selectedText=m()(C),this.copyText(),this.removeFake()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=m()(this.target),this.copyText()}},{key:"copyText",value:function(){var b;try{b=document.execCommand(this.action)}catch(C){b=!1}this.handleResult(b)}},{key:"handleResult",value:function(b){this.emitter.emit(b?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"copy";if(this._action=b,this._action!=="copy"&&this._action!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(b){if(b!==void 0)if(b&&f(b)==="object"&&b.nodeType===1){if(this.action==="copy"&&b.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(this.action==="cut"&&(b.hasAttribute("readonly")||b.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`);this._target=b}else throw new Error('Invalid "target" value, use a valid Element')},get:function(){return this._target}}]),A}(),Y=U;function P(A){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?P=function(b){return typeof b}:P=function(b){return b&&typeof Symbol=="function"&&b.constructor===Symbol&&b!==Symbol.prototype?"symbol":typeof b},P(A)}function T(A,g){if(!(A instanceof g))throw new TypeError("Cannot call a class as a function")}function De(A,g){for(var b=0;b0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof W.action=="function"?W.action:this.defaultAction,this.target=typeof W.target=="function"?W.target:this.defaultTarget,this.text=typeof W.text=="function"?W.text:this.defaultText,this.container=P(W.container)==="object"?W.container:document.body}},{key:"listenClick",value:function(W){var re=this;this.listener=l()(W,"click",function(st){return re.onClick(st)})}},{key:"onClick",value:function(W){var re=W.delegateTarget||W.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new Y({action:this.action(re),target:this.target(re),text:this.text(re),container:this.container,trigger:re,emitter:this})}},{key:"defaultAction",value:function(W){return ir("action",W)}},{key:"defaultTarget",value:function(W){var re=ir("target",W);if(re)return document.querySelector(re)}},{key:"defaultText",value:function(W){return ir("text",W)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var W=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],re=typeof W=="string"?[W]:W,st=!!document.queryCommandSupported;return re.forEach(function(ra){st=st&&!!document.queryCommandSupported(ra)}),st}}]),b}(s()),ta=ea},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function a(s,c){for(;s&&s.nodeType!==n;){if(typeof s.matches=="function"&&s.matches(c))return s;s=s.parentNode}}o.exports=a},438:function(o,n,i){var a=i(828);function s(p,m,f,d,v){var h=l.apply(this,arguments);return p.addEventListener(f,h,v),{destroy:function(){p.removeEventListener(f,h,v)}}}function c(p,m,f,d,v){return typeof p.addEventListener=="function"?s.apply(null,arguments):typeof f=="function"?s.bind(null,document).apply(null,arguments):(typeof p=="string"&&(p=document.querySelectorAll(p)),Array.prototype.map.call(p,function(h){return s(h,m,f,d,v)}))}function l(p,m,f,d){return function(v){v.delegateTarget=a(v.target,m),v.delegateTarget&&d.call(p,v)}}o.exports=c},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var a=Object.prototype.toString.call(i);return i!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var a=Object.prototype.toString.call(i);return a==="[object Function]"}},370:function(o,n,i){var a=i(879),s=i(438);function c(f,d,v){if(!f&&!d&&!v)throw new Error("Missing required arguments");if(!a.string(d))throw new TypeError("Second argument must be a String");if(!a.fn(v))throw new TypeError("Third argument must be a Function");if(a.node(f))return l(f,d,v);if(a.nodeList(f))return p(f,d,v);if(a.string(f))return m(f,d,v);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function l(f,d,v){return f.addEventListener(d,v),{destroy:function(){f.removeEventListener(d,v)}}}function p(f,d,v){return Array.prototype.forEach.call(f,function(h){h.addEventListener(d,v)}),{destroy:function(){Array.prototype.forEach.call(f,function(h){h.removeEventListener(d,v)})}}}function m(f,d,v){return s(document.body,f,d,v)}o.exports=c},817:function(o){function n(i){var a;if(i.nodeName==="SELECT")i.focus(),a=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var s=i.hasAttribute("readonly");s||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),s||i.removeAttribute("readonly"),a=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var c=window.getSelection(),l=document.createRange();l.selectNodeContents(i),c.removeAllRanges(),c.addRange(l),a=c.toString()}return a}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,a,s){var c=this.e||(this.e={});return(c[i]||(c[i]=[])).push({fn:a,ctx:s}),this},once:function(i,a,s){var c=this;function l(){c.off(i,l),a.apply(s,arguments)}return l._=a,this.on(i,l,s)},emit:function(i){var a=[].slice.call(arguments,1),s=((this.e||(this.e={}))[i]||[]).slice(),c=0,l=s.length;for(c;c{"use strict";var Za=/["'&<>]/;wi.exports=es;function es(e){var t=""+e,r=Za.exec(t);if(!r)return t;var o,n="",i=0,a=0;for(i=r.index;i0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=o.hasError,i=o.isStopped,a=o.observers;return n||i?lr:(a.push(r),new le(function(){return Me(a,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,a=o.isStopped;n?r.error(i):a&&r.complete()},t.prototype.asObservable=function(){var r=new k;return r.source=this,r},t.create=function(r,o){return new Ho(r,o)},t}(k);var Ho=function(e){Z(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:lr},t}(O);var ut={now:function(){return(ut.delegate||Date).now()},delegate:void 0};var ft=function(e){Z(t,e);function t(r,o,n){r===void 0&&(r=Infinity),o===void 0&&(o=Infinity),n===void 0&&(n=ut);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===Infinity,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,a=o._infiniteTimeWindow,s=o._timestampProvider,c=o._windowTime;n||(i.push(r),!a&&i.push(s.now()+c)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,a=n._buffer,s=a.slice(),c=0;c0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=Ge.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){if(n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);r.actions.length===0&&(Ge.cancelAnimationFrame(o),r._scheduled=void 0)},t}(jt);var Fo=function(e){Z(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0,this._scheduled=void 0;var o=this.actions,n,i=-1;r=r||o.shift();var a=o.length;do if(n=r.execute(r.state,r.delay))break;while(++i=2,!0))}function se(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new O}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,a=i===void 0?!0:i,s=e.resetOnRefCountZero,c=s===void 0?!0:s;return function(l){var p=null,m=null,f=null,d=0,v=!1,h=!1,U=function(){m==null||m.unsubscribe(),m=null},Y=function(){U(),p=f=null,v=h=!1},P=function(){var T=p;Y(),T==null||T.unsubscribe()};return x(function(T,De){d++,!h&&!v&&U();var _e=f=f!=null?f:r();De.add(function(){d--,d===0&&!h&&!v&&(m=_r(P,c))}),_e.subscribe(De),p||(p=new pt({next:function(Ke){return _e.next(Ke)},error:function(Ke){h=!0,U(),m=_r(Y,n,Ke),_e.error(Ke)},complete:function(){v=!0,U(),m=_r(Y,a),_e.complete()}}),we(T).subscribe(p))})(l)}}function _r(e,t){for(var r=[],o=2;ot==="focus"),N(e===Ne()))}var on=new O,Fa=de(()=>M(new ResizeObserver(e=>{for(let t of e)on.next(t)}))).pipe(S(e=>J.pipe(N(e)).pipe(j(()=>e.disconnect()))),te(1));function Se(e){return{width:e.offsetWidth,height:e.offsetHeight}}function vt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function nn(e){let t=e.parentElement;for(;t&&t!==e.offsetParent;){let r=Se(t);if(vt(t).height>r.height)return t;t=t.parentElement}}function Ve(e){return Fa.pipe(_(t=>t.observe(e)),S(t=>on.pipe(L(({target:r})=>r===e),j(()=>t.unobserve(e)),u(()=>Se(e)))),N(Se(e)))}function an(e){return{x:e.scrollLeft,y:e.scrollTop}}function Ia(e){return V(y(e,"scroll"),y(window,"resize")).pipe(u(()=>an(e)),N(an(e)))}function sn(e,t=16){return Ia(e).pipe(u(({y:r})=>{let o=Se(e),n=vt(e);return r>=n.height-o.height-t}),q())}function cn(e){if(e instanceof HTMLInputElement)e.select();else throw new Error("Not implemented")}var Bt={drawer:ae("[data-md-toggle=drawer]"),search:ae("[data-md-toggle=search]")};function ln(e){return Bt[e].checked}function Ue(e,t){Bt[e].checked!==t&&Bt[e].click()}function Yt(e){let t=Bt[e];return y(t,"change").pipe(u(()=>t.checked),N(t.checked))}function Pa(e){switch(e.tagName){case"INPUT":case"SELECT":case"TEXTAREA":return!0;default:return e.isContentEditable}}function pn(){return y(window,"keydown").pipe(L(e=>!(e.metaKey||e.ctrlKey)),u(e=>({mode:ln("search")?"search":"global",type:e.key,claim(){e.preventDefault(),e.stopPropagation()}})),L(({mode:e})=>{if(e==="global"){let t=Ne();if(typeof t!="undefined")return!Pa(t)}return!0}),se())}function ve(){return new URL(location.href)}function Gt(e){location.href=e.href}function un(){return new O}function fn(){return location.hash.substring(1)}function mn(e){let t=We("a");t.href=e,t.addEventListener("click",r=>r.stopPropagation()),t.click()}function $a(){return y(window,"hashchange").pipe(u(fn),N(fn()),L(e=>e.length>0),se())}function dn(){return $a().pipe(S(e=>M(pe(`[id="${e}"]`))))}function gt(e){let t=matchMedia(e);return Qt(r=>t.addListener(()=>r(t.matches))).pipe(N(t.matches))}function hn(){return y(window,"beforeprint").pipe(B(void 0))}function Hr(e,t){return e.pipe(S(r=>r?t():J))}function Jt(e,t={credentials:"same-origin"}){return we(fetch(`${e}`,t)).pipe(L(r=>r.status===200))}function Te(e,t){return Jt(e,t).pipe(S(r=>r.json()),te(1))}function bn(e,t){let r=new DOMParser;return Jt(e,t).pipe(S(o=>o.text()),u(o=>r.parseFromString(o,"text/xml")),te(1))}function vn(e){let t=We("script");return t.src=e,de(()=>(document.head.appendChild(t),V(y(t,"load"),y(t,"error").pipe(S(()=>gr(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(B(void 0),j(()=>document.head.removeChild(t)),oe(1))))}function gn(){return{x:Math.max(0,pageXOffset),y:Math.max(0,pageYOffset)}}function jr({x:e,y:t}){window.scrollTo(e||0,t||0)}function xn(){return V(y(window,"scroll",{passive:!0}),y(window,"resize",{passive:!0})).pipe(u(gn),N(gn()))}function yn(){return{width:innerWidth,height:innerHeight}}function Sn(){return y(window,"resize",{passive:!0}).pipe(u(yn),N(yn()))}function wn(){return z([xn(),Sn()]).pipe(u(([e,t])=>({offset:e,size:t})),te(1))}function Xt(e,{viewport$:t,header$:r}){let o=t.pipe(D("size")),n=z([o,r]).pipe(u(()=>({x:e.offsetLeft,y:e.offsetTop})));return z([r,t,n]).pipe(u(([{height:i},{offset:a,size:s},{x:c,y:l}])=>({offset:{x:a.x-c,y:a.y-l+i},size:s})))}function En(e,{tx$:t}){let r=y(e,"message").pipe(u(({data:o})=>o));return t.pipe(kr(()=>r,{leading:!0,trailing:!0}),_(o=>e.postMessage(o)),Lr(r),se())}var Wa=ae("#__config"),ot=JSON.parse(Wa.textContent);ot.base=new URL(ot.base,ve()).toString().replace(/\/$/,"");function ue(){return ot}function ce(e){return ot.features.includes(e)}function X(e,t){return typeof t!="undefined"?ot.translations[e].replace("#",t.toString()):ot.translations[e]}function Oe(e,t=document){return ae(`[data-md-component=${e}]`,t)}function ne(e,t=document){return I(`[data-md-component=${e}]`,t)}var ai=ct(Fr());function Tn(e,t=0){e.setAttribute("tabindex",t.toString())}function On(e){e.removeAttribute("tabindex")}function _n(e,t){e.setAttribute("data-md-state","lock"),e.style.top=`-${t}px`}function Mn(e){let t=-1*parseInt(e.style.top,10);e.removeAttribute("data-md-state"),e.style.top="",t&&window.scrollTo(0,t)}function Ln(e,t){e.setAttribute("data-md-state",t)}function An(e){e.removeAttribute("data-md-state")}function kn(e,t){e.classList.toggle("md-nav__link--active",t)}function Cn(e){e.classList.remove("md-nav__link--active")}function Hn(e,t){e.firstElementChild.innerHTML=t}function jn(e,t){e.setAttribute("data-md-state",t)}function Rn(e){e.removeAttribute("data-md-state")}function Fn(e,t){e.setAttribute("data-md-state",t)}function In(e){e.removeAttribute("data-md-state")}function Pn(e,t){e.setAttribute("data-md-state",t)}function $n(e){e.removeAttribute("data-md-state")}function Wn(e,t){e.placeholder=t}function Vn(e){e.placeholder=X("search.placeholder")}function Un(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)Un(e,r)}function $(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="boolean"?o.setAttribute(n,t[n]):t[n]&&o.setAttribute(n,"");for(let n of r)Un(o,n);return o}function Dn(e,t){let r=t;if(e.length>r){for(;e[r]!==" "&&--r>0;);return`${e.substring(0,r)}...`}return e}function Zt(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function Nn(e,t){switch(t){case 0:e.textContent=X("search.result.none");break;case 1:e.textContent=X("search.result.one");break;default:e.textContent=X("search.result.other",Zt(t))}}function Ir(e){e.textContent=X("search.result.placeholder")}function zn(e,t){e.appendChild(t)}function qn(e){e.innerHTML=""}function Qn(e,t){e.style.top=`${t}px`}function Kn(e){e.style.top=""}function Bn(e,t){let r=e.firstElementChild;r.style.height=`${t-2*r.offsetTop}px`}function Yn(e){let t=e.firstElementChild;t.style.height=""}function Gn(e,t){e.lastElementChild.appendChild(t)}function Jn(e,t){e.lastElementChild.setAttribute("data-md-state",t)}function Xn(e,t){e.setAttribute("data-md-state",t)}function Pr(e){e.removeAttribute("data-md-state")}function Zn(e,t){e.setAttribute("data-md-state",t)}function $r(e){e.removeAttribute("data-md-state")}function ei(e){return $("button",{class:"md-clipboard md-icon",title:X("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}function ti(e,t){return $("aside",{class:"md-annotation",tabIndex:0},$("div",{class:"md-tooltip"},$("div",{class:"md-tooltip__inner md-typeset"},Array.from(t.childNodes))),$("span",{class:"md-annotation__index"},e))}var qe;(function(r){r[r.TEASER=1]="TEASER",r[r.PARENT=2]="PARENT"})(qe||(qe={}));function Wr(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(a=>!e.terms[a]).map(a=>[$("del",null,a)," "]).flat().slice(0,-1),i=new URL(e.location);return ce("search.highlight")&&i.searchParams.set("h",Object.entries(e.terms).filter(([,a])=>a).reduce((a,[s])=>`${a} ${s}`.trim(),"")),$("a",{href:`${i}`,class:"md-search-result__link",tabIndex:-1},$("article",{class:["md-search-result__article",...r?["md-search-result__article--document"]:[]].join(" "),"data-md-score":e.score.toFixed(2)},r>0&&$("div",{class:"md-search-result__icon md-icon"}),$("h1",{class:"md-search-result__title"},e.title),o>0&&e.text.length>0&&$("p",{class:"md-search-result__teaser"},Dn(e.text,320)),e.tags&&e.tags.map(a=>$("span",{class:"md-tag"},a)),o>0&&n.length>0&&$("p",{class:"md-search-result__terms"},X("search.result.term.missing"),": ",n)))}function ri(e){let t=e[0].score,r=[...e],o=r.findIndex(l=>!l.location.includes("#")),[n]=r.splice(o,1),i=r.findIndex(l=>l.scoreWr(l,1)),...s.length?[$("details",{class:"md-search-result__more"},$("summary",{tabIndex:-1},s.length>0&&s.length===1?X("search.result.more.one"):X("search.result.more.other",s.length)),s.map(l=>Wr(l,1)))]:[]];return $("li",{class:"md-search-result__item"},c)}function oi(e){return $("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>$("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?Zt(r):r)))}function ni(e){return $("div",{class:"md-typeset__scrollwrap"},$("div",{class:"md-typeset__table"},e))}function Va(e){let t=ue(),r=new URL(`${e.version}/`,t.base);return $("li",{class:"md-version__item"},$("a",{href:`${r}`,class:"md-version__link"},e.title))}function ii(e,t){return $("div",{class:"md-version"},$("button",{class:"md-version__current","aria-label":X("select.version.title")},t.title),$("ul",{class:"md-version__list"},e.map(Va)))}var Ua=0;function Da(e,{viewport$:t}){let r=M(e).pipe(S(i=>{let a=i.closest("[data-tabs]");return a instanceof HTMLElement?V(...I(":scope > input",a).map(s=>y(s,"change"))):J})),o=[],n=e.closest(".annotate.highlighttable")||e.closest(".annotate.highlight");if(n){let i=n.nextElementSibling;if(i instanceof HTMLOListElement){let a=Array.from(i.children);i.remove();for(let s of I(".c, .c1, .cm",e)){let[,c=-1]=s.textContent.match(/\((\d+)\)/)||[],l=a[+c-1];if(typeof l!="undefined"){let p=ti(+c,l);s.replaceWith(p),o.push(p)}}}}return t.pipe(D("size"),Ce(r),u(()=>{let i=Se(e),a=vt(e);return R({scroll:a.width>i.width},o.length&&{annotations:o})}),D("scroll"))}function si(e,t){let r=new O;if(r.pipe(ye(gt("(hover)"))).subscribe(([{scroll:o},n])=>{o&&n?Tn(e):On(e)}),r.pipe(oe(1),bt(({annotations:o})=>!!(o==null?void 0:o.length)),u(({annotations:o})=>o.map(n=>ae(".md-tooltip",n))),$e(viewport$.pipe(D("size")))).subscribe(([o,{size:n}])=>{for(let i of o){let{x:a,width:s}=i.getBoundingClientRect();a+s>n.width?i.classList.add("md-tooltip--end"):i.classList.remove("md-tooltip--end")}}),ai.default.isSupported()){let o=e.closest("pre");o.id=`__code_${++Ua}`,o.insertBefore(ei(o.id),e)}return Da(e,t).pipe(_(r),j(()=>r.complete()),u(o=>R({ref:e},o)))}var Vr,Na=0;function ci(e){return Vr||(Vr=vn("https://unpkg.com/mermaid@8.8.4/dist/mermaid.min.js").pipe(_(()=>mermaid.initialize({startOnLoad:!1,themeCSS:za})),te(1))),Vr.subscribe(()=>{let t=e.innerText;mermaid.mermaidAPI.render(`__mermaid_${Na++}`,t,r=>{e.innerHTML=r})}),Vr.pipe(B({ref:e}))}var za=` + rect.actor { + fill: white; + } + .classLabel .box { + background-color: var(--md-mermaid-label-bg-color); + fill: var(--md-mermaid-label-bg-color); + opacity: 1; + } + .classLabel .label { + font-family: var(--md-mermaid-font-family); + fill: var(--md-mermaid-label-fg-color) + } + .statediagram-cluster.statediagram-cluster .inner { + fill: var(--md-default-bg-color); + } + .statediagram-state rect.divider { + stroke: var(--md-default-fg-color--lighter); + fill: var(--md-default-fg-color--lightest); + } + .cluster rect { + stroke: var(--md-default-fg-color--lighter); + fill: var(--md-default-fg-color--lightest); + } + .edgeLabel, + .edgeLabel rect { + background-color: var(--md-mermaid-label-bg-color); + fill: var(--md-mermaid-label-bg-color); + } + .cardinality text { + fill: inherit !important; + } + .cardinality, + g.classGroup text { + font-family: var(--md-mermaid-font-family); + fill: var(--md-mermaid-label-fg-color); + } + .edgeLabel .label rect { + fill: transparent; + } + .nodeLabel, + .label, + .label div .edgeLabel { + font-family: var(--md-mermaid-font-family); + color: var(--md-mermaid-label-fg-color); + } + .label foreignObject { + overflow: visible; + } + .arrowheadPath, + marker { + fill: var(--md-mermaid-edge-color) !important; + } + .edgePath .path, + .flowchart-link, + .relation, + .transition { + stroke: var(--md-mermaid-edge-color); + } + .statediagram-cluster rect, + g.classGroup line, + g.classGroup rect, + .node circle, + .node ellipse, + .node path, + .node polygon, + .node rect { + fill: var(--md-mermaid-node-bg-color); + stroke: var(--md-mermaid-node-fg-color); + } + .node circle.state-end { + fill: var(--md-mermaid-label-bg-color); + stroke: none; + } + .node circle.state-start { + fill: var(--md-mermaid-label-fg-color); + stroke: var(--md-mermaid-label-fg-color); + } +`;function qa(e,{target$:t,print$:r}){return t.pipe(u(o=>o.closest("details:not([open])")),L(o=>e===o),Ce(r),B(e))}function li(e,t){let r=new O;return r.subscribe(()=>{e.setAttribute("open",""),e.scrollIntoView()}),qa(e,t).pipe(_(r),j(()=>r.complete()),B({ref:e}))}var pi=We("table");function ui(e){return ze(e,pi),ze(pi,ni(e)),M({ref:e})}function Qa(e){return M(I(":scope > label",e)).pipe(S(t=>M(...t).pipe(ee(r=>{let o=r.previousElementSibling;return y(o,"change").pipe(B({active:r}))}))))}function fi(e){let t=new O;return t.subscribe(({active:r})=>{if(ce("content.tabs.link")){let o=r.innerText.trim();for(let i of I("[data-tabs]"))for(let a of I(":scope > label",i))if(a.innerText.trim()===o){let s=a.previousElementSibling;s.checked=!0;break}let n=__get("__tabs")||[];__set("__tabs",[...new Set([o,...n])])}}),Qa(e).pipe(_(t),j(()=>t.complete()),u(r=>R({ref:e},r)))}function mi(e,{target$:t,viewport$:r,print$:o}){return V(...I("pre:not([class^=mermaid]) > code",e).map(n=>si(n,{viewport$:r})),...I(".mermaid-experimental",e).map(n=>ci(n)),...I("table:not([class])",e).map(n=>ui(n)),...I("details",e).map(n=>li(n,{target$:t,print$:o})),...I("[data-tabs]",e).map(n=>fi(n)))}function Ka(e,{alert$:t}){return t.pipe(S(r=>V(M(!0),M(!1).pipe(ke(2e3))).pipe(u(o=>({message:r,open:o})))))}function di(e,t){let r=new O;return r.pipe(K(G)).subscribe(({message:o,open:n})=>{Hn(e,o),n?jn(e,"open"):Rn(e)}),Ka(e,t).pipe(_(r),j(()=>r.complete()),u(o=>R({ref:e},o)))}function Ba({viewport$:e}){if(!ce("header.autohide"))return M(!1);let t=e.pipe(u(({offset:{y:n}})=>n),xe(2,1),u(([n,i])=>[nMath.abs(i-n.y)>100),u(([,[n]])=>n),q()),o=Yt("search");return z([e,o]).pipe(u(([{offset:n},i])=>n.y>400&&!i),q(),S(n=>n?r:M(!1)),N(!1))}function hi(e,t){return de(()=>{let r=getComputedStyle(e);return M(r.position==="sticky"||r.position==="-webkit-sticky")}).pipe($e(Ve(e),Ba(t)),u(([r,{height:o},n])=>({height:r?o:0,sticky:r,hidden:n})),q((r,o)=>r.sticky===o.sticky&&r.height===o.height&&r.hidden===o.hidden),te(1))}function bi(e,{header$:t,main$:r}){let o=new O;return o.pipe(D("active"),$e(t),K(G)).subscribe(([{active:n},{hidden:i}])=>{n?Fn(e,i?"hidden":"shadow"):In(e)}),r.subscribe(n=>o.next(n)),t.pipe(u(n=>R({ref:e},n)))}function Ya(e,{viewport$:t,header$:r}){return Xt(e,{header$:r,viewport$:t}).pipe(u(({offset:{y:o}})=>{let{height:n}=Se(e);return{active:o>=n}}),D("active"))}function vi(e,t){let r=new O;r.pipe(K(G)).subscribe(({active:n})=>{n?Pn(e,"active"):$n(e)});let o=pe("article h1");return typeof o=="undefined"?J:Ya(o,t).pipe(_(r),j(()=>r.complete()),u(n=>R({ref:e},n)))}function gi(e,{viewport$:t,header$:r}){let o=r.pipe(u(({height:i})=>i),q()),n=o.pipe(S(()=>Ve(e).pipe(u(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),D("bottom"))));return z([o,n,t]).pipe(u(([i,{top:a,bottom:s},{offset:{y:c},size:{height:l}}])=>(l=Math.max(0,l-Math.max(0,a-c,i)-Math.max(0,l+c-s)),{offset:a-i,height:l,active:a-i<=c})),q((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function Ga(e){let t=__get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=M(...e).pipe(ee(o=>y(o,"change").pipe(B(o))),N(e[Math.max(0,t.index)]),u(o=>({index:e.indexOf(o),color:{scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),te(1));return r.subscribe(o=>{__set("__palette",o)}),r}function xi(e){let t=new O;t.subscribe(o=>{for(let[n,i]of Object.entries(o.color))typeof i=="string"&&document.body.setAttribute(`data-md-color-${n}`,i);for(let n=0;nt.complete()),u(o=>R({ref:e},o)))}var Ur=ct(Fr());function Ja(e){let t=I(".md-annotation",e);for(let o of t)o.hidden=!0;let r=e.innerText;for(let o of t)o.hidden=!1;return r}function yi({alert$:e}){Ur.default.isSupported()&&new k(t=>{new Ur.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||Ja(ae(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).subscribe(()=>e.next(X("clipboard.copied")))}function Xa(e){if(e.length<2)return[""];let[t,r]=[...e].sort((n,i)=>n.length-i.length).map(n=>n.replace(/[^/]+$/,"")),o=0;if(t===r)o=t.length;else for(;t.charCodeAt(o)===r.charCodeAt(o);)o++;return e.map(n=>n.replace(t.slice(0,o),""))}function er(e){let t=__get("__sitemap",sessionStorage,e);if(t)return M(t);{let r=ue();return bn(new URL("sitemap.xml",e||r.base)).pipe(u(o=>Xa(I("loc",o).map(n=>n.textContent))),Ae([]),_(o=>__set("__sitemap",o,sessionStorage,e)))}}function Si({document$:e,location$:t,viewport$:r}){let o=ue();if(location.protocol==="file:")return;"scrollRestoration"in history&&(history.scrollRestoration="manual",y(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}));let n=pe("link[rel=icon]");typeof n!="undefined"&&(n.href=n.href);let i=er().pipe(u(l=>l.map(p=>`${o.base}/${p}`)),S(l=>y(document.body,"click").pipe(L(p=>!p.metaKey&&!p.ctrlKey),S(p=>{if(p.target instanceof Element){let m=p.target.closest("a");if(m&&!m.target&&l.includes(m.href))return p.preventDefault(),M({url:new URL(m.href)})}return J}))),se()),a=y(window,"popstate").pipe(L(l=>l.state!==null),u(l=>({url:new URL(location.href),offset:l.state})),se());V(i,a).pipe(q((l,p)=>l.url.href===p.url.href),u(({url:l})=>l)).subscribe(t);let s=t.pipe(D("pathname"),S(l=>Jt(l.href).pipe(tt(()=>(Gt(l),J)))),se());i.pipe(rt(s)).subscribe(({url:l})=>{history.pushState({},"",`${l}`)});let c=new DOMParser;s.pipe(S(l=>l.text()),u(l=>c.parseFromString(l,"text/html"))).subscribe(e),V(i,a).pipe(rt(e)).subscribe(({url:l,offset:p})=>{l.hash&&!p?mn(l.hash):jr(p||{y:0})}),e.pipe(Kt(1)).subscribe(l=>{for(let p of["title","link[rel=canonical]","meta[name=author]","meta[name=description]","[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=logo], .md-logo","[data-md-component=skip]"]){let m=pe(p),f=pe(p,l);typeof m!="undefined"&&typeof f!="undefined"&&ze(m,f)}}),e.pipe(Kt(1),u(()=>Oe("container")),S(l=>M(...I("script",l))),Sr(l=>{let p=We("script");if(l.src){for(let m of l.getAttributeNames())p.setAttribute(m,l.getAttribute(m));return ze(l,p),new k(m=>{p.onload=()=>m.complete()})}else return p.textContent=l.textContent,ze(l,p),ge})).subscribe(),r.pipe(Mr(i),wr(250),D("offset")).subscribe(({offset:l})=>{history.replaceState(l,"")}),V(i,a).pipe(xe(2,1),L(([l,p])=>l.url.pathname===p.url.pathname),u(([,l])=>l)).subscribe(({offset:l})=>{jr(l||{y:0})})}var ts=ct(Ei());function Dr(e){let t=new RegExp(e.separator,"img"),r=(o,n,i)=>`${n}${i}`;return o=>{o=o.replace(/[\s*+\-:~^]+/g," ").trim();let n=new RegExp(`(^|${e.separator})(${o.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(t,"|")})`,"img");return i=>i.replace(n,r).replace(/<\/mark>(\s+)]*>/img,"$1")}}function Ti(e){return e.split(/"([^"]+)"/g).map((t,r)=>r&1?t.replace(/^\b|^(?![^\x00-\x7F]|$)|\s+/g," +"):t).join("").replace(/"|(?:^|\s+)[*+\-:^~]+(?=\s+|$)/g,"").trim()}var je;(function(n){n[n.SETUP=0]="SETUP",n[n.READY=1]="READY",n[n.QUERY=2]="QUERY",n[n.RESULT=3]="RESULT"})(je||(je={}));function nt(e){return e.type===1}function Oi(e){return e.type===2}function it(e){return e.type===3}function rs({config:e,docs:t,index:r}){e.lang.length===1&&e.lang[0]==="en"&&(e.lang=[X("search.config.lang")]),e.separator==="[\\s\\-]+"&&(e.separator=X("search.config.separator"));let n={pipeline:X("search.config.pipeline").split(/\s*,\s*/).filter(Boolean),suggestions:ce("search.suggest")};return{config:e,docs:t,index:r,options:n}}function _i(e,t){let r=ue(),o=new Worker(e),n=new O,i=En(o,{tx$:n}).pipe(u(a=>{if(it(a))for(let s of a.data.items)for(let c of s)c.location=`${r.base}/${c.location}`;return a}),se());return we(t).pipe(u(a=>({type:je.SETUP,data:rs(a)}))).subscribe(n.next.bind(n)),{tx$:n,rx$:i}}function Mi(){let e=ue(),t=Te(new URL("versions.json",e.base)),r=t.pipe(u(o=>{let[,n]=e.base.match(/([^/]+)\/?$/);return o.find(({version:i,aliases:a})=>i===n||a.includes(n))||o[0]}));z([t,r]).pipe(u(([o,n])=>new Map(o.filter(i=>i!==n).map(i=>[`${new URL(`${i.version}/`,e.base)}`,i]))),S(o=>y(document.body,"click").pipe(L(n=>!n.metaKey&&!n.ctrlKey),S(n=>{if(n.target instanceof Element){let i=n.target.closest("a");if(i&&!i.target&&o.has(i.href))return n.preventDefault(),M(i.href)}return J}),S(n=>{let{version:i}=o.get(n);return er(n).pipe(u(a=>{let c=ve().href.replace(`${e.base}/`,"");return a.includes(c)?new URL(`${i}/${c}`,e.base):new URL(n)}))})))).subscribe(o=>Gt(o)),z([t,r]).subscribe(([o,n])=>{var a;if(ae(".md-header__topic").appendChild(ii(o,n)),__get("__outdated",sessionStorage)===null){let s=((a=e.version)==null?void 0:a.default)||"latest",c=!n.aliases.includes(s);if(__set("__outdated",c,sessionStorage),c)for(let l of ne("outdated"))l.hidden=!1}})}function os(e,{rx$:t}){let r=(__search==null?void 0:__search.transform)||Ti,o=rn(e),n=V(y(e,"keyup"),y(e,"focus").pipe(ke(1))).pipe(u(()=>r(e.value)),q()),i=ve();return i.searchParams.has("q")&&(Ue("search",!0),t.pipe(L(nt),oe(1)).subscribe(()=>{e.value=i.searchParams.get("q"),He(e)})),z([n,o]).pipe(u(([a,s])=>({value:a,focus:s})))}function Li(e,{tx$:t,rx$:r}){let o=new O;return o.pipe(D("value"),u(({value:n})=>({type:je.QUERY,data:n}))).subscribe(t.next.bind(t)),o.pipe(D("focus")).subscribe(({focus:n})=>{n?(Ue("search",n),Wn(e,"")):Vn(e)}),y(e.form,"reset").pipe(Ar(o.pipe(Tr(1)))).subscribe(()=>He(e)),os(e,{tx$:t,rx$:r}).pipe(_(o),j(()=>o.complete()),u(n=>R({ref:e},n)))}function Ai(e,{rx$:t},{query$:r}){let o=new O,n=sn(e.parentElement).pipe(L(Boolean)),i=ae(":scope > :first-child",e),a=ae(":scope > :last-child",e);return t.pipe(L(nt),oe(1)).subscribe(()=>{Ir(i)}),o.pipe(K(G),ye(r)).subscribe(([{items:c},{value:l}])=>{l?Nn(i,c.length):Ir(i)}),o.pipe(K(G),_(()=>qn(a)),S(({items:c})=>V(M(...c.slice(0,10)),M(...c.slice(10)).pipe(xe(4),Cr(n),S(([l])=>M(...l)))))).subscribe(c=>{zn(a,ri(c))}),t.pipe(L(it),u(({data:c})=>c)).pipe(_(o),j(()=>o.complete()),u(c=>R({ref:e},c)))}function ns(e,{query$:t}){return t.pipe(u(({value:r})=>{let o=ve();return o.hash="",o.searchParams.delete("h"),o.searchParams.set("q",r),{url:o}}))}function ki(e,t){let r=new O;return r.subscribe(({url:o})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${o}`}),y(e,"click").subscribe(o=>o.preventDefault()),ns(e,t).pipe(_(r),j(()=>r.complete()),u(o=>R({ref:e},o)))}function Ci(e,{rx$:t},{keyboard$:r}){let o=new O,n=Oe("search-query"),i=y(n,"keydown").pipe(K(Fe),u(()=>n.value),q());return o.pipe($e(i),u(([{suggestions:s},c])=>{let l=c.split(/([\s-]+)/);if((s==null?void 0:s.length)&&l[l.length-1]){let p=s[s.length-1];p.startsWith(l[l.length-1])&&(l[l.length-1]=p)}else l.length=0;return l})).subscribe(s=>e.innerHTML=s.join("").replace(/\s/g," ")),r.pipe(L(({mode:s})=>s==="search")).subscribe(s=>{switch(s.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(L(it),u(({data:s})=>s)).pipe(_(o),j(()=>o.complete()),u(()=>({ref:e})))}function Hi(e,{index$:t,keyboard$:r}){let o=ue(),n=_i(o.search,t),i=Oe("search-query",e),a=Oe("search-result",e),{tx$:s,rx$:c}=n;s.pipe(L(Oi),rt(c.pipe(L(nt),oe(1)))).subscribe(s.next.bind(s)),r.pipe(L(({mode:m})=>m==="search")).subscribe(m=>{let f=Ne();switch(m.type){case"Enter":if(f===i){let d=new Map;for(let v of I(":first-child [href]",a)){let h=v.firstElementChild;d.set(v,parseFloat(h.getAttribute("data-md-score")))}if(d.size){let[[v]]=[...d].sort(([,h],[,U])=>U-h);v.click()}m.claim()}break;case"Escape":case"Tab":Ue("search",!1),He(i,!1);break;case"ArrowUp":case"ArrowDown":if(typeof f=="undefined")He(i);else{let d=[i,...I(":not(details) > [href], summary, details[open] [href]",a)],v=Math.max(0,(Math.max(0,d.indexOf(f))+d.length+(m.type==="ArrowUp"?-1:1))%d.length);He(d[v])}m.claim();break;default:i!==Ne()&&He(i)}}),r.pipe(L(({mode:m})=>m==="global")).subscribe(m=>{switch(m.type){case"f":case"s":case"/":He(i),cn(i),m.claim();break}});let l=Li(i,n),p=Ai(a,n,{query$:l});return V(l,p).pipe(Ce(...ne("search-share",e).map(m=>ki(m,{query$:l})),...ne("search-suggest",e).map(m=>Ci(m,n,{keyboard$:r}))))}function ji(e,{index$:t,location$:r}){return z([t,r.pipe(N(ve()),L(o=>o.searchParams.has("h")))]).pipe(u(([o,n])=>Dr(o.config)(n.searchParams.get("h"))),u(o=>{var a;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)==null?void 0:a.offsetHeight){let c=s.textContent,l=o(c);l.length>c.length&&n.set(s,l)}for(let[s,c]of n){let{childNodes:l}=$("span",null,c);s.replaceWith(...Array.from(l))}return{ref:e,nodes:n}}))}function is(e,{viewport$:t,main$:r}){let o=e.parentElement.offsetTop-e.parentElement.parentElement.offsetTop;return z([r,t]).pipe(u(([{offset:n,height:i},{offset:{y:a}}])=>(i=i+Math.min(o,Math.max(0,a-n))-o,{height:i,locked:a>=n+o})),q((n,i)=>n.height===i.height&&n.locked===i.locked))}function Nr(e,o){var n=o,{header$:t}=n,r=Yr(n,["header$"]);let i=new O;return i.pipe(K(G),ye(t)).subscribe({next([{height:a},{height:s}]){Bn(e,a),Qn(e,s)},complete(){Kn(e),Yn(e)}}),i.pipe(K(G),oe(1)).subscribe(()=>{for(let a of I(".md-nav__link--active[href]",e)){let s=nn(a);if(typeof s!="undefined"){let c=a.offsetTop-s.offsetTop,{height:l}=Se(s);c-l+a.offsetHeight>0&&s.scrollTo(0,c-l/2)}}}),is(e,r).pipe(_(i),j(()=>i.complete()),u(a=>R({ref:e},a)))}function Ri(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return ht(Te(`${r}/releases/latest`).pipe(u(o=>({version:o.tag_name})),Ae({})),Te(r).pipe(u(o=>({stars:o.stargazers_count,forks:o.forks_count})),Ae({}))).pipe(u(([o,n])=>R(R({},o),n)))}else{let r=`https://api.github.com/repos/${e}`;return Te(r).pipe(u(o=>({repositories:o.public_repos})),Ae({}))}}function Fi(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Te(r).pipe(u(({star_count:o,forks_count:n})=>({stars:o,forks:n})),Ae({}))}function Ii(e){let[t]=e.match(/(git(?:hub|lab))/i)||[];switch(t.toLowerCase()){case"github":let[,r,o]=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);return Ri(r,o);case"gitlab":let[,n,i]=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i);return Fi(n,i);default:return J}}var as;function ss(e){return as||(as=de(()=>{let t=__get("__source",sessionStorage);return t?M(t):Ii(e.href).pipe(_(r=>__set("__source",r,sessionStorage)))}).pipe(tt(()=>J),L(t=>Object.keys(t).length>0),u(t=>({facts:t})),te(1)))}function Pi(e){let t=new O;return t.subscribe(({facts:r})=>{Gn(e,oi(r)),Jn(e,"done")}),ss(e).pipe(_(t),j(()=>t.complete()),u(r=>R({ref:e},r)))}function cs(e,{viewport$:t,header$:r}){return Ve(document.body).pipe(S(()=>Xt(e,{header$:r,viewport$:t})),u(({offset:{y:o}})=>({hidden:o>=10})),D("hidden"))}function $i(e,t){let r=new O;return r.pipe(K(G)).subscribe({next({hidden:o}){o?Xn(e,"hidden"):Pr(e)},complete(){Pr(e)}}),(ce("navigation.tabs.sticky")?M({hidden:!1}):cs(e,t)).pipe(_(r),j(()=>r.complete()),u(o=>R({ref:e},o)))}function ls(e,{viewport$:t,header$:r}){let o=new Map,n=I("[href^=\\#]",e);for(let s of n){let c=decodeURIComponent(s.hash.substring(1)),l=pe(`[id="${c}"]`);typeof l!="undefined"&&o.set(s,l)}let i=r.pipe(u(s=>24+s.height));return Ve(document.body).pipe(D("height"),S(s=>de(()=>{let c=[];return M([...o].reduce((l,[p,m])=>{for(;c.length&&o.get(c[c.length-1]).tagName>=m.tagName;)c.pop();let f=m.offsetTop;for(;!f&&m.parentElement;)m=m.parentElement,f=m.offsetTop;return l.set([...c=[...c,p]].reverse(),f)},new Map))}).pipe(u(c=>new Map([...c].sort(([,l],[,p])=>l-p))),S(c=>z([t,i]).pipe(Or(([l,p],[{offset:{y:m},size:f},d])=>{let v=m+f.height>=Math.floor(s.height);for(;p.length;){let[,h]=p[0];if(h-d=m&&!v)p=[l.pop(),...p];else break}return[l,p]},[[],[...c]]),q((l,p)=>l[0]===p[0]&&l[1]===p[1])))))).pipe(u(([s,c])=>({prev:s.map(([l])=>l),next:c.map(([l])=>l)})),N({prev:[],next:[]}),xe(2,1),u(([s,c])=>s.prev.length{for(let[i]of n)Cn(i),An(i);for(let[i,[a]]of o.entries())kn(a,i===o.length-1),Ln(a,"blur");if(ce("navigation.tracking")){let i=ve(),a=o[o.length-1];if(a&&a.length){let[s]=a,{hash:c}=new URL(s.href);i.hash!==c&&(i.hash=c,history.replaceState({},"",`${i}`))}else i.hash="",history.replaceState({},"",`${i}`)}}),ls(e,t).pipe(_(r),j(()=>r.complete()),u(o=>R({ref:e},o)))}function ps(e,{viewport$:t,main$:r}){let o=t.pipe(u(({offset:{y:i}})=>i),xe(2,1),u(([i,a])=>i>a),q()),n=r.pipe(D("active"));return z([n,o]).pipe(u(([{active:i},a])=>({hidden:!(i&&a)})),q((i,a)=>i.hidden===a.hidden))}function Vi(e,t){let r=new O;return r.pipe(K(G)).subscribe({next({hidden:o}){o?Zn(e,"hidden"):$r(e)},complete(){$r(e)}}),ps(e,t).pipe(_(r),j(()=>r.complete()),u(o=>R({ref:e},o)))}function Ui({document$:e,tablet$:t}){e.pipe(S(()=>M(...I("[data-md-state=indeterminate]"))),_(r=>{r.indeterminate=!0,r.checked=!1}),ee(r=>y(r,"change").pipe(bt(()=>r.hasAttribute("data-md-state")),B(r))),ye(t)).subscribe(([r,o])=>{r.removeAttribute("data-md-state"),o&&(r.checked=!1)})}function us(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Di({document$:e}){e.pipe(S(()=>M(...I("[data-md-scrollfix]"))),_(t=>t.removeAttribute("data-md-scrollfix")),L(us),ee(t=>y(t,"touchstart").pipe(B(t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function Ni({viewport$:e,tablet$:t}){z([Yt("search"),t]).pipe(u(([r,o])=>r&&!o),S(r=>M(r).pipe(ke(r?400:100),K(G))),ye(e)).subscribe(([r,{offset:{y:o}}])=>{r?_n(document.body,o):Mn(document.body)})}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var at=tn(),tr=un(),zr=dn(),qr=pn(),he=wn(),rr=gt("(min-width: 960px)"),zi=gt("(min-width: 1220px)"),qi=hn(),Qi=ue(),Ki=document.forms.namedItem("search")?(__search==null?void 0:__search.index)||Te(`${Qi.base}/search/search_index.json`):J,Qr=new O;yi({alert$:Qr});ce("navigation.instant")&&Si({document$:at,location$:tr,viewport$:he});var Yi;((Yi=Qi.version)==null?void 0:Yi.provider)==="mike"&&Mi();V(tr,zr).pipe(ke(125)).subscribe(()=>{Ue("drawer",!1),Ue("search",!1)});qr.pipe(L(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=pe("[href][rel=prev]");typeof t!="undefined"&&t.click();break;case"n":case".":let r=pe("[href][rel=next]");typeof r!="undefined"&&r.click();break}});Ui({document$:at,tablet$:rr});Di({document$:at});Ni({viewport$:he,tablet$:rr});var Qe=hi(Oe("header"),{viewport$:he}),or=at.pipe(u(()=>Oe("main")),S(e=>gi(e,{viewport$:he,header$:Qe})),te(1)),fs=V(...ne("dialog").map(e=>di(e,{alert$:Qr})),...ne("header").map(e=>bi(e,{viewport$:he,header$:Qe,main$:or})),...ne("palette").map(e=>xi(e)),...ne("search").map(e=>Hi(e,{index$:Ki,keyboard$:qr})),...ne("source").map(e=>Pi(e))),ms=de(()=>V(...ne("content").map(e=>mi(e,{target$:zr,viewport$:he,print$:qi})),...ne("content").map(e=>ce("search.highlight")?ji(e,{index$:Ki,location$:tr}):J),...ne("header-title").map(e=>vi(e,{viewport$:he,header$:Qe})),...ne("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?Hr(zi,()=>Nr(e,{viewport$:he,header$:Qe,main$:or})):Hr(rr,()=>Nr(e,{viewport$:he,header$:Qe,main$:or}))),...ne("tabs").map(e=>$i(e,{viewport$:he,header$:Qe})),...ne("toc").map(e=>Wi(e,{viewport$:he,header$:Qe})),...ne("top").map(e=>Vi(e,{viewport$:he,main$:or})))),Bi=at.pipe(S(()=>ms),Ce(fs),te(1));Bi.subscribe();window.document$=at;window.location$=tr;window.target$=zr;window.keyboard$=qr;window.viewport$=he;window.tablet$=rr;window.screen$=zi;window.print$=qi;window.alert$=Qr;window.component$=Bi;})(); +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.ar.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.ar.min.js new file mode 100644 index 0000000000..248ddc5d14 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.ar.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ar=function(){this.pipeline.reset(),this.pipeline.add(e.ar.trimmer,e.ar.stopWordFilter,e.ar.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ar.stemmer))},e.ar.wordCharacters="ء-ٛٱـ",e.ar.trimmer=e.trimmerSupport.generateTrimmer(e.ar.wordCharacters),e.Pipeline.registerFunction(e.ar.trimmer,"trimmer-ar"),e.ar.stemmer=function(){var e=this;return e.result=!1,e.preRemoved=!1,e.sufRemoved=!1,e.pre={pre1:"ف ك ب و س ل ن ا ي ت",pre2:"ال لل",pre3:"بال وال فال تال كال ولل",pre4:"فبال كبال وبال وكال"},e.suf={suf1:"ه ك ت ن ا ي",suf2:"نك نه ها وك يا اه ون ين تن تم نا وا ان كم كن ني نن ما هم هن تك ته ات يه",suf3:"تين كهم نيه نهم ونه وها يهم ونا ونك وني وهم تكم تنا تها تني تهم كما كها ناه نكم هنا تان يها",suf4:"كموه ناها ونني ونهم تكما تموه تكاه كماه ناكم ناهم نيها وننا"},e.patterns=JSON.parse('{"pt43":[{"pt":[{"c":"ا","l":1}]},{"pt":[{"c":"ا,ت,ن,ي","l":0}],"mPt":[{"c":"ف","l":0,"m":1},{"c":"ع","l":1,"m":2},{"c":"ل","l":2,"m":3}]},{"pt":[{"c":"و","l":2}],"mPt":[{"c":"ف","l":0,"m":0},{"c":"ع","l":1,"m":1},{"c":"ل","l":2,"m":3}]},{"pt":[{"c":"ا","l":2}]},{"pt":[{"c":"ي","l":2}],"mPt":[{"c":"ف","l":0,"m":0},{"c":"ع","l":1,"m":1},{"c":"ا","l":2},{"c":"ل","l":3,"m":3}]},{"pt":[{"c":"م","l":0}]}],"pt53":[{"pt":[{"c":"ت","l":0},{"c":"ا","l":2}]},{"pt":[{"c":"ا,ن,ت,ي","l":0},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ت","l":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"ا","l":0},{"c":"ا","l":2}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ع","l":2,"m":3},{"c":"ل","l":3,"m":4},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"ا","l":0},{"c":"ا","l":3}],"mPt":[{"c":"ف","l":0,"m":1},{"c":"ع","l":1,"m":2},{"c":"ل","l":2,"m":4}]},{"pt":[{"c":"ا","l":3},{"c":"ن","l":4}]},{"pt":[{"c":"ت","l":0},{"c":"ي","l":3}]},{"pt":[{"c":"م","l":0},{"c":"و","l":3}]},{"pt":[{"c":"ا","l":1},{"c":"و","l":3}]},{"pt":[{"c":"و","l":1},{"c":"ا","l":2}]},{"pt":[{"c":"م","l":0},{"c":"ا","l":3}]},{"pt":[{"c":"م","l":0},{"c":"ي","l":3}]},{"pt":[{"c":"ا","l":2},{"c":"ن","l":3}]},{"pt":[{"c":"م","l":0},{"c":"ن","l":1}],"mPt":[{"c":"ا","l":0},{"c":"ن","l":1},{"c":"ف","l":2,"m":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"م","l":0},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ت","l":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"م","l":0},{"c":"ا","l":2}]},{"pt":[{"c":"م","l":1},{"c":"ا","l":3}]},{"pt":[{"c":"ي,ت,ا,ن","l":0},{"c":"ت","l":1}],"mPt":[{"c":"ف","l":0,"m":2},{"c":"ع","l":1,"m":3},{"c":"ا","l":2},{"c":"ل","l":3,"m":4}]},{"pt":[{"c":"ت,ي,ا,ن","l":0},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ت","l":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"ا","l":2},{"c":"ي","l":3}]},{"pt":[{"c":"ا,ي,ت,ن","l":0},{"c":"ن","l":1}],"mPt":[{"c":"ا","l":0},{"c":"ن","l":1},{"c":"ف","l":2,"m":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"ا","l":3},{"c":"ء","l":4}]}],"pt63":[{"pt":[{"c":"ا","l":0},{"c":"ت","l":2},{"c":"ا","l":4}]},{"pt":[{"c":"ا,ت,ن,ي","l":0},{"c":"س","l":1},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"س","l":1},{"c":"ت","l":2},{"c":"ف","l":3,"m":3},{"c":"ع","l":4,"m":4},{"c":"ا","l":5},{"c":"ل","l":6,"m":5}]},{"pt":[{"c":"ا,ن,ت,ي","l":0},{"c":"و","l":3}]},{"pt":[{"c":"م","l":0},{"c":"س","l":1},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"س","l":1},{"c":"ت","l":2},{"c":"ف","l":3,"m":3},{"c":"ع","l":4,"m":4},{"c":"ا","l":5},{"c":"ل","l":6,"m":5}]},{"pt":[{"c":"ي","l":1},{"c":"ي","l":3},{"c":"ا","l":4},{"c":"ء","l":5}]},{"pt":[{"c":"ا","l":0},{"c":"ن","l":1},{"c":"ا","l":4}]}],"pt54":[{"pt":[{"c":"ت","l":0}]},{"pt":[{"c":"ا,ي,ت,ن","l":0}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ع","l":2,"m":2},{"c":"ل","l":3,"m":3},{"c":"ر","l":4,"m":4},{"c":"ا","l":5},{"c":"ر","l":6,"m":4}]},{"pt":[{"c":"م","l":0}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ع","l":2,"m":2},{"c":"ل","l":3,"m":3},{"c":"ر","l":4,"m":4},{"c":"ا","l":5},{"c":"ر","l":6,"m":4}]},{"pt":[{"c":"ا","l":2}]},{"pt":[{"c":"ا","l":0},{"c":"ن","l":2}]}],"pt64":[{"pt":[{"c":"ا","l":0},{"c":"ا","l":4}]},{"pt":[{"c":"م","l":0},{"c":"ت","l":1}]}],"pt73":[{"pt":[{"c":"ا","l":0},{"c":"س","l":1},{"c":"ت","l":2},{"c":"ا","l":5}]}],"pt75":[{"pt":[{"c":"ا","l":0},{"c":"ا","l":5}]}]}'),e.execArray=["cleanWord","removeDiacritics","cleanAlef","removeStopWords","normalizeHamzaAndAlef","removeStartWaw","removePre432","removeEndTaa","wordCheck"],e.stem=function(){var r=0;for(e.result=!1,e.preRemoved=!1,e.sufRemoved=!1;r=0)return!0},e.normalizeHamzaAndAlef=function(){return e.word=e.word.replace("ؤ","ء"),e.word=e.word.replace("ئ","ء"),e.word=e.word.replace(/([\u0627])\1+/gi,"ا"),!1},e.removeEndTaa=function(){return!(e.word.length>2)||(e.word=e.word.replace(/[\u0627]$/,""),e.word=e.word.replace("ة",""),!1)},e.removeStartWaw=function(){return e.word.length>3&&"و"==e.word[0]&&"و"==e.word[1]&&(e.word=e.word.slice(1)),!1},e.removePre432=function(){var r=e.word;if(e.word.length>=7){var t=new RegExp("^("+e.pre.pre4.split(" ").join("|")+")");e.word=e.word.replace(t,"")}if(e.word==r&&e.word.length>=6){var c=new RegExp("^("+e.pre.pre3.split(" ").join("|")+")");e.word=e.word.replace(c,"")}if(e.word==r&&e.word.length>=5){var l=new RegExp("^("+e.pre.pre2.split(" ").join("|")+")");e.word=e.word.replace(l,"")}return r!=e.word&&(e.preRemoved=!0),!1},e.patternCheck=function(r){for(var t=0;t3){var t=new RegExp("^("+e.pre.pre1.split(" ").join("|")+")");e.word=e.word.replace(t,"")}return r!=e.word&&(e.preRemoved=!0),!1},e.removeSuf1=function(){var r=e.word;if(0==e.sufRemoved&&e.word.length>3){var t=new RegExp("("+e.suf.suf1.split(" ").join("|")+")$");e.word=e.word.replace(t,"")}return r!=e.word&&(e.sufRemoved=!0),!1},e.removeSuf432=function(){var r=e.word;if(e.word.length>=6){var t=new RegExp("("+e.suf.suf4.split(" ").join("|")+")$");e.word=e.word.replace(t,"")}if(e.word==r&&e.word.length>=5){var c=new RegExp("("+e.suf.suf3.split(" ").join("|")+")$");e.word=e.word.replace(c,"")}if(e.word==r&&e.word.length>=4){var l=new RegExp("("+e.suf.suf2.split(" ").join("|")+")$");e.word=e.word.replace(l,"")}return r!=e.word&&(e.sufRemoved=!0),!1},e.wordCheck=function(){for(var r=(e.word,[e.removeSuf432,e.removeSuf1,e.removePre1]),t=0,c=!1;e.word.length>=7&&!e.result&&t=f.limit)return;f.cursor++}for(;!f.out_grouping(w,97,248);){if(f.cursor>=f.limit)return;f.cursor++}d=f.cursor,d=d&&(r=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,e=f.find_among_b(c,32),f.limit_backward=r,e))switch(f.bra=f.cursor,e){case 1:f.slice_del();break;case 2:f.in_grouping_b(p,97,229)&&f.slice_del()}}function t(){var e,r=f.limit-f.cursor;f.cursor>=d&&(e=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,f.find_among_b(l,4)?(f.bra=f.cursor,f.limit_backward=e,f.cursor=f.limit-r,f.cursor>f.limit_backward&&(f.cursor--,f.bra=f.cursor,f.slice_del())):f.limit_backward=e)}function s(){var e,r,i,n=f.limit-f.cursor;if(f.ket=f.cursor,f.eq_s_b(2,"st")&&(f.bra=f.cursor,f.eq_s_b(2,"ig")&&f.slice_del()),f.cursor=f.limit-n,f.cursor>=d&&(r=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,e=f.find_among_b(m,5),f.limit_backward=r,e))switch(f.bra=f.cursor,e){case 1:f.slice_del(),i=f.limit-f.cursor,t(),f.cursor=f.limit-i;break;case 2:f.slice_from("løs")}}function o(){var e;f.cursor>=d&&(e=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,f.out_grouping_b(w,97,248)?(f.bra=f.cursor,u=f.slice_to(u),f.limit_backward=e,f.eq_v_b(u)&&f.slice_del()):f.limit_backward=e)}var a,d,u,c=[new r("hed",-1,1),new r("ethed",0,1),new r("ered",-1,1),new r("e",-1,1),new r("erede",3,1),new r("ende",3,1),new r("erende",5,1),new r("ene",3,1),new r("erne",3,1),new r("ere",3,1),new r("en",-1,1),new r("heden",10,1),new r("eren",10,1),new r("er",-1,1),new r("heder",13,1),new r("erer",13,1),new r("s",-1,2),new r("heds",16,1),new r("es",16,1),new r("endes",18,1),new r("erendes",19,1),new r("enes",18,1),new r("ernes",18,1),new r("eres",18,1),new r("ens",16,1),new r("hedens",24,1),new r("erens",24,1),new r("ers",16,1),new r("ets",16,1),new r("erets",28,1),new r("et",-1,1),new r("eret",30,1)],l=[new r("gd",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1)],m=[new r("ig",-1,1),new r("lig",0,1),new r("elig",1,1),new r("els",-1,1),new r("løst",-1,2)],w=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],p=[239,254,42,3,0,0,0,0,0,0,0,0,0,0,0,0,16],f=new i;this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var r=f.cursor;return e(),f.limit_backward=r,f.cursor=f.limit,n(),f.cursor=f.limit,t(),f.cursor=f.limit,s(),f.cursor=f.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.da.stemmer,"stemmer-da"),e.da.stopWordFilter=e.generateStopWordFilter("ad af alle alt anden at blev blive bliver da de dem den denne der deres det dette dig din disse dog du efter eller en end er et for fra ham han hans har havde have hende hendes her hos hun hvad hvis hvor i ikke ind jeg jer jo kunne man mange med meget men mig min mine mit mod ned noget nogle nu når og også om op os over på selv sig sin sine sit skal skulle som sådan thi til ud under var vi vil ville vor være været".split(" ")),e.Pipeline.registerFunction(e.da.stopWordFilter,"stopWordFilter-da")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.de.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.de.min.js new file mode 100644 index 0000000000..f3b5c108c9 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.de.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `German` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.de=function(){this.pipeline.reset(),this.pipeline.add(e.de.trimmer,e.de.stopWordFilter,e.de.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.de.stemmer))},e.de.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.de.trimmer=e.trimmerSupport.generateTrimmer(e.de.wordCharacters),e.Pipeline.registerFunction(e.de.trimmer,"trimmer-de"),e.de.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){function e(e,r,n){return!(!v.eq_s(1,e)||(v.ket=v.cursor,!v.in_grouping(p,97,252)))&&(v.slice_from(r),v.cursor=n,!0)}function i(){for(var r,n,i,s,t=v.cursor;;)if(r=v.cursor,v.bra=r,v.eq_s(1,"ß"))v.ket=v.cursor,v.slice_from("ss");else{if(r>=v.limit)break;v.cursor=r+1}for(v.cursor=t;;)for(n=v.cursor;;){if(i=v.cursor,v.in_grouping(p,97,252)){if(s=v.cursor,v.bra=s,e("u","U",i))break;if(v.cursor=s,e("y","Y",i))break}if(i>=v.limit)return void(v.cursor=n);v.cursor=i+1}}function s(){for(;!v.in_grouping(p,97,252);){if(v.cursor>=v.limit)return!0;v.cursor++}for(;!v.out_grouping(p,97,252);){if(v.cursor>=v.limit)return!0;v.cursor++}return!1}function t(){m=v.limit,l=m;var e=v.cursor+3;0<=e&&e<=v.limit&&(d=e,s()||(m=v.cursor,m=v.limit)return;v.cursor++}}}function c(){return m<=v.cursor}function u(){return l<=v.cursor}function a(){var e,r,n,i,s=v.limit-v.cursor;if(v.ket=v.cursor,(e=v.find_among_b(w,7))&&(v.bra=v.cursor,c()))switch(e){case 1:v.slice_del();break;case 2:v.slice_del(),v.ket=v.cursor,v.eq_s_b(1,"s")&&(v.bra=v.cursor,v.eq_s_b(3,"nis")&&v.slice_del());break;case 3:v.in_grouping_b(g,98,116)&&v.slice_del()}if(v.cursor=v.limit-s,v.ket=v.cursor,(e=v.find_among_b(f,4))&&(v.bra=v.cursor,c()))switch(e){case 1:v.slice_del();break;case 2:if(v.in_grouping_b(k,98,116)){var t=v.cursor-3;v.limit_backward<=t&&t<=v.limit&&(v.cursor=t,v.slice_del())}}if(v.cursor=v.limit-s,v.ket=v.cursor,(e=v.find_among_b(_,8))&&(v.bra=v.cursor,u()))switch(e){case 1:v.slice_del(),v.ket=v.cursor,v.eq_s_b(2,"ig")&&(v.bra=v.cursor,r=v.limit-v.cursor,v.eq_s_b(1,"e")||(v.cursor=v.limit-r,u()&&v.slice_del()));break;case 2:n=v.limit-v.cursor,v.eq_s_b(1,"e")||(v.cursor=v.limit-n,v.slice_del());break;case 3:if(v.slice_del(),v.ket=v.cursor,i=v.limit-v.cursor,!v.eq_s_b(2,"er")&&(v.cursor=v.limit-i,!v.eq_s_b(2,"en")))break;v.bra=v.cursor,c()&&v.slice_del();break;case 4:v.slice_del(),v.ket=v.cursor,e=v.find_among_b(b,2),e&&(v.bra=v.cursor,u()&&1==e&&v.slice_del())}}var d,l,m,h=[new r("",-1,6),new r("U",0,2),new r("Y",0,1),new r("ä",0,3),new r("ö",0,4),new r("ü",0,5)],w=[new r("e",-1,2),new r("em",-1,1),new r("en",-1,2),new r("ern",-1,1),new r("er",-1,1),new r("s",-1,3),new r("es",5,2)],f=[new r("en",-1,1),new r("er",-1,1),new r("st",-1,2),new r("est",2,1)],b=[new r("ig",-1,1),new r("lich",-1,1)],_=[new r("end",-1,1),new r("ig",-1,2),new r("ung",-1,1),new r("lich",-1,3),new r("isch",-1,2),new r("ik",-1,2),new r("heit",-1,3),new r("keit",-1,4)],p=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32,8],g=[117,30,5],k=[117,30,4],v=new n;this.setCurrent=function(e){v.setCurrent(e)},this.getCurrent=function(){return v.getCurrent()},this.stem=function(){var e=v.cursor;return i(),v.cursor=e,t(),v.limit_backward=e,v.cursor=v.limit,a(),v.cursor=v.limit_backward,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.de.stemmer,"stemmer-de"),e.de.stopWordFilter=e.generateStopWordFilter("aber alle allem allen aller alles als also am an ander andere anderem anderen anderer anderes anderm andern anderr anders auch auf aus bei bin bis bist da damit dann das dasselbe dazu daß dein deine deinem deinen deiner deines dem demselben den denn denselben der derer derselbe derselben des desselben dessen dich die dies diese dieselbe dieselben diesem diesen dieser dieses dir doch dort du durch ein eine einem einen einer eines einig einige einigem einigen einiger einiges einmal er es etwas euch euer eure eurem euren eurer eures für gegen gewesen hab habe haben hat hatte hatten hier hin hinter ich ihm ihn ihnen ihr ihre ihrem ihren ihrer ihres im in indem ins ist jede jedem jeden jeder jedes jene jenem jenen jener jenes jetzt kann kein keine keinem keinen keiner keines können könnte machen man manche manchem manchen mancher manches mein meine meinem meinen meiner meines mich mir mit muss musste nach nicht nichts noch nun nur ob oder ohne sehr sein seine seinem seinen seiner seines selbst sich sie sind so solche solchem solchen solcher solches soll sollte sondern sonst um und uns unse unsem unsen unser unses unter viel vom von vor war waren warst was weg weil weiter welche welchem welchen welcher welches wenn werde werden wie wieder will wir wird wirst wo wollen wollte während würde würden zu zum zur zwar zwischen über".split(" ")),e.Pipeline.registerFunction(e.de.stopWordFilter,"stopWordFilter-de")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.du.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.du.min.js new file mode 100644 index 0000000000..49a0f3f0ac --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.du.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Dutch` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");console.warn('[Lunr Languages] Please use the "nl" instead of the "du". The "nl" code is the standard code for Dutch language, and "du" will be removed in the next major versions.'),e.du=function(){this.pipeline.reset(),this.pipeline.add(e.du.trimmer,e.du.stopWordFilter,e.du.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.du.stemmer))},e.du.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.du.trimmer=e.trimmerSupport.generateTrimmer(e.du.wordCharacters),e.Pipeline.registerFunction(e.du.trimmer,"trimmer-du"),e.du.stemmer=function(){var r=e.stemmerSupport.Among,i=e.stemmerSupport.SnowballProgram,n=new function(){function e(){for(var e,r,i,o=C.cursor;;){if(C.bra=C.cursor,e=C.find_among(b,11))switch(C.ket=C.cursor,e){case 1:C.slice_from("a");continue;case 2:C.slice_from("e");continue;case 3:C.slice_from("i");continue;case 4:C.slice_from("o");continue;case 5:C.slice_from("u");continue;case 6:if(C.cursor>=C.limit)break;C.cursor++;continue}break}for(C.cursor=o,C.bra=o,C.eq_s(1,"y")?(C.ket=C.cursor,C.slice_from("Y")):C.cursor=o;;)if(r=C.cursor,C.in_grouping(q,97,232)){if(i=C.cursor,C.bra=i,C.eq_s(1,"i"))C.ket=C.cursor,C.in_grouping(q,97,232)&&(C.slice_from("I"),C.cursor=r);else if(C.cursor=i,C.eq_s(1,"y"))C.ket=C.cursor,C.slice_from("Y"),C.cursor=r;else if(n(r))break}else if(n(r))break}function n(e){return C.cursor=e,e>=C.limit||(C.cursor++,!1)}function o(){_=C.limit,f=_,t()||(_=C.cursor,_<3&&(_=3),t()||(f=C.cursor))}function t(){for(;!C.in_grouping(q,97,232);){if(C.cursor>=C.limit)return!0;C.cursor++}for(;!C.out_grouping(q,97,232);){if(C.cursor>=C.limit)return!0;C.cursor++}return!1}function s(){for(var e;;)if(C.bra=C.cursor,e=C.find_among(p,3))switch(C.ket=C.cursor,e){case 1:C.slice_from("y");break;case 2:C.slice_from("i");break;case 3:if(C.cursor>=C.limit)return;C.cursor++}}function u(){return _<=C.cursor}function c(){return f<=C.cursor}function a(){var e=C.limit-C.cursor;C.find_among_b(g,3)&&(C.cursor=C.limit-e,C.ket=C.cursor,C.cursor>C.limit_backward&&(C.cursor--,C.bra=C.cursor,C.slice_del()))}function l(){var e;w=!1,C.ket=C.cursor,C.eq_s_b(1,"e")&&(C.bra=C.cursor,u()&&(e=C.limit-C.cursor,C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-e,C.slice_del(),w=!0,a())))}function m(){var e;u()&&(e=C.limit-C.cursor,C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-e,C.eq_s_b(3,"gem")||(C.cursor=C.limit-e,C.slice_del(),a())))}function d(){var e,r,i,n,o,t,s=C.limit-C.cursor;if(C.ket=C.cursor,e=C.find_among_b(h,5))switch(C.bra=C.cursor,e){case 1:u()&&C.slice_from("heid");break;case 2:m();break;case 3:u()&&C.out_grouping_b(z,97,232)&&C.slice_del()}if(C.cursor=C.limit-s,l(),C.cursor=C.limit-s,C.ket=C.cursor,C.eq_s_b(4,"heid")&&(C.bra=C.cursor,c()&&(r=C.limit-C.cursor,C.eq_s_b(1,"c")||(C.cursor=C.limit-r,C.slice_del(),C.ket=C.cursor,C.eq_s_b(2,"en")&&(C.bra=C.cursor,m())))),C.cursor=C.limit-s,C.ket=C.cursor,e=C.find_among_b(k,6))switch(C.bra=C.cursor,e){case 1:if(c()){if(C.slice_del(),i=C.limit-C.cursor,C.ket=C.cursor,C.eq_s_b(2,"ig")&&(C.bra=C.cursor,c()&&(n=C.limit-C.cursor,!C.eq_s_b(1,"e")))){C.cursor=C.limit-n,C.slice_del();break}C.cursor=C.limit-i,a()}break;case 2:c()&&(o=C.limit-C.cursor,C.eq_s_b(1,"e")||(C.cursor=C.limit-o,C.slice_del()));break;case 3:c()&&(C.slice_del(),l());break;case 4:c()&&C.slice_del();break;case 5:c()&&w&&C.slice_del()}C.cursor=C.limit-s,C.out_grouping_b(j,73,232)&&(t=C.limit-C.cursor,C.find_among_b(v,4)&&C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-t,C.ket=C.cursor,C.cursor>C.limit_backward&&(C.cursor--,C.bra=C.cursor,C.slice_del())))}var f,_,w,b=[new r("",-1,6),new r("á",0,1),new r("ä",0,1),new r("é",0,2),new r("ë",0,2),new r("í",0,3),new r("ï",0,3),new r("ó",0,4),new r("ö",0,4),new r("ú",0,5),new r("ü",0,5)],p=[new r("",-1,3),new r("I",0,2),new r("Y",0,1)],g=[new r("dd",-1,-1),new r("kk",-1,-1),new r("tt",-1,-1)],h=[new r("ene",-1,2),new r("se",-1,3),new r("en",-1,2),new r("heden",2,1),new r("s",-1,3)],k=[new r("end",-1,1),new r("ig",-1,2),new r("ing",-1,1),new r("lijk",-1,3),new r("baar",-1,4),new r("bar",-1,5)],v=[new r("aa",-1,-1),new r("ee",-1,-1),new r("oo",-1,-1),new r("uu",-1,-1)],q=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],j=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],z=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],C=new i;this.setCurrent=function(e){C.setCurrent(e)},this.getCurrent=function(){return C.getCurrent()},this.stem=function(){var r=C.cursor;return e(),C.cursor=r,o(),C.limit_backward=r,C.cursor=C.limit,d(),C.cursor=C.limit_backward,s(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.du.stemmer,"stemmer-du"),e.du.stopWordFilter=e.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),e.Pipeline.registerFunction(e.du.stopWordFilter,"stopWordFilter-du")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.es.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.es.min.js new file mode 100644 index 0000000000..2989d34265 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.es.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Spanish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,s){"function"==typeof define&&define.amd?define(s):"object"==typeof exports?module.exports=s():s()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.es=function(){this.pipeline.reset(),this.pipeline.add(e.es.trimmer,e.es.stopWordFilter,e.es.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.es.stemmer))},e.es.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.es.trimmer=e.trimmerSupport.generateTrimmer(e.es.wordCharacters),e.Pipeline.registerFunction(e.es.trimmer,"trimmer-es"),e.es.stemmer=function(){var s=e.stemmerSupport.Among,r=e.stemmerSupport.SnowballProgram,n=new function(){function e(){if(A.out_grouping(x,97,252)){for(;!A.in_grouping(x,97,252);){if(A.cursor>=A.limit)return!0;A.cursor++}return!1}return!0}function n(){if(A.in_grouping(x,97,252)){var s=A.cursor;if(e()){if(A.cursor=s,!A.in_grouping(x,97,252))return!0;for(;!A.out_grouping(x,97,252);){if(A.cursor>=A.limit)return!0;A.cursor++}}return!1}return!0}function i(){var s,r=A.cursor;if(n()){if(A.cursor=r,!A.out_grouping(x,97,252))return;if(s=A.cursor,e()){if(A.cursor=s,!A.in_grouping(x,97,252)||A.cursor>=A.limit)return;A.cursor++}}g=A.cursor}function a(){for(;!A.in_grouping(x,97,252);){if(A.cursor>=A.limit)return!1;A.cursor++}for(;!A.out_grouping(x,97,252);){if(A.cursor>=A.limit)return!1;A.cursor++}return!0}function t(){var e=A.cursor;g=A.limit,p=g,v=g,i(),A.cursor=e,a()&&(p=A.cursor,a()&&(v=A.cursor))}function o(){for(var e;;){if(A.bra=A.cursor,e=A.find_among(k,6))switch(A.ket=A.cursor,e){case 1:A.slice_from("a");continue;case 2:A.slice_from("e");continue;case 3:A.slice_from("i");continue;case 4:A.slice_from("o");continue;case 5:A.slice_from("u");continue;case 6:if(A.cursor>=A.limit)break;A.cursor++;continue}break}}function u(){return g<=A.cursor}function w(){return p<=A.cursor}function c(){return v<=A.cursor}function m(){var e;if(A.ket=A.cursor,A.find_among_b(y,13)&&(A.bra=A.cursor,(e=A.find_among_b(q,11))&&u()))switch(e){case 1:A.bra=A.cursor,A.slice_from("iendo");break;case 2:A.bra=A.cursor,A.slice_from("ando");break;case 3:A.bra=A.cursor,A.slice_from("ar");break;case 4:A.bra=A.cursor,A.slice_from("er");break;case 5:A.bra=A.cursor,A.slice_from("ir");break;case 6:A.slice_del();break;case 7:A.eq_s_b(1,"u")&&A.slice_del()}}function l(e,s){if(!c())return!0;A.slice_del(),A.ket=A.cursor;var r=A.find_among_b(e,s);return r&&(A.bra=A.cursor,1==r&&c()&&A.slice_del()),!1}function d(e){return!c()||(A.slice_del(),A.ket=A.cursor,A.eq_s_b(2,e)&&(A.bra=A.cursor,c()&&A.slice_del()),!1)}function b(){var e;if(A.ket=A.cursor,e=A.find_among_b(S,46)){switch(A.bra=A.cursor,e){case 1:if(!c())return!1;A.slice_del();break;case 2:if(d("ic"))return!1;break;case 3:if(!c())return!1;A.slice_from("log");break;case 4:if(!c())return!1;A.slice_from("u");break;case 5:if(!c())return!1;A.slice_from("ente");break;case 6:if(!w())return!1;A.slice_del(),A.ket=A.cursor,e=A.find_among_b(C,4),e&&(A.bra=A.cursor,c()&&(A.slice_del(),1==e&&(A.ket=A.cursor,A.eq_s_b(2,"at")&&(A.bra=A.cursor,c()&&A.slice_del()))));break;case 7:if(l(P,3))return!1;break;case 8:if(l(F,3))return!1;break;case 9:if(d("at"))return!1}return!0}return!1}function f(){var e,s;if(A.cursor>=g&&(s=A.limit_backward,A.limit_backward=g,A.ket=A.cursor,e=A.find_among_b(W,12),A.limit_backward=s,e)){if(A.bra=A.cursor,1==e){if(!A.eq_s_b(1,"u"))return!1;A.slice_del()}return!0}return!1}function _(){var e,s,r,n;if(A.cursor>=g&&(s=A.limit_backward,A.limit_backward=g,A.ket=A.cursor,e=A.find_among_b(L,96),A.limit_backward=s,e))switch(A.bra=A.cursor,e){case 1:r=A.limit-A.cursor,A.eq_s_b(1,"u")?(n=A.limit-A.cursor,A.eq_s_b(1,"g")?A.cursor=A.limit-n:A.cursor=A.limit-r):A.cursor=A.limit-r,A.bra=A.cursor;case 2:A.slice_del()}}function h(){var e,s;if(A.ket=A.cursor,e=A.find_among_b(z,8))switch(A.bra=A.cursor,e){case 1:u()&&A.slice_del();break;case 2:u()&&(A.slice_del(),A.ket=A.cursor,A.eq_s_b(1,"u")&&(A.bra=A.cursor,s=A.limit-A.cursor,A.eq_s_b(1,"g")&&(A.cursor=A.limit-s,u()&&A.slice_del())))}}var v,p,g,k=[new s("",-1,6),new s("á",0,1),new s("é",0,2),new s("í",0,3),new s("ó",0,4),new s("ú",0,5)],y=[new s("la",-1,-1),new s("sela",0,-1),new s("le",-1,-1),new s("me",-1,-1),new s("se",-1,-1),new s("lo",-1,-1),new s("selo",5,-1),new s("las",-1,-1),new s("selas",7,-1),new s("les",-1,-1),new s("los",-1,-1),new s("selos",10,-1),new s("nos",-1,-1)],q=[new s("ando",-1,6),new s("iendo",-1,6),new s("yendo",-1,7),new s("ándo",-1,2),new s("iéndo",-1,1),new s("ar",-1,6),new s("er",-1,6),new s("ir",-1,6),new s("ár",-1,3),new s("ér",-1,4),new s("ír",-1,5)],C=[new s("ic",-1,-1),new s("ad",-1,-1),new s("os",-1,-1),new s("iv",-1,1)],P=[new s("able",-1,1),new s("ible",-1,1),new s("ante",-1,1)],F=[new s("ic",-1,1),new s("abil",-1,1),new s("iv",-1,1)],S=[new s("ica",-1,1),new s("ancia",-1,2),new s("encia",-1,5),new s("adora",-1,2),new s("osa",-1,1),new s("ista",-1,1),new s("iva",-1,9),new s("anza",-1,1),new s("logía",-1,3),new s("idad",-1,8),new s("able",-1,1),new s("ible",-1,1),new s("ante",-1,2),new s("mente",-1,7),new s("amente",13,6),new s("ación",-1,2),new s("ución",-1,4),new s("ico",-1,1),new s("ismo",-1,1),new s("oso",-1,1),new s("amiento",-1,1),new s("imiento",-1,1),new s("ivo",-1,9),new s("ador",-1,2),new s("icas",-1,1),new s("ancias",-1,2),new s("encias",-1,5),new s("adoras",-1,2),new s("osas",-1,1),new s("istas",-1,1),new s("ivas",-1,9),new s("anzas",-1,1),new s("logías",-1,3),new s("idades",-1,8),new s("ables",-1,1),new s("ibles",-1,1),new s("aciones",-1,2),new s("uciones",-1,4),new s("adores",-1,2),new s("antes",-1,2),new s("icos",-1,1),new s("ismos",-1,1),new s("osos",-1,1),new s("amientos",-1,1),new s("imientos",-1,1),new s("ivos",-1,9)],W=[new s("ya",-1,1),new s("ye",-1,1),new s("yan",-1,1),new s("yen",-1,1),new s("yeron",-1,1),new s("yendo",-1,1),new s("yo",-1,1),new s("yas",-1,1),new s("yes",-1,1),new s("yais",-1,1),new s("yamos",-1,1),new s("yó",-1,1)],L=[new s("aba",-1,2),new s("ada",-1,2),new s("ida",-1,2),new s("ara",-1,2),new s("iera",-1,2),new s("ía",-1,2),new s("aría",5,2),new s("ería",5,2),new s("iría",5,2),new s("ad",-1,2),new s("ed",-1,2),new s("id",-1,2),new s("ase",-1,2),new s("iese",-1,2),new s("aste",-1,2),new s("iste",-1,2),new s("an",-1,2),new s("aban",16,2),new s("aran",16,2),new s("ieran",16,2),new s("ían",16,2),new s("arían",20,2),new s("erían",20,2),new s("irían",20,2),new s("en",-1,1),new s("asen",24,2),new s("iesen",24,2),new s("aron",-1,2),new s("ieron",-1,2),new s("arán",-1,2),new s("erán",-1,2),new s("irán",-1,2),new s("ado",-1,2),new s("ido",-1,2),new s("ando",-1,2),new s("iendo",-1,2),new s("ar",-1,2),new s("er",-1,2),new s("ir",-1,2),new s("as",-1,2),new s("abas",39,2),new s("adas",39,2),new s("idas",39,2),new s("aras",39,2),new s("ieras",39,2),new s("ías",39,2),new s("arías",45,2),new s("erías",45,2),new s("irías",45,2),new s("es",-1,1),new s("ases",49,2),new s("ieses",49,2),new s("abais",-1,2),new s("arais",-1,2),new s("ierais",-1,2),new s("íais",-1,2),new s("aríais",55,2),new s("eríais",55,2),new s("iríais",55,2),new s("aseis",-1,2),new s("ieseis",-1,2),new s("asteis",-1,2),new s("isteis",-1,2),new s("áis",-1,2),new s("éis",-1,1),new s("aréis",64,2),new s("eréis",64,2),new s("iréis",64,2),new s("ados",-1,2),new s("idos",-1,2),new s("amos",-1,2),new s("ábamos",70,2),new s("áramos",70,2),new s("iéramos",70,2),new s("íamos",70,2),new s("aríamos",74,2),new s("eríamos",74,2),new s("iríamos",74,2),new s("emos",-1,1),new s("aremos",78,2),new s("eremos",78,2),new s("iremos",78,2),new s("ásemos",78,2),new s("iésemos",78,2),new s("imos",-1,2),new s("arás",-1,2),new s("erás",-1,2),new s("irás",-1,2),new s("ís",-1,2),new s("ará",-1,2),new s("erá",-1,2),new s("irá",-1,2),new s("aré",-1,2),new s("eré",-1,2),new s("iré",-1,2),new s("ió",-1,2)],z=[new s("a",-1,1),new s("e",-1,2),new s("o",-1,1),new s("os",-1,1),new s("á",-1,1),new s("é",-1,2),new s("í",-1,1),new s("ó",-1,1)],x=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,4,10],A=new r;this.setCurrent=function(e){A.setCurrent(e)},this.getCurrent=function(){return A.getCurrent()},this.stem=function(){var e=A.cursor;return t(),A.limit_backward=e,A.cursor=A.limit,m(),A.cursor=A.limit,b()||(A.cursor=A.limit,f()||(A.cursor=A.limit,_())),A.cursor=A.limit,h(),A.cursor=A.limit_backward,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.es.stemmer,"stemmer-es"),e.es.stopWordFilter=e.generateStopWordFilter("a al algo algunas algunos ante antes como con contra cual cuando de del desde donde durante e el ella ellas ellos en entre era erais eran eras eres es esa esas ese eso esos esta estaba estabais estaban estabas estad estada estadas estado estados estamos estando estar estaremos estará estarán estarás estaré estaréis estaría estaríais estaríamos estarían estarías estas este estemos esto estos estoy estuve estuviera estuvierais estuvieran estuvieras estuvieron estuviese estuvieseis estuviesen estuvieses estuvimos estuviste estuvisteis estuviéramos estuviésemos estuvo está estábamos estáis están estás esté estéis estén estés fue fuera fuerais fueran fueras fueron fuese fueseis fuesen fueses fui fuimos fuiste fuisteis fuéramos fuésemos ha habida habidas habido habidos habiendo habremos habrá habrán habrás habré habréis habría habríais habríamos habrían habrías habéis había habíais habíamos habían habías han has hasta hay haya hayamos hayan hayas hayáis he hemos hube hubiera hubierais hubieran hubieras hubieron hubiese hubieseis hubiesen hubieses hubimos hubiste hubisteis hubiéramos hubiésemos hubo la las le les lo los me mi mis mucho muchos muy más mí mía mías mío míos nada ni no nos nosotras nosotros nuestra nuestras nuestro nuestros o os otra otras otro otros para pero poco por porque que quien quienes qué se sea seamos sean seas seremos será serán serás seré seréis sería seríais seríamos serían serías seáis sido siendo sin sobre sois somos son soy su sus suya suyas suyo suyos sí también tanto te tendremos tendrá tendrán tendrás tendré tendréis tendría tendríais tendríamos tendrían tendrías tened tenemos tenga tengamos tengan tengas tengo tengáis tenida tenidas tenido tenidos teniendo tenéis tenía teníais teníamos tenían tenías ti tiene tienen tienes todo todos tu tus tuve tuviera tuvierais tuvieran tuvieras tuvieron tuviese tuvieseis tuviesen tuvieses tuvimos tuviste tuvisteis tuviéramos tuviésemos tuvo tuya tuyas tuyo tuyos tú un una uno unos vosotras vosotros vuestra vuestras vuestro vuestros y ya yo él éramos".split(" ")),e.Pipeline.registerFunction(e.es.stopWordFilter,"stopWordFilter-es")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.fi.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.fi.min.js new file mode 100644 index 0000000000..29f5dfcea8 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.fi.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Finnish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(i,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():e()(i.lunr)}(this,function(){return function(i){if(void 0===i)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===i.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");i.fi=function(){this.pipeline.reset(),this.pipeline.add(i.fi.trimmer,i.fi.stopWordFilter,i.fi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(i.fi.stemmer))},i.fi.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",i.fi.trimmer=i.trimmerSupport.generateTrimmer(i.fi.wordCharacters),i.Pipeline.registerFunction(i.fi.trimmer,"trimmer-fi"),i.fi.stemmer=function(){var e=i.stemmerSupport.Among,r=i.stemmerSupport.SnowballProgram,n=new function(){function i(){f=A.limit,d=f,n()||(f=A.cursor,n()||(d=A.cursor))}function n(){for(var i;;){if(i=A.cursor,A.in_grouping(W,97,246))break;if(A.cursor=i,i>=A.limit)return!0;A.cursor++}for(A.cursor=i;!A.out_grouping(W,97,246);){if(A.cursor>=A.limit)return!0;A.cursor++}return!1}function t(){return d<=A.cursor}function s(){var i,e;if(A.cursor>=f)if(e=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,i=A.find_among_b(h,10)){switch(A.bra=A.cursor,A.limit_backward=e,i){case 1:if(!A.in_grouping_b(x,97,246))return;break;case 2:if(!t())return}A.slice_del()}else A.limit_backward=e}function o(){var i,e,r;if(A.cursor>=f)if(e=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,i=A.find_among_b(v,9))switch(A.bra=A.cursor,A.limit_backward=e,i){case 1:r=A.limit-A.cursor,A.eq_s_b(1,"k")||(A.cursor=A.limit-r,A.slice_del());break;case 2:A.slice_del(),A.ket=A.cursor,A.eq_s_b(3,"kse")&&(A.bra=A.cursor,A.slice_from("ksi"));break;case 3:A.slice_del();break;case 4:A.find_among_b(p,6)&&A.slice_del();break;case 5:A.find_among_b(g,6)&&A.slice_del();break;case 6:A.find_among_b(j,2)&&A.slice_del()}else A.limit_backward=e}function l(){return A.find_among_b(q,7)}function a(){return A.eq_s_b(1,"i")&&A.in_grouping_b(L,97,246)}function u(){var i,e,r;if(A.cursor>=f)if(e=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,i=A.find_among_b(C,30)){switch(A.bra=A.cursor,A.limit_backward=e,i){case 1:if(!A.eq_s_b(1,"a"))return;break;case 2:case 9:if(!A.eq_s_b(1,"e"))return;break;case 3:if(!A.eq_s_b(1,"i"))return;break;case 4:if(!A.eq_s_b(1,"o"))return;break;case 5:if(!A.eq_s_b(1,"ä"))return;break;case 6:if(!A.eq_s_b(1,"ö"))return;break;case 7:if(r=A.limit-A.cursor,!l()&&(A.cursor=A.limit-r,!A.eq_s_b(2,"ie"))){A.cursor=A.limit-r;break}if(A.cursor=A.limit-r,A.cursor<=A.limit_backward){A.cursor=A.limit-r;break}A.cursor--,A.bra=A.cursor;break;case 8:if(!A.in_grouping_b(W,97,246)||!A.out_grouping_b(W,97,246))return}A.slice_del(),k=!0}else A.limit_backward=e}function c(){var i,e,r;if(A.cursor>=d)if(e=A.limit_backward,A.limit_backward=d,A.ket=A.cursor,i=A.find_among_b(P,14)){if(A.bra=A.cursor,A.limit_backward=e,1==i){if(r=A.limit-A.cursor,A.eq_s_b(2,"po"))return;A.cursor=A.limit-r}A.slice_del()}else A.limit_backward=e}function m(){var i;A.cursor>=f&&(i=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,A.find_among_b(F,2)?(A.bra=A.cursor,A.limit_backward=i,A.slice_del()):A.limit_backward=i)}function w(){var i,e,r,n,t,s;if(A.cursor>=f){if(e=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,A.eq_s_b(1,"t")&&(A.bra=A.cursor,r=A.limit-A.cursor,A.in_grouping_b(W,97,246)&&(A.cursor=A.limit-r,A.slice_del(),A.limit_backward=e,n=A.limit-A.cursor,A.cursor>=d&&(A.cursor=d,t=A.limit_backward,A.limit_backward=A.cursor,A.cursor=A.limit-n,A.ket=A.cursor,i=A.find_among_b(S,2))))){if(A.bra=A.cursor,A.limit_backward=t,1==i){if(s=A.limit-A.cursor,A.eq_s_b(2,"po"))return;A.cursor=A.limit-s}return void A.slice_del()}A.limit_backward=e}}function _(){var i,e,r,n;if(A.cursor>=f){for(i=A.limit_backward,A.limit_backward=f,e=A.limit-A.cursor,l()&&(A.cursor=A.limit-e,A.ket=A.cursor,A.cursor>A.limit_backward&&(A.cursor--,A.bra=A.cursor,A.slice_del())),A.cursor=A.limit-e,A.ket=A.cursor,A.in_grouping_b(y,97,228)&&(A.bra=A.cursor,A.out_grouping_b(W,97,246)&&A.slice_del()),A.cursor=A.limit-e,A.ket=A.cursor,A.eq_s_b(1,"j")&&(A.bra=A.cursor,r=A.limit-A.cursor,A.eq_s_b(1,"o")?A.slice_del():(A.cursor=A.limit-r,A.eq_s_b(1,"u")&&A.slice_del())),A.cursor=A.limit-e,A.ket=A.cursor,A.eq_s_b(1,"o")&&(A.bra=A.cursor,A.eq_s_b(1,"j")&&A.slice_del()),A.cursor=A.limit-e,A.limit_backward=i;;){if(n=A.limit-A.cursor,A.out_grouping_b(W,97,246)){A.cursor=A.limit-n;break}if(A.cursor=A.limit-n,A.cursor<=A.limit_backward)return;A.cursor--}A.ket=A.cursor,A.cursor>A.limit_backward&&(A.cursor--,A.bra=A.cursor,b=A.slice_to(),A.eq_v_b(b)&&A.slice_del())}}var k,b,d,f,h=[new e("pa",-1,1),new e("sti",-1,2),new e("kaan",-1,1),new e("han",-1,1),new e("kin",-1,1),new e("hän",-1,1),new e("kään",-1,1),new e("ko",-1,1),new e("pä",-1,1),new e("kö",-1,1)],p=[new e("lla",-1,-1),new e("na",-1,-1),new e("ssa",-1,-1),new e("ta",-1,-1),new e("lta",3,-1),new e("sta",3,-1)],g=[new e("llä",-1,-1),new e("nä",-1,-1),new e("ssä",-1,-1),new e("tä",-1,-1),new e("ltä",3,-1),new e("stä",3,-1)],j=[new e("lle",-1,-1),new e("ine",-1,-1)],v=[new e("nsa",-1,3),new e("mme",-1,3),new e("nne",-1,3),new e("ni",-1,2),new e("si",-1,1),new e("an",-1,4),new e("en",-1,6),new e("än",-1,5),new e("nsä",-1,3)],q=[new e("aa",-1,-1),new e("ee",-1,-1),new e("ii",-1,-1),new e("oo",-1,-1),new e("uu",-1,-1),new e("ää",-1,-1),new e("öö",-1,-1)],C=[new e("a",-1,8),new e("lla",0,-1),new e("na",0,-1),new e("ssa",0,-1),new e("ta",0,-1),new e("lta",4,-1),new e("sta",4,-1),new e("tta",4,9),new e("lle",-1,-1),new e("ine",-1,-1),new e("ksi",-1,-1),new e("n",-1,7),new e("han",11,1),new e("den",11,-1,a),new e("seen",11,-1,l),new e("hen",11,2),new e("tten",11,-1,a),new e("hin",11,3),new e("siin",11,-1,a),new e("hon",11,4),new e("hän",11,5),new e("hön",11,6),new e("ä",-1,8),new e("llä",22,-1),new e("nä",22,-1),new e("ssä",22,-1),new e("tä",22,-1),new e("ltä",26,-1),new e("stä",26,-1),new e("ttä",26,9)],P=[new e("eja",-1,-1),new e("mma",-1,1),new e("imma",1,-1),new e("mpa",-1,1),new e("impa",3,-1),new e("mmi",-1,1),new e("immi",5,-1),new e("mpi",-1,1),new e("impi",7,-1),new e("ejä",-1,-1),new e("mmä",-1,1),new e("immä",10,-1),new e("mpä",-1,1),new e("impä",12,-1)],F=[new e("i",-1,-1),new e("j",-1,-1)],S=[new e("mma",-1,1),new e("imma",0,-1)],y=[17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8],W=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],L=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],x=[17,97,24,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],A=new r;this.setCurrent=function(i){A.setCurrent(i)},this.getCurrent=function(){return A.getCurrent()},this.stem=function(){var e=A.cursor;return i(),k=!1,A.limit_backward=e,A.cursor=A.limit,s(),A.cursor=A.limit,o(),A.cursor=A.limit,u(),A.cursor=A.limit,c(),A.cursor=A.limit,k?(m(),A.cursor=A.limit):(A.cursor=A.limit,w(),A.cursor=A.limit),_(),!0}};return function(i){return"function"==typeof i.update?i.update(function(i){return n.setCurrent(i),n.stem(),n.getCurrent()}):(n.setCurrent(i),n.stem(),n.getCurrent())}}(),i.Pipeline.registerFunction(i.fi.stemmer,"stemmer-fi"),i.fi.stopWordFilter=i.generateStopWordFilter("ei eivät emme en et ette että he heidän heidät heihin heille heillä heiltä heissä heistä heitä hän häneen hänelle hänellä häneltä hänen hänessä hänestä hänet häntä itse ja johon joiden joihin joiksi joilla joille joilta joina joissa joista joita joka joksi jolla jolle jolta jona jonka jos jossa josta jota jotka kanssa keiden keihin keiksi keille keillä keiltä keinä keissä keistä keitä keneen keneksi kenelle kenellä keneltä kenen kenenä kenessä kenestä kenet ketkä ketkä ketä koska kuin kuka kun me meidän meidät meihin meille meillä meiltä meissä meistä meitä mihin miksi mikä mille millä miltä minkä minkä minua minulla minulle minulta minun minussa minusta minut minuun minä minä missä mistä mitkä mitä mukaan mutta ne niiden niihin niiksi niille niillä niiltä niin niin niinä niissä niistä niitä noiden noihin noiksi noilla noille noilta noin noina noissa noista noita nuo nyt näiden näihin näiksi näille näillä näiltä näinä näissä näistä näitä nämä ole olemme olen olet olette oli olimme olin olisi olisimme olisin olisit olisitte olisivat olit olitte olivat olla olleet ollut on ovat poikki se sekä sen siihen siinä siitä siksi sille sillä sillä siltä sinua sinulla sinulle sinulta sinun sinussa sinusta sinut sinuun sinä sinä sitä tai te teidän teidät teihin teille teillä teiltä teissä teistä teitä tuo tuohon tuoksi tuolla tuolle tuolta tuon tuona tuossa tuosta tuota tähän täksi tälle tällä tältä tämä tämän tänä tässä tästä tätä vaan vai vaikka yli".split(" ")),i.Pipeline.registerFunction(i.fi.stopWordFilter,"stopWordFilter-fi")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.fr.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.fr.min.js new file mode 100644 index 0000000000..68cd0094ae --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.fr.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `French` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.fr=function(){this.pipeline.reset(),this.pipeline.add(e.fr.trimmer,e.fr.stopWordFilter,e.fr.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.fr.stemmer))},e.fr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.fr.trimmer=e.trimmerSupport.generateTrimmer(e.fr.wordCharacters),e.Pipeline.registerFunction(e.fr.trimmer,"trimmer-fr"),e.fr.stemmer=function(){var r=e.stemmerSupport.Among,s=e.stemmerSupport.SnowballProgram,i=new function(){function e(e,r,s){return!(!W.eq_s(1,e)||(W.ket=W.cursor,!W.in_grouping(F,97,251)))&&(W.slice_from(r),W.cursor=s,!0)}function i(e,r,s){return!!W.eq_s(1,e)&&(W.ket=W.cursor,W.slice_from(r),W.cursor=s,!0)}function n(){for(var r,s;;){if(r=W.cursor,W.in_grouping(F,97,251)){if(W.bra=W.cursor,s=W.cursor,e("u","U",r))continue;if(W.cursor=s,e("i","I",r))continue;if(W.cursor=s,i("y","Y",r))continue}if(W.cursor=r,W.bra=r,!e("y","Y",r)){if(W.cursor=r,W.eq_s(1,"q")&&(W.bra=W.cursor,i("u","U",r)))continue;if(W.cursor=r,r>=W.limit)return;W.cursor++}}}function t(){for(;!W.in_grouping(F,97,251);){if(W.cursor>=W.limit)return!0;W.cursor++}for(;!W.out_grouping(F,97,251);){if(W.cursor>=W.limit)return!0;W.cursor++}return!1}function u(){var e=W.cursor;if(q=W.limit,g=q,p=q,W.in_grouping(F,97,251)&&W.in_grouping(F,97,251)&&W.cursor=W.limit){W.cursor=q;break}W.cursor++}while(!W.in_grouping(F,97,251))}q=W.cursor,W.cursor=e,t()||(g=W.cursor,t()||(p=W.cursor))}function o(){for(var e,r;;){if(r=W.cursor,W.bra=r,!(e=W.find_among(h,4)))break;switch(W.ket=W.cursor,e){case 1:W.slice_from("i");break;case 2:W.slice_from("u");break;case 3:W.slice_from("y");break;case 4:if(W.cursor>=W.limit)return;W.cursor++}}}function c(){return q<=W.cursor}function a(){return g<=W.cursor}function l(){return p<=W.cursor}function w(){var e,r;if(W.ket=W.cursor,e=W.find_among_b(C,43)){switch(W.bra=W.cursor,e){case 1:if(!l())return!1;W.slice_del();break;case 2:if(!l())return!1;W.slice_del(),W.ket=W.cursor,W.eq_s_b(2,"ic")&&(W.bra=W.cursor,l()?W.slice_del():W.slice_from("iqU"));break;case 3:if(!l())return!1;W.slice_from("log");break;case 4:if(!l())return!1;W.slice_from("u");break;case 5:if(!l())return!1;W.slice_from("ent");break;case 6:if(!c())return!1;if(W.slice_del(),W.ket=W.cursor,e=W.find_among_b(z,6))switch(W.bra=W.cursor,e){case 1:l()&&(W.slice_del(),W.ket=W.cursor,W.eq_s_b(2,"at")&&(W.bra=W.cursor,l()&&W.slice_del()));break;case 2:l()?W.slice_del():a()&&W.slice_from("eux");break;case 3:l()&&W.slice_del();break;case 4:c()&&W.slice_from("i")}break;case 7:if(!l())return!1;if(W.slice_del(),W.ket=W.cursor,e=W.find_among_b(y,3))switch(W.bra=W.cursor,e){case 1:l()?W.slice_del():W.slice_from("abl");break;case 2:l()?W.slice_del():W.slice_from("iqU");break;case 3:l()&&W.slice_del()}break;case 8:if(!l())return!1;if(W.slice_del(),W.ket=W.cursor,W.eq_s_b(2,"at")&&(W.bra=W.cursor,l()&&(W.slice_del(),W.ket=W.cursor,W.eq_s_b(2,"ic")))){W.bra=W.cursor,l()?W.slice_del():W.slice_from("iqU");break}break;case 9:W.slice_from("eau");break;case 10:if(!a())return!1;W.slice_from("al");break;case 11:if(l())W.slice_del();else{if(!a())return!1;W.slice_from("eux")}break;case 12:if(!a()||!W.out_grouping_b(F,97,251))return!1;W.slice_del();break;case 13:return c()&&W.slice_from("ant"),!1;case 14:return c()&&W.slice_from("ent"),!1;case 15:return r=W.limit-W.cursor,W.in_grouping_b(F,97,251)&&c()&&(W.cursor=W.limit-r,W.slice_del()),!1}return!0}return!1}function f(){var e,r;if(W.cursor=q){if(s=W.limit_backward,W.limit_backward=q,W.ket=W.cursor,e=W.find_among_b(P,7))switch(W.bra=W.cursor,e){case 1:if(l()){if(i=W.limit-W.cursor,!W.eq_s_b(1,"s")&&(W.cursor=W.limit-i,!W.eq_s_b(1,"t")))break;W.slice_del()}break;case 2:W.slice_from("i");break;case 3:W.slice_del();break;case 4:W.eq_s_b(2,"gu")&&W.slice_del()}W.limit_backward=s}}function b(){var e=W.limit-W.cursor;W.find_among_b(U,5)&&(W.cursor=W.limit-e,W.ket=W.cursor,W.cursor>W.limit_backward&&(W.cursor--,W.bra=W.cursor,W.slice_del()))}function d(){for(var e,r=1;W.out_grouping_b(F,97,251);)r--;if(r<=0){if(W.ket=W.cursor,e=W.limit-W.cursor,!W.eq_s_b(1,"é")&&(W.cursor=W.limit-e,!W.eq_s_b(1,"è")))return;W.bra=W.cursor,W.slice_from("e")}}function k(){if(!w()&&(W.cursor=W.limit,!f()&&(W.cursor=W.limit,!m())))return W.cursor=W.limit,void _();W.cursor=W.limit,W.ket=W.cursor,W.eq_s_b(1,"Y")?(W.bra=W.cursor,W.slice_from("i")):(W.cursor=W.limit,W.eq_s_b(1,"ç")&&(W.bra=W.cursor,W.slice_from("c")))}var p,g,q,v=[new r("col",-1,-1),new r("par",-1,-1),new r("tap",-1,-1)],h=[new r("",-1,4),new r("I",0,1),new r("U",0,2),new r("Y",0,3)],z=[new r("iqU",-1,3),new r("abl",-1,3),new r("Ièr",-1,4),new r("ièr",-1,4),new r("eus",-1,2),new r("iv",-1,1)],y=[new r("ic",-1,2),new r("abil",-1,1),new r("iv",-1,3)],C=[new r("iqUe",-1,1),new r("atrice",-1,2),new r("ance",-1,1),new r("ence",-1,5),new r("logie",-1,3),new r("able",-1,1),new r("isme",-1,1),new r("euse",-1,11),new r("iste",-1,1),new r("ive",-1,8),new r("if",-1,8),new r("usion",-1,4),new r("ation",-1,2),new r("ution",-1,4),new r("ateur",-1,2),new r("iqUes",-1,1),new r("atrices",-1,2),new r("ances",-1,1),new r("ences",-1,5),new r("logies",-1,3),new r("ables",-1,1),new r("ismes",-1,1),new r("euses",-1,11),new r("istes",-1,1),new r("ives",-1,8),new r("ifs",-1,8),new r("usions",-1,4),new r("ations",-1,2),new r("utions",-1,4),new r("ateurs",-1,2),new r("ments",-1,15),new r("ements",30,6),new r("issements",31,12),new r("ités",-1,7),new r("ment",-1,15),new r("ement",34,6),new r("issement",35,12),new r("amment",34,13),new r("emment",34,14),new r("aux",-1,10),new r("eaux",39,9),new r("eux",-1,1),new r("ité",-1,7)],x=[new r("ira",-1,1),new r("ie",-1,1),new r("isse",-1,1),new r("issante",-1,1),new r("i",-1,1),new r("irai",4,1),new r("ir",-1,1),new r("iras",-1,1),new r("ies",-1,1),new r("îmes",-1,1),new r("isses",-1,1),new r("issantes",-1,1),new r("îtes",-1,1),new r("is",-1,1),new r("irais",13,1),new r("issais",13,1),new r("irions",-1,1),new r("issions",-1,1),new r("irons",-1,1),new r("issons",-1,1),new r("issants",-1,1),new r("it",-1,1),new r("irait",21,1),new r("issait",21,1),new r("issant",-1,1),new r("iraIent",-1,1),new r("issaIent",-1,1),new r("irent",-1,1),new r("issent",-1,1),new r("iront",-1,1),new r("ît",-1,1),new r("iriez",-1,1),new r("issiez",-1,1),new r("irez",-1,1),new r("issez",-1,1)],I=[new r("a",-1,3),new r("era",0,2),new r("asse",-1,3),new r("ante",-1,3),new r("ée",-1,2),new r("ai",-1,3),new r("erai",5,2),new r("er",-1,2),new r("as",-1,3),new r("eras",8,2),new r("âmes",-1,3),new r("asses",-1,3),new r("antes",-1,3),new r("âtes",-1,3),new r("ées",-1,2),new r("ais",-1,3),new r("erais",15,2),new r("ions",-1,1),new r("erions",17,2),new r("assions",17,3),new r("erons",-1,2),new r("ants",-1,3),new r("és",-1,2),new r("ait",-1,3),new r("erait",23,2),new r("ant",-1,3),new r("aIent",-1,3),new r("eraIent",26,2),new r("èrent",-1,2),new r("assent",-1,3),new r("eront",-1,2),new r("ât",-1,3),new r("ez",-1,2),new r("iez",32,2),new r("eriez",33,2),new r("assiez",33,3),new r("erez",32,2),new r("é",-1,2)],P=[new r("e",-1,3),new r("Ière",0,2),new r("ière",0,2),new r("ion",-1,1),new r("Ier",-1,2),new r("ier",-1,2),new r("ë",-1,4)],U=[new r("ell",-1,-1),new r("eill",-1,-1),new r("enn",-1,-1),new r("onn",-1,-1),new r("ett",-1,-1)],F=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,128,130,103,8,5],S=[1,65,20,0,0,0,0,0,0,0,0,0,0,0,0,0,128],W=new s;this.setCurrent=function(e){W.setCurrent(e)},this.getCurrent=function(){return W.getCurrent()},this.stem=function(){var e=W.cursor;return n(),W.cursor=e,u(),W.limit_backward=e,W.cursor=W.limit,k(),W.cursor=W.limit,b(),W.cursor=W.limit,d(),W.cursor=W.limit_backward,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.fr.stemmer,"stemmer-fr"),e.fr.stopWordFilter=e.generateStopWordFilter("ai aie aient aies ait as au aura aurai auraient aurais aurait auras aurez auriez aurions aurons auront aux avaient avais avait avec avez aviez avions avons ayant ayez ayons c ce ceci celà ces cet cette d dans de des du elle en es est et eu eue eues eurent eus eusse eussent eusses eussiez eussions eut eux eûmes eût eûtes furent fus fusse fussent fusses fussiez fussions fut fûmes fût fûtes ici il ils j je l la le les leur leurs lui m ma mais me mes moi mon même n ne nos notre nous on ont ou par pas pour qu que quel quelle quelles quels qui s sa sans se sera serai seraient serais serait seras serez seriez serions serons seront ses soi soient sois soit sommes son sont soyez soyons suis sur t ta te tes toi ton tu un une vos votre vous y à étaient étais était étant étiez étions été étée étées étés êtes".split(" ")),e.Pipeline.registerFunction(e.fr.stopWordFilter,"stopWordFilter-fr")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.hu.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.hu.min.js new file mode 100644 index 0000000000..ed9d909f73 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.hu.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Hungarian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hu=function(){this.pipeline.reset(),this.pipeline.add(e.hu.trimmer,e.hu.stopWordFilter,e.hu.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hu.stemmer))},e.hu.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.hu.trimmer=e.trimmerSupport.generateTrimmer(e.hu.wordCharacters),e.Pipeline.registerFunction(e.hu.trimmer,"trimmer-hu"),e.hu.stemmer=function(){var n=e.stemmerSupport.Among,r=e.stemmerSupport.SnowballProgram,i=new function(){function e(){var e,n=L.cursor;if(d=L.limit,L.in_grouping(W,97,252))for(;;){if(e=L.cursor,L.out_grouping(W,97,252))return L.cursor=e,L.find_among(g,8)||(L.cursor=e,e=L.limit)return void(d=e);L.cursor++}if(L.cursor=n,L.out_grouping(W,97,252)){for(;!L.in_grouping(W,97,252);){if(L.cursor>=L.limit)return;L.cursor++}d=L.cursor}}function i(){return d<=L.cursor}function a(){var e;if(L.ket=L.cursor,(e=L.find_among_b(h,2))&&(L.bra=L.cursor,i()))switch(e){case 1:L.slice_from("a");break;case 2:L.slice_from("e")}}function t(){var e=L.limit-L.cursor;return!!L.find_among_b(p,23)&&(L.cursor=L.limit-e,!0)}function s(){if(L.cursor>L.limit_backward){L.cursor--,L.ket=L.cursor;var e=L.cursor-1;L.limit_backward<=e&&e<=L.limit&&(L.cursor=e,L.bra=e,L.slice_del())}}function c(){var e;if(L.ket=L.cursor,(e=L.find_among_b(_,2))&&(L.bra=L.cursor,i())){if((1==e||2==e)&&!t())return;L.slice_del(),s()}}function o(){L.ket=L.cursor,L.find_among_b(v,44)&&(L.bra=L.cursor,i()&&(L.slice_del(),a()))}function w(){var e;if(L.ket=L.cursor,(e=L.find_among_b(z,3))&&(L.bra=L.cursor,i()))switch(e){case 1:L.slice_from("e");break;case 2:case 3:L.slice_from("a")}}function l(){var e;if(L.ket=L.cursor,(e=L.find_among_b(y,6))&&(L.bra=L.cursor,i()))switch(e){case 1:case 2:L.slice_del();break;case 3:L.slice_from("a");break;case 4:L.slice_from("e")}}function u(){var e;if(L.ket=L.cursor,(e=L.find_among_b(j,2))&&(L.bra=L.cursor,i())){if((1==e||2==e)&&!t())return;L.slice_del(),s()}}function m(){var e;if(L.ket=L.cursor,(e=L.find_among_b(C,7))&&(L.bra=L.cursor,i()))switch(e){case 1:L.slice_from("a");break;case 2:L.slice_from("e");break;case 3:case 4:case 5:case 6:case 7:L.slice_del()}}function k(){var e;if(L.ket=L.cursor,(e=L.find_among_b(P,12))&&(L.bra=L.cursor,i()))switch(e){case 1:case 4:case 7:case 9:L.slice_del();break;case 2:case 5:case 8:L.slice_from("e");break;case 3:case 6:L.slice_from("a")}}function f(){var e;if(L.ket=L.cursor,(e=L.find_among_b(F,31))&&(L.bra=L.cursor,i()))switch(e){case 1:case 4:case 7:case 8:case 9:case 12:case 13:case 16:case 17:case 18:L.slice_del();break;case 2:case 5:case 10:case 14:case 19:L.slice_from("a");break;case 3:case 6:case 11:case 15:case 20:L.slice_from("e")}}function b(){var e;if(L.ket=L.cursor,(e=L.find_among_b(S,42))&&(L.bra=L.cursor,i()))switch(e){case 1:case 4:case 5:case 6:case 9:case 10:case 11:case 14:case 15:case 16:case 17:case 20:case 21:case 24:case 25:case 26:case 29:L.slice_del();break;case 2:case 7:case 12:case 18:case 22:case 27:L.slice_from("a");break;case 3:case 8:case 13:case 19:case 23:case 28:L.slice_from("e")}}var d,g=[new n("cs",-1,-1),new n("dzs",-1,-1),new n("gy",-1,-1),new n("ly",-1,-1),new n("ny",-1,-1),new n("sz",-1,-1),new n("ty",-1,-1),new n("zs",-1,-1)],h=[new n("á",-1,1),new n("é",-1,2)],p=[new n("bb",-1,-1),new n("cc",-1,-1),new n("dd",-1,-1),new n("ff",-1,-1),new n("gg",-1,-1),new n("jj",-1,-1),new n("kk",-1,-1),new n("ll",-1,-1),new n("mm",-1,-1),new n("nn",-1,-1),new n("pp",-1,-1),new n("rr",-1,-1),new n("ccs",-1,-1),new n("ss",-1,-1),new n("zzs",-1,-1),new n("tt",-1,-1),new n("vv",-1,-1),new n("ggy",-1,-1),new n("lly",-1,-1),new n("nny",-1,-1),new n("tty",-1,-1),new n("ssz",-1,-1),new n("zz",-1,-1)],_=[new n("al",-1,1),new n("el",-1,2)],v=[new n("ba",-1,-1),new n("ra",-1,-1),new n("be",-1,-1),new n("re",-1,-1),new n("ig",-1,-1),new n("nak",-1,-1),new n("nek",-1,-1),new n("val",-1,-1),new n("vel",-1,-1),new n("ul",-1,-1),new n("nál",-1,-1),new n("nél",-1,-1),new n("ból",-1,-1),new n("ról",-1,-1),new n("tól",-1,-1),new n("bõl",-1,-1),new n("rõl",-1,-1),new n("tõl",-1,-1),new n("ül",-1,-1),new n("n",-1,-1),new n("an",19,-1),new n("ban",20,-1),new n("en",19,-1),new n("ben",22,-1),new n("képpen",22,-1),new n("on",19,-1),new n("ön",19,-1),new n("képp",-1,-1),new n("kor",-1,-1),new n("t",-1,-1),new n("at",29,-1),new n("et",29,-1),new n("ként",29,-1),new n("anként",32,-1),new n("enként",32,-1),new n("onként",32,-1),new n("ot",29,-1),new n("ért",29,-1),new n("öt",29,-1),new n("hez",-1,-1),new n("hoz",-1,-1),new n("höz",-1,-1),new n("vá",-1,-1),new n("vé",-1,-1)],z=[new n("án",-1,2),new n("én",-1,1),new n("ánként",-1,3)],y=[new n("stul",-1,2),new n("astul",0,1),new n("ástul",0,3),new n("stül",-1,2),new n("estül",3,1),new n("éstül",3,4)],j=[new n("á",-1,1),new n("é",-1,2)],C=[new n("k",-1,7),new n("ak",0,4),new n("ek",0,6),new n("ok",0,5),new n("ák",0,1),new n("ék",0,2),new n("ök",0,3)],P=[new n("éi",-1,7),new n("áéi",0,6),new n("ééi",0,5),new n("é",-1,9),new n("ké",3,4),new n("aké",4,1),new n("eké",4,1),new n("oké",4,1),new n("áké",4,3),new n("éké",4,2),new n("öké",4,1),new n("éé",3,8)],F=[new n("a",-1,18),new n("ja",0,17),new n("d",-1,16),new n("ad",2,13),new n("ed",2,13),new n("od",2,13),new n("ád",2,14),new n("éd",2,15),new n("öd",2,13),new n("e",-1,18),new n("je",9,17),new n("nk",-1,4),new n("unk",11,1),new n("ánk",11,2),new n("énk",11,3),new n("ünk",11,1),new n("uk",-1,8),new n("juk",16,7),new n("ájuk",17,5),new n("ük",-1,8),new n("jük",19,7),new n("éjük",20,6),new n("m",-1,12),new n("am",22,9),new n("em",22,9),new n("om",22,9),new n("ám",22,10),new n("ém",22,11),new n("o",-1,18),new n("á",-1,19),new n("é",-1,20)],S=[new n("id",-1,10),new n("aid",0,9),new n("jaid",1,6),new n("eid",0,9),new n("jeid",3,6),new n("áid",0,7),new n("éid",0,8),new n("i",-1,15),new n("ai",7,14),new n("jai",8,11),new n("ei",7,14),new n("jei",10,11),new n("ái",7,12),new n("éi",7,13),new n("itek",-1,24),new n("eitek",14,21),new n("jeitek",15,20),new n("éitek",14,23),new n("ik",-1,29),new n("aik",18,26),new n("jaik",19,25),new n("eik",18,26),new n("jeik",21,25),new n("áik",18,27),new n("éik",18,28),new n("ink",-1,20),new n("aink",25,17),new n("jaink",26,16),new n("eink",25,17),new n("jeink",28,16),new n("áink",25,18),new n("éink",25,19),new n("aitok",-1,21),new n("jaitok",32,20),new n("áitok",-1,22),new n("im",-1,5),new n("aim",35,4),new n("jaim",36,1),new n("eim",35,4),new n("jeim",38,1),new n("áim",35,2),new n("éim",35,3)],W=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,52,14],L=new r;this.setCurrent=function(e){L.setCurrent(e)},this.getCurrent=function(){return L.getCurrent()},this.stem=function(){var n=L.cursor;return e(),L.limit_backward=n,L.cursor=L.limit,c(),L.cursor=L.limit,o(),L.cursor=L.limit,w(),L.cursor=L.limit,l(),L.cursor=L.limit,u(),L.cursor=L.limit,k(),L.cursor=L.limit,f(),L.cursor=L.limit,b(),L.cursor=L.limit,m(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.hu.stemmer,"stemmer-hu"),e.hu.stopWordFilter=e.generateStopWordFilter("a abban ahhoz ahogy ahol aki akik akkor alatt amely amelyek amelyekben amelyeket amelyet amelynek ami amikor amit amolyan amíg annak arra arról az azok azon azonban azt aztán azután azzal azért be belül benne bár cikk cikkek cikkeket csak de e ebben eddig egy egyes egyetlen egyik egyre egyéb egész ehhez ekkor el ellen elsõ elég elõ elõször elõtt emilyen ennek erre ez ezek ezen ezt ezzel ezért fel felé hanem hiszen hogy hogyan igen ill ill. illetve ilyen ilyenkor ismét ison itt jobban jó jól kell kellett keressünk keresztül ki kívül között közül legalább legyen lehet lehetett lenne lenni lesz lett maga magát majd majd meg mellett mely melyek mert mi mikor milyen minden mindenki mindent mindig mint mintha mit mivel miért most már más másik még míg nagy nagyobb nagyon ne nekem neki nem nincs néha néhány nélkül olyan ott pedig persze rá s saját sem semmi sok sokat sokkal szemben szerint szinte számára talán tehát teljes tovább továbbá több ugyanis utolsó után utána vagy vagyis vagyok valaki valami valamint való van vannak vele vissza viszont volna volt voltak voltam voltunk által általában át én éppen és így õ õk õket össze úgy új újabb újra".split(" ")),e.Pipeline.registerFunction(e.hu.stopWordFilter,"stopWordFilter-hu")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.it.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.it.min.js new file mode 100644 index 0000000000..344b6a3c0c --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.it.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Italian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.it=function(){this.pipeline.reset(),this.pipeline.add(e.it.trimmer,e.it.stopWordFilter,e.it.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.it.stemmer))},e.it.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.it.trimmer=e.trimmerSupport.generateTrimmer(e.it.wordCharacters),e.Pipeline.registerFunction(e.it.trimmer,"trimmer-it"),e.it.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){function e(e,r,n){return!(!x.eq_s(1,e)||(x.ket=x.cursor,!x.in_grouping(L,97,249)))&&(x.slice_from(r),x.cursor=n,!0)}function i(){for(var r,n,i,o,t=x.cursor;;){if(x.bra=x.cursor,r=x.find_among(h,7))switch(x.ket=x.cursor,r){case 1:x.slice_from("à");continue;case 2:x.slice_from("è");continue;case 3:x.slice_from("ì");continue;case 4:x.slice_from("ò");continue;case 5:x.slice_from("ù");continue;case 6:x.slice_from("qU");continue;case 7:if(x.cursor>=x.limit)break;x.cursor++;continue}break}for(x.cursor=t;;)for(n=x.cursor;;){if(i=x.cursor,x.in_grouping(L,97,249)){if(x.bra=x.cursor,o=x.cursor,e("u","U",i))break;if(x.cursor=o,e("i","I",i))break}if(x.cursor=i,x.cursor>=x.limit)return void(x.cursor=n);x.cursor++}}function o(e){if(x.cursor=e,!x.in_grouping(L,97,249))return!1;for(;!x.out_grouping(L,97,249);){if(x.cursor>=x.limit)return!1;x.cursor++}return!0}function t(){if(x.in_grouping(L,97,249)){var e=x.cursor;if(x.out_grouping(L,97,249)){for(;!x.in_grouping(L,97,249);){if(x.cursor>=x.limit)return o(e);x.cursor++}return!0}return o(e)}return!1}function s(){var e,r=x.cursor;if(!t()){if(x.cursor=r,!x.out_grouping(L,97,249))return;if(e=x.cursor,x.out_grouping(L,97,249)){for(;!x.in_grouping(L,97,249);){if(x.cursor>=x.limit)return x.cursor=e,void(x.in_grouping(L,97,249)&&x.cursor=x.limit)return;x.cursor++}k=x.cursor}function a(){for(;!x.in_grouping(L,97,249);){if(x.cursor>=x.limit)return!1;x.cursor++}for(;!x.out_grouping(L,97,249);){if(x.cursor>=x.limit)return!1;x.cursor++}return!0}function u(){var e=x.cursor;k=x.limit,p=k,g=k,s(),x.cursor=e,a()&&(p=x.cursor,a()&&(g=x.cursor))}function c(){for(var e;;){if(x.bra=x.cursor,!(e=x.find_among(q,3)))break;switch(x.ket=x.cursor,e){case 1:x.slice_from("i");break;case 2:x.slice_from("u");break;case 3:if(x.cursor>=x.limit)return;x.cursor++}}}function w(){return k<=x.cursor}function l(){return p<=x.cursor}function m(){return g<=x.cursor}function f(){var e;if(x.ket=x.cursor,x.find_among_b(C,37)&&(x.bra=x.cursor,(e=x.find_among_b(z,5))&&w()))switch(e){case 1:x.slice_del();break;case 2:x.slice_from("e")}}function v(){var e;if(x.ket=x.cursor,!(e=x.find_among_b(S,51)))return!1;switch(x.bra=x.cursor,e){case 1:if(!m())return!1;x.slice_del();break;case 2:if(!m())return!1;x.slice_del(),x.ket=x.cursor,x.eq_s_b(2,"ic")&&(x.bra=x.cursor,m()&&x.slice_del());break;case 3:if(!m())return!1;x.slice_from("log");break;case 4:if(!m())return!1;x.slice_from("u");break;case 5:if(!m())return!1;x.slice_from("ente");break;case 6:if(!w())return!1;x.slice_del();break;case 7:if(!l())return!1;x.slice_del(),x.ket=x.cursor,e=x.find_among_b(P,4),e&&(x.bra=x.cursor,m()&&(x.slice_del(),1==e&&(x.ket=x.cursor,x.eq_s_b(2,"at")&&(x.bra=x.cursor,m()&&x.slice_del()))));break;case 8:if(!m())return!1;x.slice_del(),x.ket=x.cursor,e=x.find_among_b(F,3),e&&(x.bra=x.cursor,1==e&&m()&&x.slice_del());break;case 9:if(!m())return!1;x.slice_del(),x.ket=x.cursor,x.eq_s_b(2,"at")&&(x.bra=x.cursor,m()&&(x.slice_del(),x.ket=x.cursor,x.eq_s_b(2,"ic")&&(x.bra=x.cursor,m()&&x.slice_del())))}return!0}function b(){var e,r;x.cursor>=k&&(r=x.limit_backward,x.limit_backward=k,x.ket=x.cursor,e=x.find_among_b(W,87),e&&(x.bra=x.cursor,1==e&&x.slice_del()),x.limit_backward=r)}function d(){var e=x.limit-x.cursor;if(x.ket=x.cursor,x.in_grouping_b(y,97,242)&&(x.bra=x.cursor,w()&&(x.slice_del(),x.ket=x.cursor,x.eq_s_b(1,"i")&&(x.bra=x.cursor,w()))))return void x.slice_del();x.cursor=x.limit-e}function _(){d(),x.ket=x.cursor,x.eq_s_b(1,"h")&&(x.bra=x.cursor,x.in_grouping_b(U,99,103)&&w()&&x.slice_del())}var g,p,k,h=[new r("",-1,7),new r("qu",0,6),new r("á",0,1),new r("é",0,2),new r("í",0,3),new r("ó",0,4),new r("ú",0,5)],q=[new r("",-1,3),new r("I",0,1),new r("U",0,2)],C=[new r("la",-1,-1),new r("cela",0,-1),new r("gliela",0,-1),new r("mela",0,-1),new r("tela",0,-1),new r("vela",0,-1),new r("le",-1,-1),new r("cele",6,-1),new r("gliele",6,-1),new r("mele",6,-1),new r("tele",6,-1),new r("vele",6,-1),new r("ne",-1,-1),new r("cene",12,-1),new r("gliene",12,-1),new r("mene",12,-1),new r("sene",12,-1),new r("tene",12,-1),new r("vene",12,-1),new r("ci",-1,-1),new r("li",-1,-1),new r("celi",20,-1),new r("glieli",20,-1),new r("meli",20,-1),new r("teli",20,-1),new r("veli",20,-1),new r("gli",20,-1),new r("mi",-1,-1),new r("si",-1,-1),new r("ti",-1,-1),new r("vi",-1,-1),new r("lo",-1,-1),new r("celo",31,-1),new r("glielo",31,-1),new r("melo",31,-1),new r("telo",31,-1),new r("velo",31,-1)],z=[new r("ando",-1,1),new r("endo",-1,1),new r("ar",-1,2),new r("er",-1,2),new r("ir",-1,2)],P=[new r("ic",-1,-1),new r("abil",-1,-1),new r("os",-1,-1),new r("iv",-1,1)],F=[new r("ic",-1,1),new r("abil",-1,1),new r("iv",-1,1)],S=[new r("ica",-1,1),new r("logia",-1,3),new r("osa",-1,1),new r("ista",-1,1),new r("iva",-1,9),new r("anza",-1,1),new r("enza",-1,5),new r("ice",-1,1),new r("atrice",7,1),new r("iche",-1,1),new r("logie",-1,3),new r("abile",-1,1),new r("ibile",-1,1),new r("usione",-1,4),new r("azione",-1,2),new r("uzione",-1,4),new r("atore",-1,2),new r("ose",-1,1),new r("ante",-1,1),new r("mente",-1,1),new r("amente",19,7),new r("iste",-1,1),new r("ive",-1,9),new r("anze",-1,1),new r("enze",-1,5),new r("ici",-1,1),new r("atrici",25,1),new r("ichi",-1,1),new r("abili",-1,1),new r("ibili",-1,1),new r("ismi",-1,1),new r("usioni",-1,4),new r("azioni",-1,2),new r("uzioni",-1,4),new r("atori",-1,2),new r("osi",-1,1),new r("anti",-1,1),new r("amenti",-1,6),new r("imenti",-1,6),new r("isti",-1,1),new r("ivi",-1,9),new r("ico",-1,1),new r("ismo",-1,1),new r("oso",-1,1),new r("amento",-1,6),new r("imento",-1,6),new r("ivo",-1,9),new r("ità",-1,8),new r("istà",-1,1),new r("istè",-1,1),new r("istì",-1,1)],W=[new r("isca",-1,1),new r("enda",-1,1),new r("ata",-1,1),new r("ita",-1,1),new r("uta",-1,1),new r("ava",-1,1),new r("eva",-1,1),new r("iva",-1,1),new r("erebbe",-1,1),new r("irebbe",-1,1),new r("isce",-1,1),new r("ende",-1,1),new r("are",-1,1),new r("ere",-1,1),new r("ire",-1,1),new r("asse",-1,1),new r("ate",-1,1),new r("avate",16,1),new r("evate",16,1),new r("ivate",16,1),new r("ete",-1,1),new r("erete",20,1),new r("irete",20,1),new r("ite",-1,1),new r("ereste",-1,1),new r("ireste",-1,1),new r("ute",-1,1),new r("erai",-1,1),new r("irai",-1,1),new r("isci",-1,1),new r("endi",-1,1),new r("erei",-1,1),new r("irei",-1,1),new r("assi",-1,1),new r("ati",-1,1),new r("iti",-1,1),new r("eresti",-1,1),new r("iresti",-1,1),new r("uti",-1,1),new r("avi",-1,1),new r("evi",-1,1),new r("ivi",-1,1),new r("isco",-1,1),new r("ando",-1,1),new r("endo",-1,1),new r("Yamo",-1,1),new r("iamo",-1,1),new r("avamo",-1,1),new r("evamo",-1,1),new r("ivamo",-1,1),new r("eremo",-1,1),new r("iremo",-1,1),new r("assimo",-1,1),new r("ammo",-1,1),new r("emmo",-1,1),new r("eremmo",54,1),new r("iremmo",54,1),new r("immo",-1,1),new r("ano",-1,1),new r("iscano",58,1),new r("avano",58,1),new r("evano",58,1),new r("ivano",58,1),new r("eranno",-1,1),new r("iranno",-1,1),new r("ono",-1,1),new r("iscono",65,1),new r("arono",65,1),new r("erono",65,1),new r("irono",65,1),new r("erebbero",-1,1),new r("irebbero",-1,1),new r("assero",-1,1),new r("essero",-1,1),new r("issero",-1,1),new r("ato",-1,1),new r("ito",-1,1),new r("uto",-1,1),new r("avo",-1,1),new r("evo",-1,1),new r("ivo",-1,1),new r("ar",-1,1),new r("ir",-1,1),new r("erà",-1,1),new r("irà",-1,1),new r("erò",-1,1),new r("irò",-1,1)],L=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2,1],y=[17,65,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2],U=[17],x=new n;this.setCurrent=function(e){x.setCurrent(e)},this.getCurrent=function(){return x.getCurrent()},this.stem=function(){var e=x.cursor;return i(),x.cursor=e,u(),x.limit_backward=e,x.cursor=x.limit,f(),x.cursor=x.limit,v()||(x.cursor=x.limit,b()),x.cursor=x.limit,_(),x.cursor=x.limit_backward,c(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.it.stemmer,"stemmer-it"),e.it.stopWordFilter=e.generateStopWordFilter("a abbia abbiamo abbiano abbiate ad agl agli ai al all alla alle allo anche avemmo avendo avesse avessero avessi avessimo aveste avesti avete aveva avevamo avevano avevate avevi avevo avrai avranno avrebbe avrebbero avrei avremmo avremo avreste avresti avrete avrà avrò avuta avute avuti avuto c che chi ci coi col come con contro cui da dagl dagli dai dal dall dalla dalle dallo degl degli dei del dell della delle dello di dov dove e ebbe ebbero ebbi ed era erano eravamo eravate eri ero essendo faccia facciamo facciano facciate faccio facemmo facendo facesse facessero facessi facessimo faceste facesti faceva facevamo facevano facevate facevi facevo fai fanno farai faranno farebbe farebbero farei faremmo faremo fareste faresti farete farà farò fece fecero feci fosse fossero fossi fossimo foste fosti fu fui fummo furono gli ha hai hanno ho i il in io l la le lei li lo loro lui ma mi mia mie miei mio ne negl negli nei nel nell nella nelle nello noi non nostra nostre nostri nostro o per perché più quale quanta quante quanti quanto quella quelle quelli quello questa queste questi questo sarai saranno sarebbe sarebbero sarei saremmo saremo sareste saresti sarete sarà sarò se sei si sia siamo siano siate siete sono sta stai stando stanno starai staranno starebbe starebbero starei staremmo staremo stareste staresti starete starà starò stava stavamo stavano stavate stavi stavo stemmo stesse stessero stessi stessimo steste stesti stette stettero stetti stia stiamo stiano stiate sto su sua sue sugl sugli sui sul sull sulla sulle sullo suo suoi ti tra tu tua tue tuo tuoi tutti tutto un una uno vi voi vostra vostre vostri vostro è".split(" ")),e.Pipeline.registerFunction(e.it.stopWordFilter,"stopWordFilter-it")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.ja.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.ja.min.js new file mode 100644 index 0000000000..5f254ebe91 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.ja.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),r?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var t=new e.TinySegmenter;e.ja.tokenizer=function(i){var n,o,s,p,a,u,m,l,c,f;if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t.toLowerCase()):t.toLowerCase()});for(o=i.toString().toLowerCase().replace(/^\s+/,""),n=o.length-1;n>=0;n--)if(/\S/.test(o.charAt(n))){o=o.substring(0,n+1);break}for(a=[],s=o.length,c=0,l=0;c<=s;c++)if(u=o.charAt(c),m=c-l,u.match(/\s/)||c==s){if(m>0)for(p=t.segment(o.slice(l,c)).filter(function(e){return!!e}),f=l,n=0;n=C.limit)break;C.cursor++;continue}break}for(C.cursor=o,C.bra=o,C.eq_s(1,"y")?(C.ket=C.cursor,C.slice_from("Y")):C.cursor=o;;)if(e=C.cursor,C.in_grouping(q,97,232)){if(i=C.cursor,C.bra=i,C.eq_s(1,"i"))C.ket=C.cursor,C.in_grouping(q,97,232)&&(C.slice_from("I"),C.cursor=e);else if(C.cursor=i,C.eq_s(1,"y"))C.ket=C.cursor,C.slice_from("Y"),C.cursor=e;else if(n(e))break}else if(n(e))break}function n(r){return C.cursor=r,r>=C.limit||(C.cursor++,!1)}function o(){_=C.limit,d=_,t()||(_=C.cursor,_<3&&(_=3),t()||(d=C.cursor))}function t(){for(;!C.in_grouping(q,97,232);){if(C.cursor>=C.limit)return!0;C.cursor++}for(;!C.out_grouping(q,97,232);){if(C.cursor>=C.limit)return!0;C.cursor++}return!1}function s(){for(var r;;)if(C.bra=C.cursor,r=C.find_among(p,3))switch(C.ket=C.cursor,r){case 1:C.slice_from("y");break;case 2:C.slice_from("i");break;case 3:if(C.cursor>=C.limit)return;C.cursor++}}function u(){return _<=C.cursor}function c(){return d<=C.cursor}function a(){var r=C.limit-C.cursor;C.find_among_b(g,3)&&(C.cursor=C.limit-r,C.ket=C.cursor,C.cursor>C.limit_backward&&(C.cursor--,C.bra=C.cursor,C.slice_del()))}function l(){var r;w=!1,C.ket=C.cursor,C.eq_s_b(1,"e")&&(C.bra=C.cursor,u()&&(r=C.limit-C.cursor,C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-r,C.slice_del(),w=!0,a())))}function m(){var r;u()&&(r=C.limit-C.cursor,C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-r,C.eq_s_b(3,"gem")||(C.cursor=C.limit-r,C.slice_del(),a())))}function f(){var r,e,i,n,o,t,s=C.limit-C.cursor;if(C.ket=C.cursor,r=C.find_among_b(h,5))switch(C.bra=C.cursor,r){case 1:u()&&C.slice_from("heid");break;case 2:m();break;case 3:u()&&C.out_grouping_b(j,97,232)&&C.slice_del()}if(C.cursor=C.limit-s,l(),C.cursor=C.limit-s,C.ket=C.cursor,C.eq_s_b(4,"heid")&&(C.bra=C.cursor,c()&&(e=C.limit-C.cursor,C.eq_s_b(1,"c")||(C.cursor=C.limit-e,C.slice_del(),C.ket=C.cursor,C.eq_s_b(2,"en")&&(C.bra=C.cursor,m())))),C.cursor=C.limit-s,C.ket=C.cursor,r=C.find_among_b(k,6))switch(C.bra=C.cursor,r){case 1:if(c()){if(C.slice_del(),i=C.limit-C.cursor,C.ket=C.cursor,C.eq_s_b(2,"ig")&&(C.bra=C.cursor,c()&&(n=C.limit-C.cursor,!C.eq_s_b(1,"e")))){C.cursor=C.limit-n,C.slice_del();break}C.cursor=C.limit-i,a()}break;case 2:c()&&(o=C.limit-C.cursor,C.eq_s_b(1,"e")||(C.cursor=C.limit-o,C.slice_del()));break;case 3:c()&&(C.slice_del(),l());break;case 4:c()&&C.slice_del();break;case 5:c()&&w&&C.slice_del()}C.cursor=C.limit-s,C.out_grouping_b(z,73,232)&&(t=C.limit-C.cursor,C.find_among_b(v,4)&&C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-t,C.ket=C.cursor,C.cursor>C.limit_backward&&(C.cursor--,C.bra=C.cursor,C.slice_del())))}var d,_,w,b=[new e("",-1,6),new e("á",0,1),new e("ä",0,1),new e("é",0,2),new e("ë",0,2),new e("í",0,3),new e("ï",0,3),new e("ó",0,4),new e("ö",0,4),new e("ú",0,5),new e("ü",0,5)],p=[new e("",-1,3),new e("I",0,2),new e("Y",0,1)],g=[new e("dd",-1,-1),new e("kk",-1,-1),new e("tt",-1,-1)],h=[new e("ene",-1,2),new e("se",-1,3),new e("en",-1,2),new e("heden",2,1),new e("s",-1,3)],k=[new e("end",-1,1),new e("ig",-1,2),new e("ing",-1,1),new e("lijk",-1,3),new e("baar",-1,4),new e("bar",-1,5)],v=[new e("aa",-1,-1),new e("ee",-1,-1),new e("oo",-1,-1),new e("uu",-1,-1)],q=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],z=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],j=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],C=new i;this.setCurrent=function(r){C.setCurrent(r)},this.getCurrent=function(){return C.getCurrent()},this.stem=function(){var e=C.cursor;return r(),C.cursor=e,o(),C.limit_backward=e,C.cursor=C.limit,f(),C.cursor=C.limit_backward,s(),!0}};return function(r){return"function"==typeof r.update?r.update(function(r){return n.setCurrent(r),n.stem(),n.getCurrent()}):(n.setCurrent(r),n.stem(),n.getCurrent())}}(),r.Pipeline.registerFunction(r.nl.stemmer,"stemmer-nl"),r.nl.stopWordFilter=r.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),r.Pipeline.registerFunction(r.nl.stopWordFilter,"stopWordFilter-nl")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.no.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.no.min.js new file mode 100644 index 0000000000..92bc7e4e89 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.no.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Norwegian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.no=function(){this.pipeline.reset(),this.pipeline.add(e.no.trimmer,e.no.stopWordFilter,e.no.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.no.stemmer))},e.no.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.no.trimmer=e.trimmerSupport.generateTrimmer(e.no.wordCharacters),e.Pipeline.registerFunction(e.no.trimmer,"trimmer-no"),e.no.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){function e(){var e,r=w.cursor+3;if(a=w.limit,0<=r||r<=w.limit){for(s=r;;){if(e=w.cursor,w.in_grouping(d,97,248)){w.cursor=e;break}if(e>=w.limit)return;w.cursor=e+1}for(;!w.out_grouping(d,97,248);){if(w.cursor>=w.limit)return;w.cursor++}a=w.cursor,a=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(m,29),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:n=w.limit-w.cursor,w.in_grouping_b(c,98,122)?w.slice_del():(w.cursor=w.limit-n,w.eq_s_b(1,"k")&&w.out_grouping_b(d,97,248)&&w.slice_del());break;case 3:w.slice_from("er")}}function t(){var e,r=w.limit-w.cursor;w.cursor>=a&&(e=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,w.find_among_b(u,2)?(w.bra=w.cursor,w.limit_backward=e,w.cursor=w.limit-r,w.cursor>w.limit_backward&&(w.cursor--,w.bra=w.cursor,w.slice_del())):w.limit_backward=e)}function o(){var e,r;w.cursor>=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(l,11),e?(w.bra=w.cursor,w.limit_backward=r,1==e&&w.slice_del()):w.limit_backward=r)}var s,a,m=[new r("a",-1,1),new r("e",-1,1),new r("ede",1,1),new r("ande",1,1),new r("ende",1,1),new r("ane",1,1),new r("ene",1,1),new r("hetene",6,1),new r("erte",1,3),new r("en",-1,1),new r("heten",9,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",12,1),new r("s",-1,2),new r("as",14,1),new r("es",14,1),new r("edes",16,1),new r("endes",16,1),new r("enes",16,1),new r("hetenes",19,1),new r("ens",14,1),new r("hetens",21,1),new r("ers",14,1),new r("ets",14,1),new r("et",-1,1),new r("het",25,1),new r("ert",-1,3),new r("ast",-1,1)],u=[new r("dt",-1,-1),new r("vt",-1,-1)],l=[new r("leg",-1,1),new r("eleg",0,1),new r("ig",-1,1),new r("eig",2,1),new r("lig",2,1),new r("elig",4,1),new r("els",-1,1),new r("lov",-1,1),new r("elov",7,1),new r("slov",7,1),new r("hetslov",9,1)],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],c=[119,125,149,1],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,i(),w.cursor=w.limit,t(),w.cursor=w.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.no.stemmer,"stemmer-no"),e.no.stopWordFilter=e.generateStopWordFilter("alle at av bare begge ble blei bli blir blitt både båe da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar då eg ein eit eitt eller elles en enn er et ett etter for fordi fra før ha hadde han hans har hennar henne hennes her hjå ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre nå når og også om opp oss over på samme seg selv si si sia sidan siden sin sine sitt sjøl skal skulle slik so som som somme somt så sånn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort vår være være vært å".split(" ")),e.Pipeline.registerFunction(e.no.stopWordFilter,"stopWordFilter-no")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.pt.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.pt.min.js new file mode 100644 index 0000000000..6c16996d65 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.pt.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Portuguese` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.pt=function(){this.pipeline.reset(),this.pipeline.add(e.pt.trimmer,e.pt.stopWordFilter,e.pt.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.pt.stemmer))},e.pt.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.pt.trimmer=e.trimmerSupport.generateTrimmer(e.pt.wordCharacters),e.Pipeline.registerFunction(e.pt.trimmer,"trimmer-pt"),e.pt.stemmer=function(){var r=e.stemmerSupport.Among,s=e.stemmerSupport.SnowballProgram,n=new function(){function e(){for(var e;;){if(z.bra=z.cursor,e=z.find_among(k,3))switch(z.ket=z.cursor,e){case 1:z.slice_from("a~");continue;case 2:z.slice_from("o~");continue;case 3:if(z.cursor>=z.limit)break;z.cursor++;continue}break}}function n(){if(z.out_grouping(y,97,250)){for(;!z.in_grouping(y,97,250);){if(z.cursor>=z.limit)return!0;z.cursor++}return!1}return!0}function i(){if(z.in_grouping(y,97,250))for(;!z.out_grouping(y,97,250);){if(z.cursor>=z.limit)return!1;z.cursor++}return g=z.cursor,!0}function o(){var e,r,s=z.cursor;if(z.in_grouping(y,97,250))if(e=z.cursor,n()){if(z.cursor=e,i())return}else g=z.cursor;if(z.cursor=s,z.out_grouping(y,97,250)){if(r=z.cursor,n()){if(z.cursor=r,!z.in_grouping(y,97,250)||z.cursor>=z.limit)return;z.cursor++}g=z.cursor}}function t(){for(;!z.in_grouping(y,97,250);){if(z.cursor>=z.limit)return!1;z.cursor++}for(;!z.out_grouping(y,97,250);){if(z.cursor>=z.limit)return!1;z.cursor++}return!0}function a(){var e=z.cursor;g=z.limit,b=g,h=g,o(),z.cursor=e,t()&&(b=z.cursor,t()&&(h=z.cursor))}function u(){for(var e;;){if(z.bra=z.cursor,e=z.find_among(q,3))switch(z.ket=z.cursor,e){case 1:z.slice_from("ã");continue;case 2:z.slice_from("õ");continue;case 3:if(z.cursor>=z.limit)break;z.cursor++;continue}break}}function w(){return g<=z.cursor}function m(){return b<=z.cursor}function c(){return h<=z.cursor}function l(){var e;if(z.ket=z.cursor,!(e=z.find_among_b(F,45)))return!1;switch(z.bra=z.cursor,e){case 1:if(!c())return!1;z.slice_del();break;case 2:if(!c())return!1;z.slice_from("log");break;case 3:if(!c())return!1;z.slice_from("u");break;case 4:if(!c())return!1;z.slice_from("ente");break;case 5:if(!m())return!1;z.slice_del(),z.ket=z.cursor,e=z.find_among_b(j,4),e&&(z.bra=z.cursor,c()&&(z.slice_del(),1==e&&(z.ket=z.cursor,z.eq_s_b(2,"at")&&(z.bra=z.cursor,c()&&z.slice_del()))));break;case 6:if(!c())return!1;z.slice_del(),z.ket=z.cursor,e=z.find_among_b(C,3),e&&(z.bra=z.cursor,1==e&&c()&&z.slice_del());break;case 7:if(!c())return!1;z.slice_del(),z.ket=z.cursor,e=z.find_among_b(P,3),e&&(z.bra=z.cursor,1==e&&c()&&z.slice_del());break;case 8:if(!c())return!1;z.slice_del(),z.ket=z.cursor,z.eq_s_b(2,"at")&&(z.bra=z.cursor,c()&&z.slice_del());break;case 9:if(!w()||!z.eq_s_b(1,"e"))return!1;z.slice_from("ir")}return!0}function f(){var e,r;if(z.cursor>=g){if(r=z.limit_backward,z.limit_backward=g,z.ket=z.cursor,e=z.find_among_b(S,120))return z.bra=z.cursor,1==e&&z.slice_del(),z.limit_backward=r,!0;z.limit_backward=r}return!1}function d(){var e;z.ket=z.cursor,(e=z.find_among_b(W,7))&&(z.bra=z.cursor,1==e&&w()&&z.slice_del())}function v(e,r){if(z.eq_s_b(1,e)){z.bra=z.cursor;var s=z.limit-z.cursor;if(z.eq_s_b(1,r))return z.cursor=z.limit-s,w()&&z.slice_del(),!1}return!0}function p(){var e;if(z.ket=z.cursor,e=z.find_among_b(L,4))switch(z.bra=z.cursor,e){case 1:w()&&(z.slice_del(),z.ket=z.cursor,z.limit-z.cursor,v("u","g")&&v("i","c"));break;case 2:z.slice_from("c")}}function _(){if(!l()&&(z.cursor=z.limit,!f()))return z.cursor=z.limit,void d();z.cursor=z.limit,z.ket=z.cursor,z.eq_s_b(1,"i")&&(z.bra=z.cursor,z.eq_s_b(1,"c")&&(z.cursor=z.limit,w()&&z.slice_del()))}var h,b,g,k=[new r("",-1,3),new r("ã",0,1),new r("õ",0,2)],q=[new r("",-1,3),new r("a~",0,1),new r("o~",0,2)],j=[new r("ic",-1,-1),new r("ad",-1,-1),new r("os",-1,-1),new r("iv",-1,1)],C=[new r("ante",-1,1),new r("avel",-1,1),new r("ível",-1,1)],P=[new r("ic",-1,1),new r("abil",-1,1),new r("iv",-1,1)],F=[new r("ica",-1,1),new r("ância",-1,1),new r("ência",-1,4),new r("ira",-1,9),new r("adora",-1,1),new r("osa",-1,1),new r("ista",-1,1),new r("iva",-1,8),new r("eza",-1,1),new r("logía",-1,2),new r("idade",-1,7),new r("ante",-1,1),new r("mente",-1,6),new r("amente",12,5),new r("ável",-1,1),new r("ível",-1,1),new r("ución",-1,3),new r("ico",-1,1),new r("ismo",-1,1),new r("oso",-1,1),new r("amento",-1,1),new r("imento",-1,1),new r("ivo",-1,8),new r("aça~o",-1,1),new r("ador",-1,1),new r("icas",-1,1),new r("ências",-1,4),new r("iras",-1,9),new r("adoras",-1,1),new r("osas",-1,1),new r("istas",-1,1),new r("ivas",-1,8),new r("ezas",-1,1),new r("logías",-1,2),new r("idades",-1,7),new r("uciones",-1,3),new r("adores",-1,1),new r("antes",-1,1),new r("aço~es",-1,1),new r("icos",-1,1),new r("ismos",-1,1),new r("osos",-1,1),new r("amentos",-1,1),new r("imentos",-1,1),new r("ivos",-1,8)],S=[new r("ada",-1,1),new r("ida",-1,1),new r("ia",-1,1),new r("aria",2,1),new r("eria",2,1),new r("iria",2,1),new r("ara",-1,1),new r("era",-1,1),new r("ira",-1,1),new r("ava",-1,1),new r("asse",-1,1),new r("esse",-1,1),new r("isse",-1,1),new r("aste",-1,1),new r("este",-1,1),new r("iste",-1,1),new r("ei",-1,1),new r("arei",16,1),new r("erei",16,1),new r("irei",16,1),new r("am",-1,1),new r("iam",20,1),new r("ariam",21,1),new r("eriam",21,1),new r("iriam",21,1),new r("aram",20,1),new r("eram",20,1),new r("iram",20,1),new r("avam",20,1),new r("em",-1,1),new r("arem",29,1),new r("erem",29,1),new r("irem",29,1),new r("assem",29,1),new r("essem",29,1),new r("issem",29,1),new r("ado",-1,1),new r("ido",-1,1),new r("ando",-1,1),new r("endo",-1,1),new r("indo",-1,1),new r("ara~o",-1,1),new r("era~o",-1,1),new r("ira~o",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("ir",-1,1),new r("as",-1,1),new r("adas",47,1),new r("idas",47,1),new r("ias",47,1),new r("arias",50,1),new r("erias",50,1),new r("irias",50,1),new r("aras",47,1),new r("eras",47,1),new r("iras",47,1),new r("avas",47,1),new r("es",-1,1),new r("ardes",58,1),new r("erdes",58,1),new r("irdes",58,1),new r("ares",58,1),new r("eres",58,1),new r("ires",58,1),new r("asses",58,1),new r("esses",58,1),new r("isses",58,1),new r("astes",58,1),new r("estes",58,1),new r("istes",58,1),new r("is",-1,1),new r("ais",71,1),new r("eis",71,1),new r("areis",73,1),new r("ereis",73,1),new r("ireis",73,1),new r("áreis",73,1),new r("éreis",73,1),new r("íreis",73,1),new r("ásseis",73,1),new r("ésseis",73,1),new r("ísseis",73,1),new r("áveis",73,1),new r("íeis",73,1),new r("aríeis",84,1),new r("eríeis",84,1),new r("iríeis",84,1),new r("ados",-1,1),new r("idos",-1,1),new r("amos",-1,1),new r("áramos",90,1),new r("éramos",90,1),new r("íramos",90,1),new r("ávamos",90,1),new r("íamos",90,1),new r("aríamos",95,1),new r("eríamos",95,1),new r("iríamos",95,1),new r("emos",-1,1),new r("aremos",99,1),new r("eremos",99,1),new r("iremos",99,1),new r("ássemos",99,1),new r("êssemos",99,1),new r("íssemos",99,1),new r("imos",-1,1),new r("armos",-1,1),new r("ermos",-1,1),new r("irmos",-1,1),new r("ámos",-1,1),new r("arás",-1,1),new r("erás",-1,1),new r("irás",-1,1),new r("eu",-1,1),new r("iu",-1,1),new r("ou",-1,1),new r("ará",-1,1),new r("erá",-1,1),new r("irá",-1,1)],W=[new r("a",-1,1),new r("i",-1,1),new r("o",-1,1),new r("os",-1,1),new r("á",-1,1),new r("í",-1,1),new r("ó",-1,1)],L=[new r("e",-1,1),new r("ç",-1,2),new r("é",-1,1),new r("ê",-1,1)],y=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,3,19,12,2],z=new s;this.setCurrent=function(e){z.setCurrent(e)},this.getCurrent=function(){return z.getCurrent()},this.stem=function(){var r=z.cursor;return e(),z.cursor=r,a(),z.limit_backward=r,z.cursor=z.limit,_(),z.cursor=z.limit,p(),z.cursor=z.limit_backward,u(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.pt.stemmer,"stemmer-pt"),e.pt.stopWordFilter=e.generateStopWordFilter("a ao aos aquela aquelas aquele aqueles aquilo as até com como da das de dela delas dele deles depois do dos e ela elas ele eles em entre era eram essa essas esse esses esta estamos estas estava estavam este esteja estejam estejamos estes esteve estive estivemos estiver estivera estiveram estiverem estivermos estivesse estivessem estivéramos estivéssemos estou está estávamos estão eu foi fomos for fora foram forem formos fosse fossem fui fôramos fôssemos haja hajam hajamos havemos hei houve houvemos houver houvera houveram houverei houverem houveremos houveria houveriam houvermos houverá houverão houveríamos houvesse houvessem houvéramos houvéssemos há hão isso isto já lhe lhes mais mas me mesmo meu meus minha minhas muito na nas nem no nos nossa nossas nosso nossos num numa não nós o os ou para pela pelas pelo pelos por qual quando que quem se seja sejam sejamos sem serei seremos seria seriam será serão seríamos seu seus somos sou sua suas são só também te tem temos tenha tenham tenhamos tenho terei teremos teria teriam terá terão teríamos teu teus teve tinha tinham tive tivemos tiver tivera tiveram tiverem tivermos tivesse tivessem tivéramos tivéssemos tu tua tuas tém tínhamos um uma você vocês vos à às éramos".split(" ")),e.Pipeline.registerFunction(e.pt.stopWordFilter,"stopWordFilter-pt")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.ro.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.ro.min.js new file mode 100644 index 0000000000..7277140181 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.ro.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Romanian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ro=function(){this.pipeline.reset(),this.pipeline.add(e.ro.trimmer,e.ro.stopWordFilter,e.ro.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ro.stemmer))},e.ro.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.ro.trimmer=e.trimmerSupport.generateTrimmer(e.ro.wordCharacters),e.Pipeline.registerFunction(e.ro.trimmer,"trimmer-ro"),e.ro.stemmer=function(){var i=e.stemmerSupport.Among,r=e.stemmerSupport.SnowballProgram,n=new function(){function e(e,i){L.eq_s(1,e)&&(L.ket=L.cursor,L.in_grouping(W,97,259)&&L.slice_from(i))}function n(){for(var i,r;;){if(i=L.cursor,L.in_grouping(W,97,259)&&(r=L.cursor,L.bra=r,e("u","U"),L.cursor=r,e("i","I")),L.cursor=i,L.cursor>=L.limit)break;L.cursor++}}function t(){if(L.out_grouping(W,97,259)){for(;!L.in_grouping(W,97,259);){if(L.cursor>=L.limit)return!0;L.cursor++}return!1}return!0}function a(){if(L.in_grouping(W,97,259))for(;!L.out_grouping(W,97,259);){if(L.cursor>=L.limit)return!0;L.cursor++}return!1}function o(){var e,i,r=L.cursor;if(L.in_grouping(W,97,259)){if(e=L.cursor,!t())return void(h=L.cursor);if(L.cursor=e,!a())return void(h=L.cursor)}L.cursor=r,L.out_grouping(W,97,259)&&(i=L.cursor,t()&&(L.cursor=i,L.in_grouping(W,97,259)&&L.cursor=L.limit)return!1;L.cursor++}for(;!L.out_grouping(W,97,259);){if(L.cursor>=L.limit)return!1;L.cursor++}return!0}function c(){var e=L.cursor;h=L.limit,k=h,g=h,o(),L.cursor=e,u()&&(k=L.cursor,u()&&(g=L.cursor))}function s(){for(var e;;){if(L.bra=L.cursor,e=L.find_among(z,3))switch(L.ket=L.cursor,e){case 1:L.slice_from("i");continue;case 2:L.slice_from("u");continue;case 3:if(L.cursor>=L.limit)break;L.cursor++;continue}break}}function w(){return h<=L.cursor}function m(){return k<=L.cursor}function l(){return g<=L.cursor}function f(){var e,i;if(L.ket=L.cursor,(e=L.find_among_b(C,16))&&(L.bra=L.cursor,m()))switch(e){case 1:L.slice_del();break;case 2:L.slice_from("a");break;case 3:L.slice_from("e");break;case 4:L.slice_from("i");break;case 5:i=L.limit-L.cursor,L.eq_s_b(2,"ab")||(L.cursor=L.limit-i,L.slice_from("i"));break;case 6:L.slice_from("at");break;case 7:L.slice_from("aţi")}}function p(){var e,i=L.limit-L.cursor;if(L.ket=L.cursor,(e=L.find_among_b(P,46))&&(L.bra=L.cursor,m())){switch(e){case 1:L.slice_from("abil");break;case 2:L.slice_from("ibil");break;case 3:L.slice_from("iv");break;case 4:L.slice_from("ic");break;case 5:L.slice_from("at");break;case 6:L.slice_from("it")}return _=!0,L.cursor=L.limit-i,!0}return!1}function d(){var e,i;for(_=!1;;)if(i=L.limit-L.cursor,!p()){L.cursor=L.limit-i;break}if(L.ket=L.cursor,(e=L.find_among_b(F,62))&&(L.bra=L.cursor,l())){switch(e){case 1:L.slice_del();break;case 2:L.eq_s_b(1,"ţ")&&(L.bra=L.cursor,L.slice_from("t"));break;case 3:L.slice_from("ist")}_=!0}}function b(){var e,i,r;if(L.cursor>=h){if(i=L.limit_backward,L.limit_backward=h,L.ket=L.cursor,e=L.find_among_b(q,94))switch(L.bra=L.cursor,e){case 1:if(r=L.limit-L.cursor,!L.out_grouping_b(W,97,259)&&(L.cursor=L.limit-r,!L.eq_s_b(1,"u")))break;case 2:L.slice_del()}L.limit_backward=i}}function v(){var e;L.ket=L.cursor,(e=L.find_among_b(S,5))&&(L.bra=L.cursor,w()&&1==e&&L.slice_del())}var _,g,k,h,z=[new i("",-1,3),new i("I",0,1),new i("U",0,2)],C=[new i("ea",-1,3),new i("aţia",-1,7),new i("aua",-1,2),new i("iua",-1,4),new i("aţie",-1,7),new i("ele",-1,3),new i("ile",-1,5),new i("iile",6,4),new i("iei",-1,4),new i("atei",-1,6),new i("ii",-1,4),new i("ului",-1,1),new i("ul",-1,1),new i("elor",-1,3),new i("ilor",-1,4),new i("iilor",14,4)],P=[new i("icala",-1,4),new i("iciva",-1,4),new i("ativa",-1,5),new i("itiva",-1,6),new i("icale",-1,4),new i("aţiune",-1,5),new i("iţiune",-1,6),new i("atoare",-1,5),new i("itoare",-1,6),new i("ătoare",-1,5),new i("icitate",-1,4),new i("abilitate",-1,1),new i("ibilitate",-1,2),new i("ivitate",-1,3),new i("icive",-1,4),new i("ative",-1,5),new i("itive",-1,6),new i("icali",-1,4),new i("atori",-1,5),new i("icatori",18,4),new i("itori",-1,6),new i("ători",-1,5),new i("icitati",-1,4),new i("abilitati",-1,1),new i("ivitati",-1,3),new i("icivi",-1,4),new i("ativi",-1,5),new i("itivi",-1,6),new i("icităi",-1,4),new i("abilităi",-1,1),new i("ivităi",-1,3),new i("icităţi",-1,4),new i("abilităţi",-1,1),new i("ivităţi",-1,3),new i("ical",-1,4),new i("ator",-1,5),new i("icator",35,4),new i("itor",-1,6),new i("ător",-1,5),new i("iciv",-1,4),new i("ativ",-1,5),new i("itiv",-1,6),new i("icală",-1,4),new i("icivă",-1,4),new i("ativă",-1,5),new i("itivă",-1,6)],F=[new i("ica",-1,1),new i("abila",-1,1),new i("ibila",-1,1),new i("oasa",-1,1),new i("ata",-1,1),new i("ita",-1,1),new i("anta",-1,1),new i("ista",-1,3),new i("uta",-1,1),new i("iva",-1,1),new i("ic",-1,1),new i("ice",-1,1),new i("abile",-1,1),new i("ibile",-1,1),new i("isme",-1,3),new i("iune",-1,2),new i("oase",-1,1),new i("ate",-1,1),new i("itate",17,1),new i("ite",-1,1),new i("ante",-1,1),new i("iste",-1,3),new i("ute",-1,1),new i("ive",-1,1),new i("ici",-1,1),new i("abili",-1,1),new i("ibili",-1,1),new i("iuni",-1,2),new i("atori",-1,1),new i("osi",-1,1),new i("ati",-1,1),new i("itati",30,1),new i("iti",-1,1),new i("anti",-1,1),new i("isti",-1,3),new i("uti",-1,1),new i("işti",-1,3),new i("ivi",-1,1),new i("ităi",-1,1),new i("oşi",-1,1),new i("ităţi",-1,1),new i("abil",-1,1),new i("ibil",-1,1),new i("ism",-1,3),new i("ator",-1,1),new i("os",-1,1),new i("at",-1,1),new i("it",-1,1),new i("ant",-1,1),new i("ist",-1,3),new i("ut",-1,1),new i("iv",-1,1),new i("ică",-1,1),new i("abilă",-1,1),new i("ibilă",-1,1),new i("oasă",-1,1),new i("ată",-1,1),new i("ită",-1,1),new i("antă",-1,1),new i("istă",-1,3),new i("ută",-1,1),new i("ivă",-1,1)],q=[new i("ea",-1,1),new i("ia",-1,1),new i("esc",-1,1),new i("ăsc",-1,1),new i("ind",-1,1),new i("ând",-1,1),new i("are",-1,1),new i("ere",-1,1),new i("ire",-1,1),new i("âre",-1,1),new i("se",-1,2),new i("ase",10,1),new i("sese",10,2),new i("ise",10,1),new i("use",10,1),new i("âse",10,1),new i("eşte",-1,1),new i("ăşte",-1,1),new i("eze",-1,1),new i("ai",-1,1),new i("eai",19,1),new i("iai",19,1),new i("sei",-1,2),new i("eşti",-1,1),new i("ăşti",-1,1),new i("ui",-1,1),new i("ezi",-1,1),new i("âi",-1,1),new i("aşi",-1,1),new i("seşi",-1,2),new i("aseşi",29,1),new i("seseşi",29,2),new i("iseşi",29,1),new i("useşi",29,1),new i("âseşi",29,1),new i("işi",-1,1),new i("uşi",-1,1),new i("âşi",-1,1),new i("aţi",-1,2),new i("eaţi",38,1),new i("iaţi",38,1),new i("eţi",-1,2),new i("iţi",-1,2),new i("âţi",-1,2),new i("arăţi",-1,1),new i("serăţi",-1,2),new i("aserăţi",45,1),new i("seserăţi",45,2),new i("iserăţi",45,1),new i("userăţi",45,1),new i("âserăţi",45,1),new i("irăţi",-1,1),new i("urăţi",-1,1),new i("ârăţi",-1,1),new i("am",-1,1),new i("eam",54,1),new i("iam",54,1),new i("em",-1,2),new i("asem",57,1),new i("sesem",57,2),new i("isem",57,1),new i("usem",57,1),new i("âsem",57,1),new i("im",-1,2),new i("âm",-1,2),new i("ăm",-1,2),new i("arăm",65,1),new i("serăm",65,2),new i("aserăm",67,1),new i("seserăm",67,2),new i("iserăm",67,1),new i("userăm",67,1),new i("âserăm",67,1),new i("irăm",65,1),new i("urăm",65,1),new i("ârăm",65,1),new i("au",-1,1),new i("eau",76,1),new i("iau",76,1),new i("indu",-1,1),new i("ându",-1,1),new i("ez",-1,1),new i("ească",-1,1),new i("ară",-1,1),new i("seră",-1,2),new i("aseră",84,1),new i("seseră",84,2),new i("iseră",84,1),new i("useră",84,1),new i("âseră",84,1),new i("iră",-1,1),new i("ură",-1,1),new i("âră",-1,1),new i("ează",-1,1)],S=[new i("a",-1,1),new i("e",-1,1),new i("ie",1,1),new i("i",-1,1),new i("ă",-1,1)],W=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,2,32,0,0,4],L=new r;this.setCurrent=function(e){L.setCurrent(e)},this.getCurrent=function(){return L.getCurrent()},this.stem=function(){var e=L.cursor;return n(),L.cursor=e,c(),L.limit_backward=e,L.cursor=L.limit,f(),L.cursor=L.limit,d(),L.cursor=L.limit,_||(L.cursor=L.limit,b(),L.cursor=L.limit),v(),L.cursor=L.limit_backward,s(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.ro.stemmer,"stemmer-ro"),e.ro.stopWordFilter=e.generateStopWordFilter("acea aceasta această aceea acei aceia acel acela acele acelea acest acesta aceste acestea aceşti aceştia acolo acord acum ai aia aibă aici al ale alea altceva altcineva am ar are asemenea asta astea astăzi asupra au avea avem aveţi azi aş aşadar aţi bine bucur bună ca care caut ce cel ceva chiar cinci cine cineva contra cu cum cumva curând curînd când cât câte câtva câţi cînd cît cîte cîtva cîţi că căci cărei căror cărui către da dacă dar datorită dată dau de deci deja deoarece departe deşi din dinaintea dintr- dintre doi doilea două drept după dă ea ei el ele eram este eu eşti face fata fi fie fiecare fii fim fiu fiţi frumos fără graţie halbă iar ieri la le li lor lui lângă lîngă mai mea mei mele mereu meu mi mie mine mult multă mulţi mulţumesc mâine mîine mă ne nevoie nici nicăieri nimeni nimeri nimic nişte noastre noastră noi noroc nostru nouă noştri nu opt ori oricare orice oricine oricum oricând oricât oricînd oricît oriunde patra patru patrulea pe pentru peste pic poate pot prea prima primul prin puţin puţina puţină până pînă rog sa sale sau se spate spre sub sunt suntem sunteţi sută sînt sîntem sînteţi să săi său ta tale te timp tine toate toată tot totuşi toţi trei treia treilea tu tăi tău un una unde undeva unei uneia unele uneori unii unor unora unu unui unuia unul vi voastre voastră voi vostru vouă voştri vreme vreo vreun vă zece zero zi zice îi îl îmi împotriva în înainte înaintea încotro încât încît între întrucât întrucît îţi ăla ălea ăsta ăstea ăştia şapte şase şi ştiu ţi ţie".split(" ")),e.Pipeline.registerFunction(e.ro.stopWordFilter,"stopWordFilter-ro")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.ru.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.ru.min.js new file mode 100644 index 0000000000..186cc485c2 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.ru.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Russian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ru=function(){this.pipeline.reset(),this.pipeline.add(e.ru.trimmer,e.ru.stopWordFilter,e.ru.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ru.stemmer))},e.ru.wordCharacters="Ѐ-҄҇-ԯᴫᵸⷠ-ⷿꙀ-ꚟ︮︯",e.ru.trimmer=e.trimmerSupport.generateTrimmer(e.ru.wordCharacters),e.Pipeline.registerFunction(e.ru.trimmer,"trimmer-ru"),e.ru.stemmer=function(){var n=e.stemmerSupport.Among,r=e.stemmerSupport.SnowballProgram,t=new function(){function e(){for(;!W.in_grouping(S,1072,1103);){if(W.cursor>=W.limit)return!1;W.cursor++}return!0}function t(){for(;!W.out_grouping(S,1072,1103);){if(W.cursor>=W.limit)return!1;W.cursor++}return!0}function w(){b=W.limit,_=b,e()&&(b=W.cursor,t()&&e()&&t()&&(_=W.cursor))}function i(){return _<=W.cursor}function u(e,n){var r,t;if(W.ket=W.cursor,r=W.find_among_b(e,n)){switch(W.bra=W.cursor,r){case 1:if(t=W.limit-W.cursor,!W.eq_s_b(1,"а")&&(W.cursor=W.limit-t,!W.eq_s_b(1,"я")))return!1;case 2:W.slice_del()}return!0}return!1}function o(){return u(h,9)}function s(e,n){var r;return W.ket=W.cursor,!!(r=W.find_among_b(e,n))&&(W.bra=W.cursor,1==r&&W.slice_del(),!0)}function c(){return s(g,26)}function m(){return!!c()&&(u(C,8),!0)}function f(){return s(k,2)}function l(){return u(P,46)}function a(){s(v,36)}function p(){var e;W.ket=W.cursor,(e=W.find_among_b(F,2))&&(W.bra=W.cursor,i()&&1==e&&W.slice_del())}function d(){var e;if(W.ket=W.cursor,e=W.find_among_b(q,4))switch(W.bra=W.cursor,e){case 1:if(W.slice_del(),W.ket=W.cursor,!W.eq_s_b(1,"н"))break;W.bra=W.cursor;case 2:if(!W.eq_s_b(1,"н"))break;case 3:W.slice_del()}}var _,b,h=[new n("в",-1,1),new n("ив",0,2),new n("ыв",0,2),new n("вши",-1,1),new n("ивши",3,2),new n("ывши",3,2),new n("вшись",-1,1),new n("ившись",6,2),new n("ывшись",6,2)],g=[new n("ее",-1,1),new n("ие",-1,1),new n("ое",-1,1),new n("ые",-1,1),new n("ими",-1,1),new n("ыми",-1,1),new n("ей",-1,1),new n("ий",-1,1),new n("ой",-1,1),new n("ый",-1,1),new n("ем",-1,1),new n("им",-1,1),new n("ом",-1,1),new n("ым",-1,1),new n("его",-1,1),new n("ого",-1,1),new n("ему",-1,1),new n("ому",-1,1),new n("их",-1,1),new n("ых",-1,1),new n("ею",-1,1),new n("ою",-1,1),new n("ую",-1,1),new n("юю",-1,1),new n("ая",-1,1),new n("яя",-1,1)],C=[new n("ем",-1,1),new n("нн",-1,1),new n("вш",-1,1),new n("ивш",2,2),new n("ывш",2,2),new n("щ",-1,1),new n("ющ",5,1),new n("ующ",6,2)],k=[new n("сь",-1,1),new n("ся",-1,1)],P=[new n("ла",-1,1),new n("ила",0,2),new n("ыла",0,2),new n("на",-1,1),new n("ена",3,2),new n("ете",-1,1),new n("ите",-1,2),new n("йте",-1,1),new n("ейте",7,2),new n("уйте",7,2),new n("ли",-1,1),new n("или",10,2),new n("ыли",10,2),new n("й",-1,1),new n("ей",13,2),new n("уй",13,2),new n("л",-1,1),new n("ил",16,2),new n("ыл",16,2),new n("ем",-1,1),new n("им",-1,2),new n("ым",-1,2),new n("н",-1,1),new n("ен",22,2),new n("ло",-1,1),new n("ило",24,2),new n("ыло",24,2),new n("но",-1,1),new n("ено",27,2),new n("нно",27,1),new n("ет",-1,1),new n("ует",30,2),new n("ит",-1,2),new n("ыт",-1,2),new n("ют",-1,1),new n("уют",34,2),new n("ят",-1,2),new n("ны",-1,1),new n("ены",37,2),new n("ть",-1,1),new n("ить",39,2),new n("ыть",39,2),new n("ешь",-1,1),new n("ишь",-1,2),new n("ю",-1,2),new n("ую",44,2)],v=[new n("а",-1,1),new n("ев",-1,1),new n("ов",-1,1),new n("е",-1,1),new n("ие",3,1),new n("ье",3,1),new n("и",-1,1),new n("еи",6,1),new n("ии",6,1),new n("ами",6,1),new n("ями",6,1),new n("иями",10,1),new n("й",-1,1),new n("ей",12,1),new n("ией",13,1),new n("ий",12,1),new n("ой",12,1),new n("ам",-1,1),new n("ем",-1,1),new n("ием",18,1),new n("ом",-1,1),new n("ям",-1,1),new n("иям",21,1),new n("о",-1,1),new n("у",-1,1),new n("ах",-1,1),new n("ях",-1,1),new n("иях",26,1),new n("ы",-1,1),new n("ь",-1,1),new n("ю",-1,1),new n("ию",30,1),new n("ью",30,1),new n("я",-1,1),new n("ия",33,1),new n("ья",33,1)],F=[new n("ост",-1,1),new n("ость",-1,1)],q=[new n("ейше",-1,1),new n("н",-1,2),new n("ейш",-1,1),new n("ь",-1,3)],S=[33,65,8,232],W=new r;this.setCurrent=function(e){W.setCurrent(e)},this.getCurrent=function(){return W.getCurrent()},this.stem=function(){return w(),W.cursor=W.limit,!(W.cursor=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor++,!0}return!1},in_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e<=s&&e>=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor--,!0}return!1},out_grouping:function(t,i,s){if(this.cursors||e>3]&1<<(7&e)))return this.cursor++,!0}return!1},out_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e>s||e>3]&1<<(7&e)))return this.cursor--,!0}return!1},eq_s:function(t,i){if(this.limit-this.cursor>1),f=0,l=o0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n+_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n+_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},find_among_b:function(t,i){for(var s=0,e=i,n=this.cursor,u=this.limit_backward,o=0,h=0,c=!1;;){for(var a=s+(e-s>>1),f=0,l=o=0;m--){if(n-l==u){f=-1;break}if(f=r.charCodeAt(n-1-l)-_.s[m])break;l++}if(f<0?(e=a,h=l):(s=a,o=l),e-s<=1){if(s>0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n-_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n-_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},replace_s:function(t,i,s){var e=s.length-(i-t),n=r.substring(0,t),u=r.substring(i);return r=n+s+u,this.limit+=e,this.cursor>=i?this.cursor+=e:this.cursor>t&&(this.cursor=t),e},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>r.length)throw"faulty slice operation"},slice_from:function(r){this.slice_check(),this.replace_s(this.bra,this.ket,r)},slice_del:function(){this.slice_from("")},insert:function(r,t,i){var s=this.replace_s(r,t,i);r<=this.bra&&(this.bra+=s),r<=this.ket&&(this.ket+=s)},slice_to:function(){return this.slice_check(),r.substring(this.bra,this.ket)},eq_v_b:function(r){return this.eq_s_b(r.length,r)}}}},r.trimmerSupport={generateTrimmer:function(r){var t=new RegExp("^[^"+r+"]+"),i=new RegExp("[^"+r+"]+$");return function(r){return"function"==typeof r.update?r.update(function(r){return r.replace(t,"").replace(i,"")}):r.replace(t,"").replace(i,"")}}}}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.sv.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.sv.min.js new file mode 100644 index 0000000000..3e5eb64000 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.sv.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Swedish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.sv=function(){this.pipeline.reset(),this.pipeline.add(e.sv.trimmer,e.sv.stopWordFilter,e.sv.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.sv.stemmer))},e.sv.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.sv.trimmer=e.trimmerSupport.generateTrimmer(e.sv.wordCharacters),e.Pipeline.registerFunction(e.sv.trimmer,"trimmer-sv"),e.sv.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,t=new function(){function e(){var e,r=w.cursor+3;if(o=w.limit,0<=r||r<=w.limit){for(a=r;;){if(e=w.cursor,w.in_grouping(l,97,246)){w.cursor=e;break}if(w.cursor=e,w.cursor>=w.limit)return;w.cursor++}for(;!w.out_grouping(l,97,246);){if(w.cursor>=w.limit)return;w.cursor++}o=w.cursor,o=o&&(w.limit_backward=o,w.cursor=w.limit,w.ket=w.cursor,e=w.find_among_b(u,37),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:w.in_grouping_b(d,98,121)&&w.slice_del()}}function i(){var e=w.limit_backward;w.cursor>=o&&(w.limit_backward=o,w.cursor=w.limit,w.find_among_b(c,7)&&(w.cursor=w.limit,w.ket=w.cursor,w.cursor>w.limit_backward&&(w.bra=--w.cursor,w.slice_del())),w.limit_backward=e)}function s(){var e,r;if(w.cursor>=o){if(r=w.limit_backward,w.limit_backward=o,w.cursor=w.limit,w.ket=w.cursor,e=w.find_among_b(m,5))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:w.slice_from("lös");break;case 3:w.slice_from("full")}w.limit_backward=r}}var a,o,u=[new r("a",-1,1),new r("arna",0,1),new r("erna",0,1),new r("heterna",2,1),new r("orna",0,1),new r("ad",-1,1),new r("e",-1,1),new r("ade",6,1),new r("ande",6,1),new r("arne",6,1),new r("are",6,1),new r("aste",6,1),new r("en",-1,1),new r("anden",12,1),new r("aren",12,1),new r("heten",12,1),new r("ern",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",18,1),new r("or",-1,1),new r("s",-1,2),new r("as",21,1),new r("arnas",22,1),new r("ernas",22,1),new r("ornas",22,1),new r("es",21,1),new r("ades",26,1),new r("andes",26,1),new r("ens",21,1),new r("arens",29,1),new r("hetens",29,1),new r("erns",21,1),new r("at",-1,1),new r("andet",-1,1),new r("het",-1,1),new r("ast",-1,1)],c=[new r("dd",-1,-1),new r("gd",-1,-1),new r("nn",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1),new r("tt",-1,-1)],m=[new r("ig",-1,1),new r("lig",0,1),new r("els",-1,1),new r("fullt",-1,3),new r("löst",-1,2)],l=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,24,0,32],d=[119,127,149],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,t(),w.cursor=w.limit,i(),w.cursor=w.limit,s(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return t.setCurrent(e),t.stem(),t.getCurrent()}):(t.setCurrent(e),t.stem(),t.getCurrent())}}(),e.Pipeline.registerFunction(e.sv.stemmer,"stemmer-sv"),e.sv.stopWordFilter=e.generateStopWordFilter("alla allt att av blev bli blir blivit de dem den denna deras dess dessa det detta dig din dina ditt du där då efter ej eller en er era ert ett från för ha hade han hans har henne hennes hon honom hur här i icke ingen inom inte jag ju kan kunde man med mellan men mig min mina mitt mot mycket ni nu när någon något några och om oss på samma sedan sig sin sina sitta själv skulle som så sådan sådana sådant till under upp ut utan vad var vara varför varit varje vars vart vem vi vid vilka vilkas vilken vilket vår våra vårt än är åt över".split(" ")),e.Pipeline.registerFunction(e.sv.stopWordFilter,"stopWordFilter-sv")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.tr.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.tr.min.js new file mode 100644 index 0000000000..563f6ec1f5 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.tr.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Turkish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(r,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(r.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");r.tr=function(){this.pipeline.reset(),this.pipeline.add(r.tr.trimmer,r.tr.stopWordFilter,r.tr.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(r.tr.stemmer))},r.tr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.tr.trimmer=r.trimmerSupport.generateTrimmer(r.tr.wordCharacters),r.Pipeline.registerFunction(r.tr.trimmer,"trimmer-tr"),r.tr.stemmer=function(){var i=r.stemmerSupport.Among,e=r.stemmerSupport.SnowballProgram,n=new function(){function r(r,i,e){for(;;){var n=Dr.limit-Dr.cursor;if(Dr.in_grouping_b(r,i,e)){Dr.cursor=Dr.limit-n;break}if(Dr.cursor=Dr.limit-n,Dr.cursor<=Dr.limit_backward)return!1;Dr.cursor--}return!0}function n(){var i,e;i=Dr.limit-Dr.cursor,r(Wr,97,305);for(var n=0;nDr.limit_backward&&(Dr.cursor--,e=Dr.limit-Dr.cursor,i()))?(Dr.cursor=Dr.limit-e,!0):(Dr.cursor=Dr.limit-n,r()?(Dr.cursor=Dr.limit-n,!1):(Dr.cursor=Dr.limit-n,!(Dr.cursor<=Dr.limit_backward)&&(Dr.cursor--,!!i()&&(Dr.cursor=Dr.limit-n,!0))))}function u(r){return t(r,function(){return Dr.in_grouping_b(Wr,97,305)})}function o(){return u(function(){return Dr.eq_s_b(1,"n")})}function s(){return u(function(){return Dr.eq_s_b(1,"s")})}function c(){return u(function(){return Dr.eq_s_b(1,"y")})}function l(){return t(function(){return Dr.in_grouping_b(Lr,105,305)},function(){return Dr.out_grouping_b(Wr,97,305)})}function a(){return Dr.find_among_b(ur,10)&&l()}function m(){return n()&&Dr.in_grouping_b(Lr,105,305)&&s()}function d(){return Dr.find_among_b(or,2)}function f(){return n()&&Dr.in_grouping_b(Lr,105,305)&&c()}function b(){return n()&&Dr.find_among_b(sr,4)}function w(){return n()&&Dr.find_among_b(cr,4)&&o()}function _(){return n()&&Dr.find_among_b(lr,2)&&c()}function k(){return n()&&Dr.find_among_b(ar,2)}function p(){return n()&&Dr.find_among_b(mr,4)}function g(){return n()&&Dr.find_among_b(dr,2)}function y(){return n()&&Dr.find_among_b(fr,4)}function z(){return n()&&Dr.find_among_b(br,2)}function v(){return n()&&Dr.find_among_b(wr,2)&&c()}function h(){return Dr.eq_s_b(2,"ki")}function q(){return n()&&Dr.find_among_b(_r,2)&&o()}function C(){return n()&&Dr.find_among_b(kr,4)&&c()}function P(){return n()&&Dr.find_among_b(pr,4)}function F(){return n()&&Dr.find_among_b(gr,4)&&c()}function S(){return Dr.find_among_b(yr,4)}function W(){return n()&&Dr.find_among_b(zr,2)}function L(){return n()&&Dr.find_among_b(vr,4)}function x(){return n()&&Dr.find_among_b(hr,8)}function A(){return Dr.find_among_b(qr,2)}function E(){return n()&&Dr.find_among_b(Cr,32)&&c()}function j(){return Dr.find_among_b(Pr,8)&&c()}function T(){return n()&&Dr.find_among_b(Fr,4)&&c()}function Z(){return Dr.eq_s_b(3,"ken")&&c()}function B(){var r=Dr.limit-Dr.cursor;return!(T()||(Dr.cursor=Dr.limit-r,E()||(Dr.cursor=Dr.limit-r,j()||(Dr.cursor=Dr.limit-r,Z()))))}function D(){if(A()){var r=Dr.limit-Dr.cursor;if(S()||(Dr.cursor=Dr.limit-r,W()||(Dr.cursor=Dr.limit-r,C()||(Dr.cursor=Dr.limit-r,P()||(Dr.cursor=Dr.limit-r,F()||(Dr.cursor=Dr.limit-r))))),T())return!1}return!0}function G(){if(W()){Dr.bra=Dr.cursor,Dr.slice_del();var r=Dr.limit-Dr.cursor;return Dr.ket=Dr.cursor,x()||(Dr.cursor=Dr.limit-r,E()||(Dr.cursor=Dr.limit-r,j()||(Dr.cursor=Dr.limit-r,T()||(Dr.cursor=Dr.limit-r)))),nr=!1,!1}return!0}function H(){if(!L())return!0;var r=Dr.limit-Dr.cursor;return!E()&&(Dr.cursor=Dr.limit-r,!j())}function I(){var r,i=Dr.limit-Dr.cursor;return!(S()||(Dr.cursor=Dr.limit-i,F()||(Dr.cursor=Dr.limit-i,P()||(Dr.cursor=Dr.limit-i,C()))))||(Dr.bra=Dr.cursor,Dr.slice_del(),r=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,T()||(Dr.cursor=Dr.limit-r),!1)}function J(){var r,i=Dr.limit-Dr.cursor;if(Dr.ket=Dr.cursor,nr=!0,B()&&(Dr.cursor=Dr.limit-i,D()&&(Dr.cursor=Dr.limit-i,G()&&(Dr.cursor=Dr.limit-i,H()&&(Dr.cursor=Dr.limit-i,I()))))){if(Dr.cursor=Dr.limit-i,!x())return;Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,r=Dr.limit-Dr.cursor,S()||(Dr.cursor=Dr.limit-r,W()||(Dr.cursor=Dr.limit-r,C()||(Dr.cursor=Dr.limit-r,P()||(Dr.cursor=Dr.limit-r,F()||(Dr.cursor=Dr.limit-r))))),T()||(Dr.cursor=Dr.limit-r)}Dr.bra=Dr.cursor,Dr.slice_del()}function K(){var r,i,e,n;if(Dr.ket=Dr.cursor,h()){if(r=Dr.limit-Dr.cursor,p())return Dr.bra=Dr.cursor,Dr.slice_del(),i=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,W()?(Dr.bra=Dr.cursor,Dr.slice_del(),K()):(Dr.cursor=Dr.limit-i,a()&&(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K()))),!0;if(Dr.cursor=Dr.limit-r,w()){if(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,e=Dr.limit-Dr.cursor,d())Dr.bra=Dr.cursor,Dr.slice_del();else{if(Dr.cursor=Dr.limit-e,Dr.ket=Dr.cursor,!a()&&(Dr.cursor=Dr.limit-e,!m()&&(Dr.cursor=Dr.limit-e,!K())))return!0;Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K())}return!0}if(Dr.cursor=Dr.limit-r,g()){if(n=Dr.limit-Dr.cursor,d())Dr.bra=Dr.cursor,Dr.slice_del();else if(Dr.cursor=Dr.limit-n,m())Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K());else if(Dr.cursor=Dr.limit-n,!K())return!1;return!0}}return!1}function M(r){if(Dr.ket=Dr.cursor,!g()&&(Dr.cursor=Dr.limit-r,!k()))return!1;var i=Dr.limit-Dr.cursor;if(d())Dr.bra=Dr.cursor,Dr.slice_del();else if(Dr.cursor=Dr.limit-i,m())Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K());else if(Dr.cursor=Dr.limit-i,!K())return!1;return!0}function N(r){if(Dr.ket=Dr.cursor,!z()&&(Dr.cursor=Dr.limit-r,!b()))return!1;var i=Dr.limit-Dr.cursor;return!(!m()&&(Dr.cursor=Dr.limit-i,!d()))&&(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K()),!0)}function O(){var r,i=Dr.limit-Dr.cursor;return Dr.ket=Dr.cursor,!(!w()&&(Dr.cursor=Dr.limit-i,!v()))&&(Dr.bra=Dr.cursor,Dr.slice_del(),r=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,!(!W()||(Dr.bra=Dr.cursor,Dr.slice_del(),!K()))||(Dr.cursor=Dr.limit-r,Dr.ket=Dr.cursor,!(a()||(Dr.cursor=Dr.limit-r,m()||(Dr.cursor=Dr.limit-r,K())))||(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K()),!0)))}function Q(){var r,i,e=Dr.limit-Dr.cursor;if(Dr.ket=Dr.cursor,!p()&&(Dr.cursor=Dr.limit-e,!f()&&(Dr.cursor=Dr.limit-e,!_())))return!1;if(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,r=Dr.limit-Dr.cursor,a())Dr.bra=Dr.cursor,Dr.slice_del(),i=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,W()||(Dr.cursor=Dr.limit-i);else if(Dr.cursor=Dr.limit-r,!W())return!0;return Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,K(),!0}function R(){var r,i,e=Dr.limit-Dr.cursor;if(Dr.ket=Dr.cursor,W())return Dr.bra=Dr.cursor,Dr.slice_del(),void K();if(Dr.cursor=Dr.limit-e,Dr.ket=Dr.cursor,q())if(Dr.bra=Dr.cursor,Dr.slice_del(),r=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,d())Dr.bra=Dr.cursor,Dr.slice_del();else{if(Dr.cursor=Dr.limit-r,Dr.ket=Dr.cursor,!a()&&(Dr.cursor=Dr.limit-r,!m())){if(Dr.cursor=Dr.limit-r,Dr.ket=Dr.cursor,!W())return;if(Dr.bra=Dr.cursor,Dr.slice_del(),!K())return}Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K())}else if(Dr.cursor=Dr.limit-e,!M(e)&&(Dr.cursor=Dr.limit-e,!N(e))){if(Dr.cursor=Dr.limit-e,Dr.ket=Dr.cursor,y())return Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,i=Dr.limit-Dr.cursor,void(a()?(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K())):(Dr.cursor=Dr.limit-i,W()?(Dr.bra=Dr.cursor,Dr.slice_del(),K()):(Dr.cursor=Dr.limit-i,K())));if(Dr.cursor=Dr.limit-e,!O()){if(Dr.cursor=Dr.limit-e,d())return Dr.bra=Dr.cursor,void Dr.slice_del();Dr.cursor=Dr.limit-e,K()||(Dr.cursor=Dr.limit-e,Q()||(Dr.cursor=Dr.limit-e,Dr.ket=Dr.cursor,(a()||(Dr.cursor=Dr.limit-e,m()))&&(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K()))))}}}function U(){var r;if(Dr.ket=Dr.cursor,r=Dr.find_among_b(Sr,4))switch(Dr.bra=Dr.cursor,r){case 1:Dr.slice_from("p");break;case 2:Dr.slice_from("ç");break;case 3:Dr.slice_from("t");break;case 4:Dr.slice_from("k")}}function V(){for(;;){var r=Dr.limit-Dr.cursor;if(Dr.in_grouping_b(Wr,97,305)){Dr.cursor=Dr.limit-r;break}if(Dr.cursor=Dr.limit-r,Dr.cursor<=Dr.limit_backward)return!1;Dr.cursor--}return!0}function X(r,i,e){if(Dr.cursor=Dr.limit-r,V()){var n=Dr.limit-Dr.cursor;if(!Dr.eq_s_b(1,i)&&(Dr.cursor=Dr.limit-n,!Dr.eq_s_b(1,e)))return!0;Dr.cursor=Dr.limit-r;var t=Dr.cursor;return Dr.insert(Dr.cursor,Dr.cursor,e),Dr.cursor=t,!1}return!0}function Y(){var r=Dr.limit-Dr.cursor;(Dr.eq_s_b(1,"d")||(Dr.cursor=Dr.limit-r,Dr.eq_s_b(1,"g")))&&X(r,"a","ı")&&X(r,"e","i")&&X(r,"o","u")&&X(r,"ö","ü")}function $(){for(var r,i=Dr.cursor,e=2;;){for(r=Dr.cursor;!Dr.in_grouping(Wr,97,305);){if(Dr.cursor>=Dr.limit)return Dr.cursor=r,!(e>0)&&(Dr.cursor=i,!0);Dr.cursor++}e--}}function rr(r,i,e){for(;!Dr.eq_s(i,e);){if(Dr.cursor>=Dr.limit)return!0;Dr.cursor++}return(tr=i)!=Dr.limit||(Dr.cursor=r,!1)}function ir(){var r=Dr.cursor;return!rr(r,2,"ad")||(Dr.cursor=r,!rr(r,5,"soyad"))}function er(){var r=Dr.cursor;return!ir()&&(Dr.limit_backward=r,Dr.cursor=Dr.limit,Y(),Dr.cursor=Dr.limit,U(),!0)}var nr,tr,ur=[new i("m",-1,-1),new i("n",-1,-1),new i("miz",-1,-1),new i("niz",-1,-1),new i("muz",-1,-1),new i("nuz",-1,-1),new i("müz",-1,-1),new i("nüz",-1,-1),new i("mız",-1,-1),new i("nız",-1,-1)],or=[new i("leri",-1,-1),new i("ları",-1,-1)],sr=[new i("ni",-1,-1),new i("nu",-1,-1),new i("nü",-1,-1),new i("nı",-1,-1)],cr=[new i("in",-1,-1),new i("un",-1,-1),new i("ün",-1,-1),new i("ın",-1,-1)],lr=[new i("a",-1,-1),new i("e",-1,-1)],ar=[new i("na",-1,-1),new i("ne",-1,-1)],mr=[new i("da",-1,-1),new i("ta",-1,-1),new i("de",-1,-1),new i("te",-1,-1)],dr=[new i("nda",-1,-1),new i("nde",-1,-1)],fr=[new i("dan",-1,-1),new i("tan",-1,-1),new i("den",-1,-1),new i("ten",-1,-1)],br=[new i("ndan",-1,-1),new i("nden",-1,-1)],wr=[new i("la",-1,-1),new i("le",-1,-1)],_r=[new i("ca",-1,-1),new i("ce",-1,-1)],kr=[new i("im",-1,-1),new i("um",-1,-1),new i("üm",-1,-1),new i("ım",-1,-1)],pr=[new i("sin",-1,-1),new i("sun",-1,-1),new i("sün",-1,-1),new i("sın",-1,-1)],gr=[new i("iz",-1,-1),new i("uz",-1,-1),new i("üz",-1,-1),new i("ız",-1,-1)],yr=[new i("siniz",-1,-1),new i("sunuz",-1,-1),new i("sünüz",-1,-1),new i("sınız",-1,-1)],zr=[new i("lar",-1,-1),new i("ler",-1,-1)],vr=[new i("niz",-1,-1),new i("nuz",-1,-1),new i("nüz",-1,-1),new i("nız",-1,-1)],hr=[new i("dir",-1,-1),new i("tir",-1,-1),new i("dur",-1,-1),new i("tur",-1,-1),new i("dür",-1,-1),new i("tür",-1,-1),new i("dır",-1,-1),new i("tır",-1,-1)],qr=[new i("casına",-1,-1),new i("cesine",-1,-1)],Cr=[new i("di",-1,-1),new i("ti",-1,-1),new i("dik",-1,-1),new i("tik",-1,-1),new i("duk",-1,-1),new i("tuk",-1,-1),new i("dük",-1,-1),new i("tük",-1,-1),new i("dık",-1,-1),new i("tık",-1,-1),new i("dim",-1,-1),new i("tim",-1,-1),new i("dum",-1,-1),new i("tum",-1,-1),new i("düm",-1,-1),new i("tüm",-1,-1),new i("dım",-1,-1),new i("tım",-1,-1),new i("din",-1,-1),new i("tin",-1,-1),new i("dun",-1,-1),new i("tun",-1,-1),new i("dün",-1,-1),new i("tün",-1,-1),new i("dın",-1,-1),new i("tın",-1,-1),new i("du",-1,-1),new i("tu",-1,-1),new i("dü",-1,-1),new i("tü",-1,-1),new i("dı",-1,-1),new i("tı",-1,-1)],Pr=[new i("sa",-1,-1),new i("se",-1,-1),new i("sak",-1,-1),new i("sek",-1,-1),new i("sam",-1,-1),new i("sem",-1,-1),new i("san",-1,-1),new i("sen",-1,-1)],Fr=[new i("miş",-1,-1),new i("muş",-1,-1),new i("müş",-1,-1),new i("mış",-1,-1)],Sr=[new i("b",-1,1),new i("c",-1,2),new i("d",-1,3),new i("ğ",-1,4)],Wr=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,8,0,0,0,0,0,0,1],Lr=[1,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,1],xr=[1,64,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],Ar=[17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130],Er=[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],jr=[17],Tr=[65],Zr=[65],Br=[["a",xr,97,305],["e",Ar,101,252],["ı",Er,97,305],["i",jr,101,105],["o",Tr,111,117],["ö",Zr,246,252],["u",Tr,111,117]],Dr=new e;this.setCurrent=function(r){Dr.setCurrent(r)},this.getCurrent=function(){return Dr.getCurrent()},this.stem=function(){return!!($()&&(Dr.limit_backward=Dr.cursor,Dr.cursor=Dr.limit,J(),Dr.cursor=Dr.limit,nr&&(R(),Dr.cursor=Dr.limit_backward,er())))}};return function(r){return"function"==typeof r.update?r.update(function(r){return n.setCurrent(r),n.stem(),n.getCurrent()}):(n.setCurrent(r),n.stem(),n.getCurrent())}}(),r.Pipeline.registerFunction(r.tr.stemmer,"stemmer-tr"),r.tr.stopWordFilter=r.generateStopWordFilter("acaba altmış altı ama ancak arada aslında ayrıca bana bazı belki ben benden beni benim beri beş bile bin bir biri birkaç birkez birçok birşey birşeyi biz bizden bize bizi bizim bu buna bunda bundan bunlar bunları bunların bunu bunun burada böyle böylece da daha dahi de defa değil diye diğer doksan dokuz dolayı dolayısıyla dört edecek eden ederek edilecek ediliyor edilmesi ediyor elli en etmesi etti ettiği ettiğini eğer gibi göre halen hangi hatta hem henüz hep hepsi her herhangi herkesin hiç hiçbir iki ile ilgili ise itibaren itibariyle için işte kadar karşın katrilyon kendi kendilerine kendini kendisi kendisine kendisini kez ki kim kimden kime kimi kimse kırk milyar milyon mu mü mı nasıl ne neden nedenle nerde nerede nereye niye niçin o olan olarak oldu olduklarını olduğu olduğunu olmadı olmadığı olmak olması olmayan olmaz olsa olsun olup olur olursa oluyor on ona ondan onlar onlardan onları onların onu onun otuz oysa pek rağmen sadece sanki sekiz seksen sen senden seni senin siz sizden sizi sizin tarafından trilyon tüm var vardı ve veya ya yani yapacak yapmak yaptı yaptıkları yaptığı yaptığını yapılan yapılması yapıyor yedi yerine yetmiş yine yirmi yoksa yüz zaten çok çünkü öyle üzere üç şey şeyden şeyi şeyler şu şuna şunda şundan şunları şunu şöyle".split(" ")),r.Pipeline.registerFunction(r.tr.stopWordFilter,"stopWordFilter-tr")}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/min/lunr.vi.min.js b/v5.4.0/assets/javascripts/lunr/min/lunr.vi.min.js new file mode 100644 index 0000000000..22aed28c49 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/min/lunr.vi.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.vi=function(){this.pipeline.reset(),this.pipeline.add(e.vi.stopWordFilter,e.vi.trimmer)},e.vi.wordCharacters="[A-Za-ẓ̀͐́͑̉̃̓ÂâÊêÔôĂ-ăĐ-đƠ-ơƯ-ư]",e.vi.trimmer=e.trimmerSupport.generateTrimmer(e.vi.wordCharacters),e.Pipeline.registerFunction(e.vi.trimmer,"trimmer-vi"),e.vi.stopWordFilter=e.generateStopWordFilter("là cái nhưng mà".split(" "))}}); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/lunr/tinyseg.js b/v5.4.0/assets/javascripts/lunr/tinyseg.js new file mode 100644 index 0000000000..167fa6dd69 --- /dev/null +++ b/v5.4.0/assets/javascripts/lunr/tinyseg.js @@ -0,0 +1,206 @@ +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +;(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function () { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + + return function(lunr) { + // TinySegmenter 0.1 -- Super compact Japanese tokenizer in Javascript + // (c) 2008 Taku Kudo + // TinySegmenter is freely distributable under the terms of a new BSD licence. + // For details, see http://chasen.org/~taku/software/TinySegmenter/LICENCE.txt + + function TinySegmenter() { + var patterns = { + "[一二三四五六七八九十百千万億兆]":"M", + "[一-龠々〆ヵヶ]":"H", + "[ぁ-ん]":"I", + "[ァ-ヴーア-ン゙ー]":"K", + "[a-zA-Za-zA-Z]":"A", + "[0-90-9]":"N" + } + this.chartype_ = []; + for (var i in patterns) { + var regexp = new RegExp(i); + this.chartype_.push([regexp, patterns[i]]); + } + + this.BIAS__ = -332 + this.BC1__ = {"HH":6,"II":2461,"KH":406,"OH":-1378}; + this.BC2__ = {"AA":-3267,"AI":2744,"AN":-878,"HH":-4070,"HM":-1711,"HN":4012,"HO":3761,"IA":1327,"IH":-1184,"II":-1332,"IK":1721,"IO":5492,"KI":3831,"KK":-8741,"MH":-3132,"MK":3334,"OO":-2920}; + this.BC3__ = {"HH":996,"HI":626,"HK":-721,"HN":-1307,"HO":-836,"IH":-301,"KK":2762,"MK":1079,"MM":4034,"OA":-1652,"OH":266}; + this.BP1__ = {"BB":295,"OB":304,"OO":-125,"UB":352}; + this.BP2__ = {"BO":60,"OO":-1762}; + this.BQ1__ = {"BHH":1150,"BHM":1521,"BII":-1158,"BIM":886,"BMH":1208,"BNH":449,"BOH":-91,"BOO":-2597,"OHI":451,"OIH":-296,"OKA":1851,"OKH":-1020,"OKK":904,"OOO":2965}; + this.BQ2__ = {"BHH":118,"BHI":-1159,"BHM":466,"BIH":-919,"BKK":-1720,"BKO":864,"OHH":-1139,"OHM":-181,"OIH":153,"UHI":-1146}; + this.BQ3__ = {"BHH":-792,"BHI":2664,"BII":-299,"BKI":419,"BMH":937,"BMM":8335,"BNN":998,"BOH":775,"OHH":2174,"OHM":439,"OII":280,"OKH":1798,"OKI":-793,"OKO":-2242,"OMH":-2402,"OOO":11699}; + this.BQ4__ = {"BHH":-3895,"BIH":3761,"BII":-4654,"BIK":1348,"BKK":-1806,"BMI":-3385,"BOO":-12396,"OAH":926,"OHH":266,"OHK":-2036,"ONN":-973}; + this.BW1__ = {",と":660,",同":727,"B1あ":1404,"B1同":542,"、と":660,"、同":727,"」と":1682,"あっ":1505,"いう":1743,"いっ":-2055,"いる":672,"うし":-4817,"うん":665,"から":3472,"がら":600,"こう":-790,"こと":2083,"こん":-1262,"さら":-4143,"さん":4573,"した":2641,"して":1104,"すで":-3399,"そこ":1977,"それ":-871,"たち":1122,"ため":601,"った":3463,"つい":-802,"てい":805,"てき":1249,"でき":1127,"です":3445,"では":844,"とい":-4915,"とみ":1922,"どこ":3887,"ない":5713,"なっ":3015,"など":7379,"なん":-1113,"にし":2468,"には":1498,"にも":1671,"に対":-912,"の一":-501,"の中":741,"ませ":2448,"まで":1711,"まま":2600,"まる":-2155,"やむ":-1947,"よっ":-2565,"れた":2369,"れで":-913,"をし":1860,"を見":731,"亡く":-1886,"京都":2558,"取り":-2784,"大き":-2604,"大阪":1497,"平方":-2314,"引き":-1336,"日本":-195,"本当":-2423,"毎日":-2113,"目指":-724,"B1あ":1404,"B1同":542,"」と":1682}; + this.BW2__ = {"..":-11822,"11":-669,"――":-5730,"−−":-13175,"いう":-1609,"うか":2490,"かし":-1350,"かも":-602,"から":-7194,"かれ":4612,"がい":853,"がら":-3198,"きた":1941,"くな":-1597,"こと":-8392,"この":-4193,"させ":4533,"され":13168,"さん":-3977,"しい":-1819,"しか":-545,"した":5078,"して":972,"しな":939,"その":-3744,"たい":-1253,"たた":-662,"ただ":-3857,"たち":-786,"たと":1224,"たは":-939,"った":4589,"って":1647,"っと":-2094,"てい":6144,"てき":3640,"てく":2551,"ては":-3110,"ても":-3065,"でい":2666,"でき":-1528,"でし":-3828,"です":-4761,"でも":-4203,"とい":1890,"とこ":-1746,"とと":-2279,"との":720,"とみ":5168,"とも":-3941,"ない":-2488,"なが":-1313,"など":-6509,"なの":2614,"なん":3099,"にお":-1615,"にし":2748,"にな":2454,"によ":-7236,"に対":-14943,"に従":-4688,"に関":-11388,"のか":2093,"ので":-7059,"のに":-6041,"のの":-6125,"はい":1073,"はが":-1033,"はず":-2532,"ばれ":1813,"まし":-1316,"まで":-6621,"まれ":5409,"めて":-3153,"もい":2230,"もの":-10713,"らか":-944,"らし":-1611,"らに":-1897,"りし":651,"りま":1620,"れた":4270,"れて":849,"れば":4114,"ろう":6067,"われ":7901,"を通":-11877,"んだ":728,"んな":-4115,"一人":602,"一方":-1375,"一日":970,"一部":-1051,"上が":-4479,"会社":-1116,"出て":2163,"分の":-7758,"同党":970,"同日":-913,"大阪":-2471,"委員":-1250,"少な":-1050,"年度":-8669,"年間":-1626,"府県":-2363,"手権":-1982,"新聞":-4066,"日新":-722,"日本":-7068,"日米":3372,"曜日":-601,"朝鮮":-2355,"本人":-2697,"東京":-1543,"然と":-1384,"社会":-1276,"立て":-990,"第に":-1612,"米国":-4268,"11":-669}; + this.BW3__ = {"あた":-2194,"あり":719,"ある":3846,"い.":-1185,"い。":-1185,"いい":5308,"いえ":2079,"いく":3029,"いた":2056,"いっ":1883,"いる":5600,"いわ":1527,"うち":1117,"うと":4798,"えと":1454,"か.":2857,"か。":2857,"かけ":-743,"かっ":-4098,"かに":-669,"から":6520,"かり":-2670,"が,":1816,"が、":1816,"がき":-4855,"がけ":-1127,"がっ":-913,"がら":-4977,"がり":-2064,"きた":1645,"けど":1374,"こと":7397,"この":1542,"ころ":-2757,"さい":-714,"さを":976,"し,":1557,"し、":1557,"しい":-3714,"した":3562,"して":1449,"しな":2608,"しま":1200,"す.":-1310,"す。":-1310,"する":6521,"ず,":3426,"ず、":3426,"ずに":841,"そう":428,"た.":8875,"た。":8875,"たい":-594,"たの":812,"たり":-1183,"たる":-853,"だ.":4098,"だ。":4098,"だっ":1004,"った":-4748,"って":300,"てい":6240,"てお":855,"ても":302,"です":1437,"でに":-1482,"では":2295,"とう":-1387,"とし":2266,"との":541,"とも":-3543,"どう":4664,"ない":1796,"なく":-903,"など":2135,"に,":-1021,"に、":-1021,"にし":1771,"にな":1906,"には":2644,"の,":-724,"の、":-724,"の子":-1000,"は,":1337,"は、":1337,"べき":2181,"まし":1113,"ます":6943,"まっ":-1549,"まで":6154,"まれ":-793,"らし":1479,"られ":6820,"るる":3818,"れ,":854,"れ、":854,"れた":1850,"れて":1375,"れば":-3246,"れる":1091,"われ":-605,"んだ":606,"んで":798,"カ月":990,"会議":860,"入り":1232,"大会":2217,"始め":1681,"市":965,"新聞":-5055,"日,":974,"日、":974,"社会":2024,"カ月":990}; + this.TC1__ = {"AAA":1093,"HHH":1029,"HHM":580,"HII":998,"HOH":-390,"HOM":-331,"IHI":1169,"IOH":-142,"IOI":-1015,"IOM":467,"MMH":187,"OOI":-1832}; + this.TC2__ = {"HHO":2088,"HII":-1023,"HMM":-1154,"IHI":-1965,"KKH":703,"OII":-2649}; + this.TC3__ = {"AAA":-294,"HHH":346,"HHI":-341,"HII":-1088,"HIK":731,"HOH":-1486,"IHH":128,"IHI":-3041,"IHO":-1935,"IIH":-825,"IIM":-1035,"IOI":-542,"KHH":-1216,"KKA":491,"KKH":-1217,"KOK":-1009,"MHH":-2694,"MHM":-457,"MHO":123,"MMH":-471,"NNH":-1689,"NNO":662,"OHO":-3393}; + this.TC4__ = {"HHH":-203,"HHI":1344,"HHK":365,"HHM":-122,"HHN":182,"HHO":669,"HIH":804,"HII":679,"HOH":446,"IHH":695,"IHO":-2324,"IIH":321,"III":1497,"IIO":656,"IOO":54,"KAK":4845,"KKA":3386,"KKK":3065,"MHH":-405,"MHI":201,"MMH":-241,"MMM":661,"MOM":841}; + this.TQ1__ = {"BHHH":-227,"BHHI":316,"BHIH":-132,"BIHH":60,"BIII":1595,"BNHH":-744,"BOHH":225,"BOOO":-908,"OAKK":482,"OHHH":281,"OHIH":249,"OIHI":200,"OIIH":-68}; + this.TQ2__ = {"BIHH":-1401,"BIII":-1033,"BKAK":-543,"BOOO":-5591}; + this.TQ3__ = {"BHHH":478,"BHHM":-1073,"BHIH":222,"BHII":-504,"BIIH":-116,"BIII":-105,"BMHI":-863,"BMHM":-464,"BOMH":620,"OHHH":346,"OHHI":1729,"OHII":997,"OHMH":481,"OIHH":623,"OIIH":1344,"OKAK":2792,"OKHH":587,"OKKA":679,"OOHH":110,"OOII":-685}; + this.TQ4__ = {"BHHH":-721,"BHHM":-3604,"BHII":-966,"BIIH":-607,"BIII":-2181,"OAAA":-2763,"OAKK":180,"OHHH":-294,"OHHI":2446,"OHHO":480,"OHIH":-1573,"OIHH":1935,"OIHI":-493,"OIIH":626,"OIII":-4007,"OKAK":-8156}; + this.TW1__ = {"につい":-4681,"東京都":2026}; + this.TW2__ = {"ある程":-2049,"いった":-1256,"ころが":-2434,"しょう":3873,"その後":-4430,"だって":-1049,"ていた":1833,"として":-4657,"ともに":-4517,"もので":1882,"一気に":-792,"初めて":-1512,"同時に":-8097,"大きな":-1255,"対して":-2721,"社会党":-3216}; + this.TW3__ = {"いただ":-1734,"してい":1314,"として":-4314,"につい":-5483,"にとっ":-5989,"に当た":-6247,"ので,":-727,"ので、":-727,"のもの":-600,"れから":-3752,"十二月":-2287}; + this.TW4__ = {"いう.":8576,"いう。":8576,"からな":-2348,"してい":2958,"たが,":1516,"たが、":1516,"ている":1538,"という":1349,"ました":5543,"ません":1097,"ようと":-4258,"よると":5865}; + this.UC1__ = {"A":484,"K":93,"M":645,"O":-505}; + this.UC2__ = {"A":819,"H":1059,"I":409,"M":3987,"N":5775,"O":646}; + this.UC3__ = {"A":-1370,"I":2311}; + this.UC4__ = {"A":-2643,"H":1809,"I":-1032,"K":-3450,"M":3565,"N":3876,"O":6646}; + this.UC5__ = {"H":313,"I":-1238,"K":-799,"M":539,"O":-831}; + this.UC6__ = {"H":-506,"I":-253,"K":87,"M":247,"O":-387}; + this.UP1__ = {"O":-214}; + this.UP2__ = {"B":69,"O":935}; + this.UP3__ = {"B":189}; + this.UQ1__ = {"BH":21,"BI":-12,"BK":-99,"BN":142,"BO":-56,"OH":-95,"OI":477,"OK":410,"OO":-2422}; + this.UQ2__ = {"BH":216,"BI":113,"OK":1759}; + this.UQ3__ = {"BA":-479,"BH":42,"BI":1913,"BK":-7198,"BM":3160,"BN":6427,"BO":14761,"OI":-827,"ON":-3212}; + this.UW1__ = {",":156,"、":156,"「":-463,"あ":-941,"う":-127,"が":-553,"き":121,"こ":505,"で":-201,"と":-547,"ど":-123,"に":-789,"の":-185,"は":-847,"も":-466,"や":-470,"よ":182,"ら":-292,"り":208,"れ":169,"を":-446,"ん":-137,"・":-135,"主":-402,"京":-268,"区":-912,"午":871,"国":-460,"大":561,"委":729,"市":-411,"日":-141,"理":361,"生":-408,"県":-386,"都":-718,"「":-463,"・":-135}; + this.UW2__ = {",":-829,"、":-829,"〇":892,"「":-645,"」":3145,"あ":-538,"い":505,"う":134,"お":-502,"か":1454,"が":-856,"く":-412,"こ":1141,"さ":878,"ざ":540,"し":1529,"す":-675,"せ":300,"そ":-1011,"た":188,"だ":1837,"つ":-949,"て":-291,"で":-268,"と":-981,"ど":1273,"な":1063,"に":-1764,"の":130,"は":-409,"ひ":-1273,"べ":1261,"ま":600,"も":-1263,"や":-402,"よ":1639,"り":-579,"る":-694,"れ":571,"を":-2516,"ん":2095,"ア":-587,"カ":306,"キ":568,"ッ":831,"三":-758,"不":-2150,"世":-302,"中":-968,"主":-861,"事":492,"人":-123,"会":978,"保":362,"入":548,"初":-3025,"副":-1566,"北":-3414,"区":-422,"大":-1769,"天":-865,"太":-483,"子":-1519,"学":760,"実":1023,"小":-2009,"市":-813,"年":-1060,"強":1067,"手":-1519,"揺":-1033,"政":1522,"文":-1355,"新":-1682,"日":-1815,"明":-1462,"最":-630,"朝":-1843,"本":-1650,"東":-931,"果":-665,"次":-2378,"民":-180,"気":-1740,"理":752,"発":529,"目":-1584,"相":-242,"県":-1165,"立":-763,"第":810,"米":509,"自":-1353,"行":838,"西":-744,"見":-3874,"調":1010,"議":1198,"込":3041,"開":1758,"間":-1257,"「":-645,"」":3145,"ッ":831,"ア":-587,"カ":306,"キ":568}; + this.UW3__ = {",":4889,"1":-800,"−":-1723,"、":4889,"々":-2311,"〇":5827,"」":2670,"〓":-3573,"あ":-2696,"い":1006,"う":2342,"え":1983,"お":-4864,"か":-1163,"が":3271,"く":1004,"け":388,"げ":401,"こ":-3552,"ご":-3116,"さ":-1058,"し":-395,"す":584,"せ":3685,"そ":-5228,"た":842,"ち":-521,"っ":-1444,"つ":-1081,"て":6167,"で":2318,"と":1691,"ど":-899,"な":-2788,"に":2745,"の":4056,"は":4555,"ひ":-2171,"ふ":-1798,"へ":1199,"ほ":-5516,"ま":-4384,"み":-120,"め":1205,"も":2323,"や":-788,"よ":-202,"ら":727,"り":649,"る":5905,"れ":2773,"わ":-1207,"を":6620,"ん":-518,"ア":551,"グ":1319,"ス":874,"ッ":-1350,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278,"・":-3794,"一":-1619,"下":-1759,"世":-2087,"両":3815,"中":653,"主":-758,"予":-1193,"二":974,"人":2742,"今":792,"他":1889,"以":-1368,"低":811,"何":4265,"作":-361,"保":-2439,"元":4858,"党":3593,"全":1574,"公":-3030,"六":755,"共":-1880,"円":5807,"再":3095,"分":457,"初":2475,"別":1129,"前":2286,"副":4437,"力":365,"動":-949,"務":-1872,"化":1327,"北":-1038,"区":4646,"千":-2309,"午":-783,"協":-1006,"口":483,"右":1233,"各":3588,"合":-241,"同":3906,"和":-837,"員":4513,"国":642,"型":1389,"場":1219,"外":-241,"妻":2016,"学":-1356,"安":-423,"実":-1008,"家":1078,"小":-513,"少":-3102,"州":1155,"市":3197,"平":-1804,"年":2416,"広":-1030,"府":1605,"度":1452,"建":-2352,"当":-3885,"得":1905,"思":-1291,"性":1822,"戸":-488,"指":-3973,"政":-2013,"教":-1479,"数":3222,"文":-1489,"新":1764,"日":2099,"旧":5792,"昨":-661,"時":-1248,"曜":-951,"最":-937,"月":4125,"期":360,"李":3094,"村":364,"東":-805,"核":5156,"森":2438,"業":484,"氏":2613,"民":-1694,"決":-1073,"法":1868,"海":-495,"無":979,"物":461,"特":-3850,"生":-273,"用":914,"町":1215,"的":7313,"直":-1835,"省":792,"県":6293,"知":-1528,"私":4231,"税":401,"立":-960,"第":1201,"米":7767,"系":3066,"約":3663,"級":1384,"統":-4229,"総":1163,"線":1255,"者":6457,"能":725,"自":-2869,"英":785,"見":1044,"調":-562,"財":-733,"費":1777,"車":1835,"軍":1375,"込":-1504,"通":-1136,"選":-681,"郎":1026,"郡":4404,"部":1200,"金":2163,"長":421,"開":-1432,"間":1302,"関":-1282,"雨":2009,"電":-1045,"非":2066,"駅":1620,"1":-800,"」":2670,"・":-3794,"ッ":-1350,"ア":551,"グ":1319,"ス":874,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278}; + this.UW4__ = {",":3930,".":3508,"―":-4841,"、":3930,"。":3508,"〇":4999,"「":1895,"」":3798,"〓":-5156,"あ":4752,"い":-3435,"う":-640,"え":-2514,"お":2405,"か":530,"が":6006,"き":-4482,"ぎ":-3821,"く":-3788,"け":-4376,"げ":-4734,"こ":2255,"ご":1979,"さ":2864,"し":-843,"じ":-2506,"す":-731,"ず":1251,"せ":181,"そ":4091,"た":5034,"だ":5408,"ち":-3654,"っ":-5882,"つ":-1659,"て":3994,"で":7410,"と":4547,"な":5433,"に":6499,"ぬ":1853,"ね":1413,"の":7396,"は":8578,"ば":1940,"ひ":4249,"び":-4134,"ふ":1345,"へ":6665,"べ":-744,"ほ":1464,"ま":1051,"み":-2082,"む":-882,"め":-5046,"も":4169,"ゃ":-2666,"や":2795,"ょ":-1544,"よ":3351,"ら":-2922,"り":-9726,"る":-14896,"れ":-2613,"ろ":-4570,"わ":-1783,"を":13150,"ん":-2352,"カ":2145,"コ":1789,"セ":1287,"ッ":-724,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637,"・":-4371,"ー":-11870,"一":-2069,"中":2210,"予":782,"事":-190,"井":-1768,"人":1036,"以":544,"会":950,"体":-1286,"作":530,"側":4292,"先":601,"党":-2006,"共":-1212,"内":584,"円":788,"初":1347,"前":1623,"副":3879,"力":-302,"動":-740,"務":-2715,"化":776,"区":4517,"協":1013,"参":1555,"合":-1834,"和":-681,"員":-910,"器":-851,"回":1500,"国":-619,"園":-1200,"地":866,"場":-1410,"塁":-2094,"士":-1413,"多":1067,"大":571,"子":-4802,"学":-1397,"定":-1057,"寺":-809,"小":1910,"屋":-1328,"山":-1500,"島":-2056,"川":-2667,"市":2771,"年":374,"庁":-4556,"後":456,"性":553,"感":916,"所":-1566,"支":856,"改":787,"政":2182,"教":704,"文":522,"方":-856,"日":1798,"時":1829,"最":845,"月":-9066,"木":-485,"来":-442,"校":-360,"業":-1043,"氏":5388,"民":-2716,"気":-910,"沢":-939,"済":-543,"物":-735,"率":672,"球":-1267,"生":-1286,"産":-1101,"田":-2900,"町":1826,"的":2586,"目":922,"省":-3485,"県":2997,"空":-867,"立":-2112,"第":788,"米":2937,"系":786,"約":2171,"経":1146,"統":-1169,"総":940,"線":-994,"署":749,"者":2145,"能":-730,"般":-852,"行":-792,"規":792,"警":-1184,"議":-244,"谷":-1000,"賞":730,"車":-1481,"軍":1158,"輪":-1433,"込":-3370,"近":929,"道":-1291,"選":2596,"郎":-4866,"都":1192,"野":-1100,"銀":-2213,"長":357,"間":-2344,"院":-2297,"際":-2604,"電":-878,"領":-1659,"題":-792,"館":-1984,"首":1749,"高":2120,"「":1895,"」":3798,"・":-4371,"ッ":-724,"ー":-11870,"カ":2145,"コ":1789,"セ":1287,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637}; + this.UW5__ = {",":465,".":-299,"1":-514,"E2":-32768,"]":-2762,"、":465,"。":-299,"「":363,"あ":1655,"い":331,"う":-503,"え":1199,"お":527,"か":647,"が":-421,"き":1624,"ぎ":1971,"く":312,"げ":-983,"さ":-1537,"し":-1371,"す":-852,"だ":-1186,"ち":1093,"っ":52,"つ":921,"て":-18,"で":-850,"と":-127,"ど":1682,"な":-787,"に":-1224,"の":-635,"は":-578,"べ":1001,"み":502,"め":865,"ゃ":3350,"ょ":854,"り":-208,"る":429,"れ":504,"わ":419,"を":-1264,"ん":327,"イ":241,"ル":451,"ン":-343,"中":-871,"京":722,"会":-1153,"党":-654,"務":3519,"区":-901,"告":848,"員":2104,"大":-1296,"学":-548,"定":1785,"嵐":-1304,"市":-2991,"席":921,"年":1763,"思":872,"所":-814,"挙":1618,"新":-1682,"日":218,"月":-4353,"査":932,"格":1356,"機":-1508,"氏":-1347,"田":240,"町":-3912,"的":-3149,"相":1319,"省":-1052,"県":-4003,"研":-997,"社":-278,"空":-813,"統":1955,"者":-2233,"表":663,"語":-1073,"議":1219,"選":-1018,"郎":-368,"長":786,"間":1191,"題":2368,"館":-689,"1":-514,"E2":-32768,"「":363,"イ":241,"ル":451,"ン":-343}; + this.UW6__ = {",":227,".":808,"1":-270,"E1":306,"、":227,"。":808,"あ":-307,"う":189,"か":241,"が":-73,"く":-121,"こ":-200,"じ":1782,"す":383,"た":-428,"っ":573,"て":-1014,"で":101,"と":-105,"な":-253,"に":-149,"の":-417,"は":-236,"も":-206,"り":187,"る":-135,"を":195,"ル":-673,"ン":-496,"一":-277,"中":201,"件":-800,"会":624,"前":302,"区":1792,"員":-1212,"委":798,"学":-960,"市":887,"広":-695,"後":535,"業":-697,"相":753,"社":-507,"福":974,"空":-822,"者":1811,"連":463,"郎":1082,"1":-270,"E1":306,"ル":-673,"ン":-496}; + + return this; + } + TinySegmenter.prototype.ctype_ = function(str) { + for (var i in this.chartype_) { + if (str.match(this.chartype_[i][0])) { + return this.chartype_[i][1]; + } + } + return "O"; + } + + TinySegmenter.prototype.ts_ = function(v) { + if (v) { return v; } + return 0; + } + + TinySegmenter.prototype.segment = function(input) { + if (input == null || input == undefined || input == "") { + return []; + } + var result = []; + var seg = ["B3","B2","B1"]; + var ctype = ["O","O","O"]; + var o = input.split(""); + for (i = 0; i < o.length; ++i) { + seg.push(o[i]); + ctype.push(this.ctype_(o[i])) + } + seg.push("E1"); + seg.push("E2"); + seg.push("E3"); + ctype.push("O"); + ctype.push("O"); + ctype.push("O"); + var word = seg[3]; + var p1 = "U"; + var p2 = "U"; + var p3 = "U"; + for (var i = 4; i < seg.length - 3; ++i) { + var score = this.BIAS__; + var w1 = seg[i-3]; + var w2 = seg[i-2]; + var w3 = seg[i-1]; + var w4 = seg[i]; + var w5 = seg[i+1]; + var w6 = seg[i+2]; + var c1 = ctype[i-3]; + var c2 = ctype[i-2]; + var c3 = ctype[i-1]; + var c4 = ctype[i]; + var c5 = ctype[i+1]; + var c6 = ctype[i+2]; + score += this.ts_(this.UP1__[p1]); + score += this.ts_(this.UP2__[p2]); + score += this.ts_(this.UP3__[p3]); + score += this.ts_(this.BP1__[p1 + p2]); + score += this.ts_(this.BP2__[p2 + p3]); + score += this.ts_(this.UW1__[w1]); + score += this.ts_(this.UW2__[w2]); + score += this.ts_(this.UW3__[w3]); + score += this.ts_(this.UW4__[w4]); + score += this.ts_(this.UW5__[w5]); + score += this.ts_(this.UW6__[w6]); + score += this.ts_(this.BW1__[w2 + w3]); + score += this.ts_(this.BW2__[w3 + w4]); + score += this.ts_(this.BW3__[w4 + w5]); + score += this.ts_(this.TW1__[w1 + w2 + w3]); + score += this.ts_(this.TW2__[w2 + w3 + w4]); + score += this.ts_(this.TW3__[w3 + w4 + w5]); + score += this.ts_(this.TW4__[w4 + w5 + w6]); + score += this.ts_(this.UC1__[c1]); + score += this.ts_(this.UC2__[c2]); + score += this.ts_(this.UC3__[c3]); + score += this.ts_(this.UC4__[c4]); + score += this.ts_(this.UC5__[c5]); + score += this.ts_(this.UC6__[c6]); + score += this.ts_(this.BC1__[c2 + c3]); + score += this.ts_(this.BC2__[c3 + c4]); + score += this.ts_(this.BC3__[c4 + c5]); + score += this.ts_(this.TC1__[c1 + c2 + c3]); + score += this.ts_(this.TC2__[c2 + c3 + c4]); + score += this.ts_(this.TC3__[c3 + c4 + c5]); + score += this.ts_(this.TC4__[c4 + c5 + c6]); + // score += this.ts_(this.TC5__[c4 + c5 + c6]); + score += this.ts_(this.UQ1__[p1 + c1]); + score += this.ts_(this.UQ2__[p2 + c2]); + score += this.ts_(this.UQ3__[p3 + c3]); + score += this.ts_(this.BQ1__[p2 + c2 + c3]); + score += this.ts_(this.BQ2__[p2 + c3 + c4]); + score += this.ts_(this.BQ3__[p3 + c2 + c3]); + score += this.ts_(this.BQ4__[p3 + c3 + c4]); + score += this.ts_(this.TQ1__[p2 + c1 + c2 + c3]); + score += this.ts_(this.TQ2__[p2 + c2 + c3 + c4]); + score += this.ts_(this.TQ3__[p3 + c1 + c2 + c3]); + score += this.ts_(this.TQ4__[p3 + c2 + c3 + c4]); + var p = "O"; + if (score > 0) { + result.push(word); + word = ""; + p = "B"; + } + p1 = p2; + p2 = p3; + p3 = p; + word += seg[i]; + } + result.push(word); + + return result; + } + + lunr.TinySegmenter = TinySegmenter; + }; + +})); \ No newline at end of file diff --git a/v5.4.0/assets/javascripts/workers/search.df8cae7d.min.js b/v5.4.0/assets/javascripts/workers/search.df8cae7d.min.js new file mode 100644 index 0000000000..4197eccca3 --- /dev/null +++ b/v5.4.0/assets/javascripts/workers/search.df8cae7d.min.js @@ -0,0 +1,59 @@ +(()=>{var ge=Object.create,U=Object.defineProperty,ye=Object.defineProperties,me=Object.getOwnPropertyDescriptor,ve=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertyNames,Y=Object.getOwnPropertySymbols,Se=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable;var J=(t,e,r)=>e in t?U(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,j=(t,e)=>{for(var r in e||(e={}))G.call(e,r)&&J(t,r,e[r]);if(Y)for(var r of Y(e))Qe.call(e,r)&&J(t,r,e[r]);return t},X=(t,e)=>ye(t,ve(e)),be=t=>U(t,"__esModule",{value:!0});var Z=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var we=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of xe(e))!G.call(t,n)&&n!=="default"&&U(t,n,{get:()=>e[n],enumerable:!(r=me(e,n))||r.enumerable});return t},K=t=>we(be(U(t!=null?ge(Se(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var W=(t,e,r)=>new Promise((n,i)=>{var s=u=>{try{a(r.next(u))}catch(c){i(c)}},o=u=>{try{a(r.throw(u))}catch(c){i(c)}},a=u=>u.done?n(u.value):Promise.resolve(u.value).then(s,o);a((r=r.apply(t,e)).next())});var re=Z((ee,te)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var h=t.utils.clone(r)||{};h.position=[a,c],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ou?h+=2:a==u&&(r+=n[c+1]*i[h+1],c+=2,h+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}s.str.length==1&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),y=s.str.charAt(1),g;y in s.node.edges?g=s.node.edges[y]:(g=new t.TokenSet,s.node.edges[y]=g),s.str.length==1&&(g.final=!0),i.push({node:g,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof ee=="object"?te.exports=r():e.lunr=r()}(this,function(){return t})})()});var ie=Z((Te,ne)=>{"use strict";var Le=/["'&<>]/;ne.exports=Ee;function Ee(t){var e=""+t,r=Le.exec(e);if(!r)return e;var n,i="",s=0,o=0;for(s=r.index;s`${i}${s}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${t.separator})(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(e,"|")})`,"img");return s=>s.replace(i,r).replace(/<\/mark>(\s+)]*>/img,"$1")}}function ue(t){let e=new lunr.Query(["title","text"]);return new lunr.QueryParser(t,e).parse(),e.clauses}function ce(t,e){let r=new Set(t),n={};for(let i=0;i!n.has(i)))]}var q=class{constructor({config:e,docs:r,index:n,options:i}){this.options=i,this.documents=oe(r),this.highlight=ae(e),lunr.tokenizer.separator=new RegExp(e.separator),typeof n=="undefined"?this.index=lunr(function(){e.lang.length===1&&e.lang[0]!=="en"?this.use(lunr[e.lang[0]]):e.lang.length>1&&this.use(lunr.multiLanguage(...e.lang));let s=ke(["trimmer","stopWordFilter","stemmer"],i.pipeline);for(let o of e.lang.map(a=>a==="en"?lunr:lunr[a]))for(let a of s)this.pipeline.remove(o[a]),this.searchPipeline.remove(o[a]);this.ref("location"),this.field("title",{boost:1e3}),this.field("text"),this.field("tags",{boost:1e6});for(let o of r)this.add(o,{boost:o.boost})}):this.index=lunr.Index.load(n)}search(e){if(e)try{let r=this.highlight(e),n=ue(e).filter(o=>o.presence!==lunr.Query.presence.PROHIBITED),i=this.index.search(`${e}*`).reduce((o,{ref:a,score:u,matchData:c})=>{let h=this.documents.get(a);if(typeof h!="undefined"){let{location:y,title:g,text:b,tags:m,parent:Q}=h,f=ce(n,Object.keys(c.metadata)),p=+!Q+ +Object.values(f).every(L=>L);o.push(X(j({location:y,title:r(g),text:r(b)},m&&{tags:m.map(r)}),{score:u*(1+p),terms:f}))}return o},[]).sort((o,a)=>a.score-o.score).reduce((o,a)=>{let u=this.documents.get(a.location);if(typeof u!="undefined"){let c="parent"in u?u.parent.location:u.location;o.set(c,[...o.get(c)||[],a])}return o},new Map),s;if(this.options.suggestions){let o=this.index.query(a=>{for(let u of n)a.term(u.term,{fields:["title"],presence:lunr.Query.presence.REQUIRED,wildcard:lunr.Query.wildcard.TRAILING})});s=o.length?Object.keys(o[0].matchData.metadata):[]}return j({items:[...i.values()]},typeof s!="undefined"&&{suggestions:s})}catch(r){console.warn(`Invalid query: ${e} \u2013 see https://bit.ly/2s3ChXG`)}return{items:[]}}};var T;(function(i){i[i.SETUP=0]="SETUP",i[i.READY=1]="READY",i[i.QUERY=2]="QUERY",i[i.RESULT=3]="RESULT"})(T||(T={}));var H;function Pe(t){return W(this,null,function*(){let e="../lunr";if(typeof parent!="undefined"&&"IFrameWorker"in parent){let n=document.querySelector("script[src]"),[i]=n.src.split("/worker");e=e.replace("..",i)}let r=[];for(let n of t.lang)n==="ja"&&r.push(`${e}/tinyseg.js`),n!=="en"&&r.push(`${e}/min/lunr.${n}.min.js`);t.lang.length>1&&r.push(`${e}/min/lunr.multi.min.js`),r.length&&(yield importScripts(`${e}/min/lunr.stemmer.support.min.js`,...r))})}function Ie(t){return W(this,null,function*(){switch(t.type){case T.SETUP:return yield Pe(t.data.config),H=new q(t.data),{type:T.READY};case T.QUERY:return{type:T.RESULT,data:H?H.search(t.data):{items:[]}};default:throw new TypeError("Invalid message type")}})}self.lunr=le.default;addEventListener("message",t=>W(void 0,null,function*(){postMessage(yield Ie(t.data))}));})(); +/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */ +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ diff --git a/v5.4.0/assets/stylesheets/main.92048cb8.min.css b/v5.4.0/assets/stylesheets/main.92048cb8.min.css new file mode 100644 index 0000000000..d4d59a00ef --- /dev/null +++ b/v5.4.0/assets/stylesheets/main.92048cb8.min.css @@ -0,0 +1 @@ +@charset "UTF-8";html{-webkit-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:content-box;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:transparent;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-default-fg-color:rgba(0,0,0,0.87);--md-default-fg-color--light:rgba(0,0,0,0.54);--md-default-fg-color--lighter:rgba(0,0,0,0.32);--md-default-fg-color--lightest:rgba(0,0,0,0.07);--md-default-bg-color:#fff;--md-default-bg-color--light:hsla(0,0%,100%,0.7);--md-default-bg-color--lighter:hsla(0,0%,100%,0.3);--md-default-bg-color--lightest:hsla(0,0%,100%,0.12);--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7);--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:rgba(82,108,254,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}:root>*{--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-hl-color:rgba(255,255,0,0.5);--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-mark-color:rgba(255,255,0,0.5);--md-typeset-del-color:rgba(245,80,61,0.15);--md-typeset-ins-color:rgba(11,213,112,0.15);--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-footer-fg-color:#fff;--md-footer-fg-color--light:hsla(0,0%,100%,0.7);--md-footer-fg-color--lighter:hsla(0,0%,100%,0.3);--md-footer-bg-color:rgba(0,0,0,0.87);--md-footer-bg-color--dark:rgba(0,0,0,0.32)}.md-icon svg{fill:currentColor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family,_),SFMono-Regular,Consolas,Menlo,monospace}:root{--md-typeset-table--ascending:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table--descending:url('data:image/svg+xml;charset=utf-8,')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;line-height:1.6}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin:1em 0}.md-typeset h1{color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{font-size:1.5625em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:400;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{background-color:transparent;box-shadow:none;margin:initial;padding:initial}.md-typeset a code{color:currentColor}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) transparent;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width:44.9375em){.md-content>.md-typeset>pre{margin:1em -.8rem}.md-content>.md-typeset>pre code{border-radius:0}}.md-typeset kbd{background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset;color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help;text-decoration:none}@media (hover:none){.md-typeset abbr{position:relative}.md-typeset abbr[title]:focus:after,.md-typeset abbr[title]:hover:after{background-color:var(--md-default-fg-color);border-radius:.1rem;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);color:var(--md-default-bg-color);content:attr(title);display:inline-block;font-size:.7rem;left:0;margin-top:2em;max-width:80%;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;padding:.2rem .3rem;position:absolute;width:auto}}.md-typeset small{opacity:.75}.md-typeset sub,.md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-left:0;margin-right:.078125em}.md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--lighter);color:var(--md-default-fg-color--light);display:flow-root;padding-left:.6rem}[dir=rtl] .md-typeset blockquote{border-left:initial;border-right:.2rem solid var(--md-default-fg-color--lighter);padding-left:0;padding-right:.6rem}.md-typeset ul{list-style-type:disc}.md-typeset ol,.md-typeset ul{display:flow-root;margin-left:.625em;padding:0}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-left:0;margin-right:.625em}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-left:0;margin-right:1.25em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-left:0;margin-right:.625em}.md-typeset dd{margin:1em 0 1.5em 1.875em}[dir=rtl] .md-typeset dd{margin-left:0;margin-right:1.875em}.md-typeset img,.md-typeset svg{height:auto;max-width:100%}.md-typeset img[align=left],.md-typeset svg[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right],.md-typeset svg[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child,.md-typeset svg[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:0 auto;max-width:100%;text-align:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.md-typeset figure img{display:block}.md-typeset figcaption{font-style:italic;margin:1em auto 2em;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .05rem rgba(0,0,0,.1);display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{background-color:var(--md-default-fg-color--light);color:var(--md-default-bg-color);min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) th a{color:inherit}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-default-fg-color--lightest);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tr{transition:background-color 125ms}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.04);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;margin-left:.5em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:sub;width:1.2em}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:currentColor;-webkit-mask-image:var(--md-typeset-table--ascending);mask-image:var(--md-typeset-table--ascending)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:currentColor;-webkit-mask-image:var(--md-typeset-table--descending);mask-image:var(--md-typeset-table--descending)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100%;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.9375em){body[data-md-state=lock]{position:fixed}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}.md-banner{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background:var(--md-typeset-mark-color);color:var(--md-default-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,')}.md-clipboard{border-radius:.1rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;position:absolute;right:.5em;top:.5em;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentColor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){.md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:.8rem;margin-right:1.2rem}.md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem;margin-right:.8rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}.md-content__button{float:right;margin:.4rem 0 .4rem .4rem;padding:0}@media print{.md-content__button{display:none}}[dir=rtl] .md-content__button{float:left;margin-left:0;margin-right:.4rem}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}.md-dialog{background-color:var(--md-default-fg-color);border-radius:.1rem;bottom:.8rem;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);left:auto;min-width:11.1rem;opacity:0;padding:.4rem .6rem;pointer-events:none;position:fixed;right:.8rem;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:3}@media print{.md-dialog{display:none}}[dir=rtl] .md-dialog{left:.8rem;right:auto}.md-dialog[data-md-state=open]{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-typeset .md-button{border:.1rem solid;border-radius:.1rem;color:var(--md-primary-fg-color);display:inline-block;font-weight:700;padding:.625em 2em;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-typeset .md-input{border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.1),0 .025rem .05rem rgba(0,0,0,.1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{box-shadow:0 .4rem 1rem rgba(0,0,0,.15),0 .025rem .05rem rgba(0,0,0,.15)}.md-typeset .md-input--stretch{width:100%}.md-header{background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem transparent,0 .2rem .4rem transparent;color:var(--md-primary-bg-color);left:0;position:-webkit-sticky;position:sticky;right:0;top:0;z-index:3}@media print{.md-header{display:none}}.md-header[data-md-state=shadow]{box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.1,.7,.1,1),box-shadow .25s}.md-header[data-md-state=hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),box-shadow .25s}.md-header__inner{align-items:center;display:flex;padding:0 .2rem}.md-header__button{color:currentColor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.1875em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentColor;display:block;height:1.2rem;width:1.2rem}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;line-height:2.4rem;margin-left:1rem;margin-right:.4rem}.md-header__title[data-md-state=active] .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title[data-md-state=active] .md-header__topic{transform:translateX(1.25rem)}.md-header__title[data-md-state=active] .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;transition:max-width 0ms .25s,opacity .25s .25s;white-space:nowrap}[data-md-toggle=search]:checked~.md-header .md-header__option{max-width:0;opacity:0;transition:max-width 0ms,opacity 0ms}.md-header__source{display:none}@media screen and (min-width:60em){.md-header__source{display:block;margin-left:1rem;max-width:11.7rem;width:11.7rem}[dir=rtl] .md-header__source{margin-left:0;margin-right:1rem}}@media screen and (min-width:76.25em){.md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}.md-footer{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{overflow:auto;padding:.2rem}.md-footer__link{display:flex;outline-color:var(--md-accent-fg-color);padding-bottom:.4rem;padding-top:1.4rem;transition:opacity .25s}@media screen and (min-width:45em){.md-footer__link{width:50%}}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}.md-footer__link--prev{float:left}@media screen and (max-width:44.9375em){.md-footer__link--prev{width:25%}.md-footer__link--prev .md-footer__title{display:none}}[dir=rtl] .md-footer__link--prev{float:right}[dir=rtl] .md-footer__link--prev svg{transform:scaleX(-1)}.md-footer__link--next{float:right;text-align:right}@media screen and (max-width:44.9375em){.md-footer__link--next{width:75%}}[dir=rtl] .md-footer__link--next{float:left;text-align:left}[dir=rtl] .md-footer__link--next svg{transform:scaleX(-1)}.md-footer__title{flex-grow:1;font-size:.9rem;line-height:2.4rem;max-width:calc(100% - 2.4rem);padding:0 1rem;position:relative}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{font-size:.64rem;left:0;margin-top:-1rem;opacity:.7;padding:0 1rem;position:absolute;right:0}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-footer-copyright{color:var(--md-footer-fg-color--lighter);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-footer-copyright{width:auto}}.md-footer-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-footer-social{padding:.6rem 0}}.md-footer-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-footer-social__link:before{line-height:1.9}.md-footer-social__link svg{fill:currentColor;max-height:.8rem;vertical-align:-25%}:root{--md-nav-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,');--md-toc-icon:url('data:image/svg+xml;charset=utf-8,')}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;font-weight:700;overflow:hidden;padding:0 .6rem;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{height:100%;width:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{fill:currentColor;display:block;height:2.4rem;width:2.4rem}.md-nav__list{margin:0;padding:0}.md-nav__item{display:block;padding:0 .6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-left:0;padding-right:.6rem}.md-nav__link{cursor:pointer;display:block;margin-top:.625em;overflow:hidden;scroll-snap-align:start;text-overflow:ellipsis;transition:color 125ms}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-nav__link--container{display:flex}.md-nav__link--container>:first-child{flex-grow:1}.md-nav__link--container>*{cursor:inherit}.md-nav__item .md-nav__link--active{color:var(--md-typeset-a-color)}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{background-color:currentColor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__source{display:none}@media screen and (max-width:76.1875em){.md-nav--primary,.md-nav--primary .md-nav{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);cursor:pointer;font-weight:400;height:5.6rem;line-height:2.4rem;padding:3rem .8rem .2rem;position:relative;white-space:nowrap}.md-nav--primary .md-nav__title .md-nav__icon{display:block;height:1.2rem;left:.4rem;margin:.2rem;position:absolute;top:.4rem;width:1.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{left:auto;right:.4rem}.md-nav--primary .md-nav__title .md-nav__icon:after{background-color:currentColor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.md-nav--primary .md-nav__title~.md-nav__list{background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;overflow-y:auto;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-nav--primary .md-nav__title .md-logo{display:block;left:.2rem;margin:.2rem;padding:.4rem;position:absolute;top:.2rem}[dir=rtl] .md-nav--primary .md-nav__title .md-logo{left:auto;right:.2rem}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{border-top:.05rem solid var(--md-default-fg-color--lightest);padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-left:2.4rem;padding-right:.8rem}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{margin-top:0;padding:.6rem .8rem;position:relative}.md-nav--primary .md-nav__link .md-nav__icon{color:inherit;font-size:1.2rem;height:1.2rem;margin-top:-.6rem;position:absolute;right:.6rem;top:50%;width:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{left:.6rem;right:auto}.md-nav--primary .md-nav__link .md-nav__icon:after{background-color:currentColor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{background-color:transparent;position:static}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:0;padding-right:1.4rem}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:0;padding-right:2rem}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:0;padding-right:2.6rem}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:0;padding-right:3.2rem}.md-nav--secondary{background-color:transparent}.md-nav__toggle~.md-nav{display:flex;opacity:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{opacity:1;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width:59.9375em){.md-nav--primary .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__link[for=__toc]{padding-left:2.4rem;padding-right:.8rem}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{background-color:var(--md-primary-fg-color--dark);color:var(--md-primary-bg-color);display:block;padding:0 .2rem}}@media screen and (min-width:60em) and (max-width:76.1875em){.md-nav--integrated .md-nav__link[for=__toc]{display:block;padding-right:2.4rem;scroll-snap-align:none}[dir=rtl] .md-nav--integrated .md-nav__link[for=__toc]{padding-left:2.4rem;padding-right:.8rem}.md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:-webkit-sticky;position:sticky;top:0}.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width:76.25em){.md-nav{transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav--primary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:-webkit-sticky;position:sticky;top:0}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav,.md-nav__toggle:indeterminate~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700;pointer-events:none}.md-nav__item--section>.md-nav__link>*{pointer-events:auto}.md-nav__item--section>.md-nav__link .md-icon{display:none}.md-nav__item--section>.md-nav{display:block}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{float:right;height:.9rem;transition:transform .25s;width:.9rem}[dir=rtl] .md-nav__icon{float:left;transform:rotate(180deg)}.md-nav__icon:after{background-color:currentColor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:-.1rem;width:100%}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon,.md-nav__item--nested .md-nav__toggle:indeterminate~.md-nav__link .md-nav__icon{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item--nested,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav>.md-nav__title{display:block;padding:0 .6rem;pointer-events:none;scroll-snap-align:start}.md-nav--lifted .md-nav[data-md-level="1"]{display:block}.md-nav--lifted .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding-right:.6rem}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{border-left:.05rem solid var(--md-primary-fg-color);display:block;margin-bottom:1.25em}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav>.md-nav__title{display:none}}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.9375em){.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;left:-2.2rem;overflow:hidden;pointer-events:none;position:absolute;top:.2rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[dir=rtl] .md-search__overlay{left:auto;right:-2.2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){.md-search__overlay{background-color:rgba(0,0,0,.54);cursor:pointer;height:0;left:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[dir=rtl] .md-search__overlay{left:auto;right:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width:59.9375em){.md-search__inner{height:100%;left:100%;opacity:0;position:fixed;top:0;transform:translateX(5%);transition:right 0ms .3s,left 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:100%;z-index:2}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;opacity:1;transform:translateX(0);transition:right 0ms 0ms,left 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{left:auto;right:0}html [dir=rtl] .md-search__inner{left:auto;right:100%;transform:translateX(-5%)}}@media screen and (min-width:60em){.md-search__inner{float:right;padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}[dir=rtl] .md-search__inner{float:left}}@media screen and (min-width:60em) and (max-width:76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem transparent;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:rgba(0,0,0,.26);border-radius:.1rem;height:1.8rem}.md-search__form:hover{background-color:hsla(0,0%,100%,.12)}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0;box-shadow:0 0 .6rem rgba(0,0,0,.07);color:var(--md-default-fg-color)}.md-search__input{background:transparent;font-size:.9rem;height:100%;padding:0 2.2rem 0 3.6rem;position:relative;text-overflow:ellipsis;width:100%;z-index:2}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color .25s;transition:color .25s}.md-search__input::-moz-placeholder{-moz-transition:color .25s;transition:color .25s}.md-search__input::-ms-input-placeholder{-ms-transition:color .25s;transition:color .25s}.md-search__input::placeholder{transition:color .25s}.md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.9375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){.md-search__input{color:inherit;font-size:.8rem;padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input::-webkit-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-moz-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::-ms-input-placeholder{color:var(--md-primary-bg-color--light)}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:var(--md-default-fg-color--light)}}.md-search__icon{cursor:pointer;display:inline-block;height:1.2rem;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{left:.5rem;position:absolute;top:.3rem;z-index:2}[dir=rtl] .md-search__icon[for=__search]{left:auto;right:.5rem}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.9375em){.md-search__icon[for=__search]{left:.8rem;top:.6rem}[dir=rtl] .md-search__icon[for=__search]{left:auto;right:.8rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}.md-search__options{pointer-events:none;position:absolute;right:.5rem;top:.3rem;z-index:2}[dir=rtl] .md-search__options{left:.5rem;right:auto}@media screen and (max-width:59.9375em){.md-search__options{right:.8rem;top:.6rem}[dir=rtl] .md-search__options{left:.8rem;right:auto}}.md-search__options>*{color:var(--md-default-fg-color--light);margin-left:.2rem;opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>*{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>:hover{opacity:.7}.md-search__suggest{align-items:center;color:var(--md-default-fg-color--lighter);display:flex;font-size:.9rem;height:100%;opacity:0;padding:0 2.2rem 0 3.6rem;position:absolute;top:0;transition:opacity 50ms;white-space:nowrap;width:100%}[dir=rtl] .md-search__suggest{padding:0 3.6rem 0 2.2rem}@media screen and (min-width:60em){.md-search__suggest{font-size:.8rem;padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}.md-search__output{border-radius:0 0 .1rem .1rem;overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.9375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}}.md-search__scrollwrap{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) transparent;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-left:0;padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0}.md-search-result__item{box-shadow:0 -.05rem 0 var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more summary{color:var(--md-typeset-a-color);cursor:pointer;display:block;font-size:.64rem;outline:none;padding:.75em .8rem;scroll-snap-align:start;transition:color .25s,background-color .25s}@media screen and (min-width:60em){.md-search-result__more summary{padding-left:2.2rem}[dir=rtl] .md-search-result__more summary{padding-left:.8rem;padding-right:2.2rem}}.md-search-result__more summary:focus,.md-search-result__more summary:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more summary::-webkit-details-marker,.md-search-result__more summary::marker{display:none}.md-search-result__more summary~*>*{opacity:.65}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-left:.8rem;padding-right:2.2rem}}.md-search-result__article--document .md-search-result__title{font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;left:0;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.9375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentColor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon{left:auto;right:0}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result__title{font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result__teaser{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--md-default-fg-color--light);display:-webkit-box;font-size:.64rem;line-height:1.6;margin:.5em 0;max-height:2rem;overflow:hidden;text-overflow:ellipsis}@media screen and (max-width:44.9375em){.md-search-result__teaser{-webkit-line-clamp:3;max-height:3rem}}@media screen and (min-width:60em) and (max-width:76.1875em){.md-search-result__teaser{-webkit-line-clamp:3;max-height:3rem}}.md-search-result__teaser mark{background-color:transparent;text-decoration:underline}.md-search-result__terms{font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:transparent;color:var(--md-accent-fg-color)}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.1),0 0 .05rem rgba(0,0,0,.25);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:10rem;opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}.md-select__inner:after{border-bottom:.2rem solid transparent;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid transparent;border-right:.2rem solid transparent;border-top:0;content:"";height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}.md-select__link{cursor:pointer;display:block;outline:none;padding-left:.6rem;padding-right:1.2rem;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.2rem 0;position:-webkit-sticky;position:sticky;top:2.4rem;width:12.1rem}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.1875em){.md-sidebar--primary{background-color:var(--md-default-bg-color);display:block;height:100%;left:-12.1rem;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;width:12.1rem;z-index:4}[dir=rtl] .md-sidebar--primary{left:auto;right:-12.1rem}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;overflow:hidden;position:absolute;right:0;-ms-scroll-snap-type:none;scroll-snap-type:none;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:0 .2rem;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) transparent;scrollbar-width:thin}.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) transparent}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width:76.1875em){.md-overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0;z-index:4}[data-md-toggle=drawer]:checked~.md-overlay{height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@-webkit-keyframes facts{0%{height:0}to{height:.65rem}}@keyframes facts{0%{height:0}to{height:.65rem}}@-webkit-keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-source{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}.md-source__icon svg{margin-left:.6rem;margin-top:.6rem}[dir=rtl] .md-source__icon svg{margin-left:0;margin-right:.6rem}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-left:0;margin-right:-2rem;padding-left:0;padding-right:2rem}.md-source__repository{display:inline-block;margin-left:.6rem;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{font-size:.55rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0}[data-md-state=done] .md-source__facts{-webkit-animation:facts .25s ease-in;animation:facts .25s ease-in}.md-source__fact{display:inline-block}[data-md-state=done] .md-source__fact{-webkit-animation:fact .4s ease-out;animation:fact .4s ease-out}.md-source__fact:before{background-color:currentColor;content:"";display:inline-block;height:.6rem;margin-right:.1rem;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2):before{margin-left:.4rem}[dir=rtl] .md-source__fact{margin-left:.1rem;margin-right:0}[dir=rtl] .md-source__fact:nth-child(1n+2):before{margin-left:0;margin-right:.4rem}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.md-tabs{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);overflow:auto;width:100%}@media print{.md-tabs{display:none}}@media screen and (max-width:76.1875em){.md-tabs{display:none}}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs__list{contain:content;list-style:none;margin:0 0 0 .2rem;padding:0;white-space:nowrap}[dir=rtl] .md-tabs__list{margin-left:0;margin-right:.2rem}.md-tabs__item{display:inline-block;height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__link{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link--active,.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[data-md-state=hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}.md-tags{margin-bottom:.75em}.md-tag{background:var(--md-default-fg-color--lightest);border-radius:.4rem;display:inline-block;font-size:.64rem;font-weight:700;line-height:1.6;margin-bottom:.5em;margin-right:.5em;padding:.3125em .9375em}.md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-tag[href]:focus,.md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-tag{vertical-align:text-top}@-webkit-keyframes md-annotation--pulse{0%{box-shadow:0 0 0 0 var(--md-default-fg-color--lightest)}75%{box-shadow:0 0 0 .625em transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes md-annotation--pulse{0%{box-shadow:0 0 0 0 var(--md-default-fg-color--lightest)}75%{box-shadow:0 0 0 .625em transparent}to{box-shadow:0 0 0 0 transparent}}.md-tooltip{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.1),0 0 .05rem rgba(0,0,0,.25);color:var(--md-default-fg-color);max-height:0;opacity:0;overflow:auto;position:absolute;transform:translateY(.4rem);transition:transform .25s 375ms,opacity .25s,max-height 0ms .25s,z-index .25s;z-index:0}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner>:first-child{margin-top:0}.md-tooltip__inner>:last-child{margin-bottom:0}:focus-within>.md-tooltip,:focus>.md-tooltip{max-height:1000%;opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height .25s 0ms,z-index 0ms}:focus-within>.md-tooltip--end,:focus>.md-tooltip--end{transform:translate(-100%)}:focus-within>.md-tooltip--center,:focus>.md-tooltip--center{transform:translate(-50%)}.focus-visible>.md-tooltip{outline:var(--md-accent-fg-color) auto}.md-tooltip--end{transform:translate(-100%,.4rem)}.md-tooltip--center{transform:translate(-50%,.4rem)}.md-annotation{outline:none;white-space:normal}.md-annotation:focus-within>*{z-index:2}.md-annotation:not([hidden]){display:inline-block}.md-annotation__index{-webkit-animation:md-annotation--pulse 2s infinite;animation:md-annotation--pulse 2s infinite;background-color:var(--md-default-fg-color--lighter);border-radius:1.25em;color:var(--md-accent-bg-color);cursor:pointer;display:inline-block;min-width:1.4em;padding:0 .375em;position:relative;text-align:center;transition:background-color .25s,z-index .25s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0}:focus-within>.md-annotation__index{-webkit-animation:none;animation:none;transition:background-color .25s,z-index 0ms}:focus-within>.md-annotation__index,:hover>.md-annotation__index{background-color:var(--md-accent-fg-color)}.md-annotation .md-tooltip{margin:-1.1764705882em .7352941176em 0;max-width:60%;min-width:16rem}.md-annotation .md-tooltip--center{margin-top:.7352941176em}.md-top{background:var(--md-primary-fg-color);border-radius:100%;bottom:.4rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.1),0 .025rem .05rem rgba(0,0,0,.1);color:var(--md-primary-bg-color);float:right;margin:-2.8rem .4rem .4rem;outline:none;padding:.4rem;position:-webkit-sticky;position:sticky;transform:translateY(0);transition:opacity 125ms,transform 125ms cubic-bezier(.4,0,.2,1),background-color 125ms;z-index:1}[dir=rtl] .md-top{float:left}.md-top[data-md-state=hidden]{opacity:0;pointer-events:none;transform:translateY(-.2rem)}.md-top:focus,.md-top:hover{background:var(--md-accent-fg-color);transform:scale(1.1)}@-webkit-keyframes hoverfix{0%{pointer-events:none}}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}.md-version__current{color:inherit;cursor:pointer;margin-left:1.4rem;margin-right:.4rem;outline:none;position:relative;top:.05rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current:after{background-color:currentColor;content:"";display:inline-block;height:.6rem;margin-left:.4rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;width:.4rem}[dir=rtl] .md-version__current:after{margin-left:0;margin-right:.4rem}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.1),0 0 .05rem rgba(0,0,0,.25);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:1}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (pointer:coarse){.md-version:hover .md-version__list{-webkit-animation:hoverfix .25s forwards;animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{-webkit-animation:none;animation:none}}.md-version__item{line-height:1.8rem}.md-version__link{cursor:pointer;display:block;outline:none;padding-left:.6rem;padding-right:1.2rem;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border-left:.2rem solid #448aff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 .025rem .05rem rgba(0,0,0,.05);color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-left:none;border-right:.2rem solid #448aff}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition-title,.md-typeset summary{background-color:rgba(68,138,255,.1);border-left:.2rem solid #448aff;border-top-left-radius:.1rem;font-weight:700;margin:0 -.6rem 0 -.8rem;padding:.4rem .6rem .4rem 2rem;position:relative}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-left:none;border-right:.2rem solid #448aff;margin:0 -.8rem 0 -.6rem;padding:.4rem 2rem .4rem .6rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;left:.6rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;width:1rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{left:auto;right:.6rem}.md-typeset .admonition-title+.tabbed-set:last-child,.md-typeset summary+.tabbed-set:last-child{margin-top:0}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:rgba(68,138,255,.1);border-color:#448aff}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.abstract,.md-typeset .admonition.summary,.md-typeset .admonition.tldr,.md-typeset details.abstract,.md-typeset details.summary,.md-typeset details.tldr{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary,.md-typeset .summary>.admonition-title,.md-typeset .summary>summary,.md-typeset .tldr>.admonition-title,.md-typeset .tldr>summary{background-color:rgba(0,176,255,.1);border-color:#00b0ff}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before,.md-typeset .summary>.admonition-title:before,.md-typeset .summary>summary:before,.md-typeset .tldr>.admonition-title:before,.md-typeset .tldr>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.info,.md-typeset .admonition.todo,.md-typeset details.info,.md-typeset details.todo{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary,.md-typeset .todo>.admonition-title,.md-typeset .todo>summary{background-color:rgba(0,184,212,.1);border-color:#00b8d4}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before,.md-typeset .todo>.admonition-title:before,.md-typeset .todo>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.hint,.md-typeset .admonition.important,.md-typeset .admonition.tip,.md-typeset details.hint,.md-typeset details.important,.md-typeset details.tip{border-color:#00bfa5}.md-typeset .hint>.admonition-title,.md-typeset .hint>summary,.md-typeset .important>.admonition-title,.md-typeset .important>summary,.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:rgba(0,191,165,.1);border-color:#00bfa5}.md-typeset .hint>.admonition-title:before,.md-typeset .hint>summary:before,.md-typeset .important>.admonition-title:before,.md-typeset .important>summary:before,.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.check,.md-typeset .admonition.done,.md-typeset .admonition.success,.md-typeset details.check,.md-typeset details.done,.md-typeset details.success{border-color:#00c853}.md-typeset .check>.admonition-title,.md-typeset .check>summary,.md-typeset .done>.admonition-title,.md-typeset .done>summary,.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:rgba(0,200,83,.1);border-color:#00c853}.md-typeset .check>.admonition-title:before,.md-typeset .check>summary:before,.md-typeset .done>.admonition-title:before,.md-typeset .done>summary:before,.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.faq,.md-typeset .admonition.help,.md-typeset .admonition.question,.md-typeset details.faq,.md-typeset details.help,.md-typeset details.question{border-color:#64dd17}.md-typeset .faq>.admonition-title,.md-typeset .faq>summary,.md-typeset .help>.admonition-title,.md-typeset .help>summary,.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:rgba(100,221,23,.1);border-color:#64dd17}.md-typeset .faq>.admonition-title:before,.md-typeset .faq>summary:before,.md-typeset .help>.admonition-title:before,.md-typeset .help>summary:before,.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.attention,.md-typeset .admonition.caution,.md-typeset .admonition.warning,.md-typeset details.attention,.md-typeset details.caution,.md-typeset details.warning{border-color:#ff9100}.md-typeset .attention>.admonition-title,.md-typeset .attention>summary,.md-typeset .caution>.admonition-title,.md-typeset .caution>summary,.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:rgba(255,145,0,.1);border-color:#ff9100}.md-typeset .attention>.admonition-title:before,.md-typeset .attention>summary:before,.md-typeset .caution>.admonition-title:before,.md-typeset .caution>summary:before,.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.fail,.md-typeset .admonition.failure,.md-typeset .admonition.missing,.md-typeset details.fail,.md-typeset details.failure,.md-typeset details.missing{border-color:#ff5252}.md-typeset .fail>.admonition-title,.md-typeset .fail>summary,.md-typeset .failure>.admonition-title,.md-typeset .failure>summary,.md-typeset .missing>.admonition-title,.md-typeset .missing>summary{background-color:rgba(255,82,82,.1);border-color:#ff5252}.md-typeset .fail>.admonition-title:before,.md-typeset .fail>summary:before,.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before,.md-typeset .missing>.admonition-title:before,.md-typeset .missing>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.danger,.md-typeset .admonition.error,.md-typeset details.danger,.md-typeset details.error{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary,.md-typeset .error>.admonition-title,.md-typeset .error>summary{background-color:rgba(255,23,68,.1);border-color:#ff1744}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before,.md-typeset .error>.admonition-title:before,.md-typeset .error>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:rgba(245,0,87,.1);border-color:#f50057}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:rgba(124,77,255,.1);border-color:#7c4dff}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.md-typeset .admonition.cite,.md-typeset .admonition.quote,.md-typeset details.cite,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .cite>.admonition-title,.md-typeset .cite>summary,.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:hsla(0,0%,62%,.1);border-color:#9e9e9e}.md-typeset .cite>.admonition-title:before,.md-typeset .cite>summary:before,.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}.md-typeset .footnote>ol{margin-left:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateX(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentColor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before svg{transform:scaleX(-1)}.md-typeset [id^="fnref:"]:target{margin-top:-3.4rem;padding-top:3.4rem;scroll-margin-top:0}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset [id^="fn:"]:target{margin-top:-3.45rem;padding-top:3.45rem;scroll-margin-top:0}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;margin-left:.5rem;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}[dir=rtl] .md-typeset .headerlink{margin-left:0;margin-right:.5rem}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{scroll-margin-top:3.6rem}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{scroll-margin-top:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{scroll-margin-top:0}.md-typeset h1:target:before,.md-typeset h2:target:before,.md-typeset h3:target:before{content:"";display:block;margin-top:-3.4rem;padding-top:3.4rem}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset h1:target,.md-header--lifted~.md-container .md-typeset h2:target,.md-header--lifted~.md-container .md-typeset h3:target{scroll-margin-top:0}.md-header--lifted~.md-container .md-typeset h1:target:before,.md-header--lifted~.md-container .md-typeset h2:target:before,.md-header--lifted~.md-container .md-typeset h3:target:before{margin-top:-5.8rem;padding-top:5.8rem}}.md-typeset h4:target{scroll-margin-top:0}.md-typeset h4:target:before{content:"";display:block;margin-top:-3.45rem;padding-top:3.45rem}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset h4:target{scroll-margin-top:0}.md-header--lifted~.md-container .md-typeset h4:target:before{margin-top:-5.85rem;padding-top:5.85rem}}.md-typeset h5:target,.md-typeset h6:target{scroll-margin-top:0}.md-typeset h5:target:before,.md-typeset h6:target:before{content:"";display:block;margin-top:-3.6rem;padding-top:3.6rem}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset h5:target,.md-header--lifted~.md-container .md-typeset h6:target{scroll-margin-top:0}.md-header--lifted~.md-container .md-typeset h5:target:before,.md-header--lifted~.md-container .md-typeset h6:target:before{margin-top:-6rem;padding-top:6rem}}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.9375em){.md-typeset div.arithmatex{margin:0 -.8rem}}.md-typeset div.arithmatex>*{margin:1em auto!important;padding:0 .8rem;touch-action:auto;width:-webkit-min-content;width:-moz-min-content;width:min-content}.md-typeset .critic.comment,.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset details{display:flow-root;overflow:visible;padding-top:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){box-shadow:none;padding-bottom:0}.md-typeset details:not([open])>summary{border-radius:.1rem}.md-typeset summary{border-top-left-radius:.1rem;border-top-right-radius:.1rem;cursor:pointer;display:block;min-height:1rem;padding:.4rem 1.8rem .4rem 2rem}[dir=rtl] .md-typeset summary{padding:.4rem 2.2rem .4rem 1.8rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset summary:after{background-color:currentColor;content:"";height:1rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;right:.4rem;top:.4rem;transform:rotate(0deg);transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{left:.4rem;right:auto;transform:rotate(180deg)}.md-typeset summary::-webkit-details-marker,.md-typeset summary::marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{display:inline-flex;height:1.125em;vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentColor;max-height:100%;width:1.125em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color);display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:-webkit-sticky;position:sticky;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:3}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;padding-right:.5882352941em}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .code{flex:1;min-width:0}.md-typeset .highlighttable{border-radius:.1rem;direction:ltr;margin:1em 0}.md-typeset .highlighttable code{border-radius:0}@media screen and (max-width:44.9375em){.md-typeset.md-content__inner>.highlight{margin:1em -.8rem}.md-typeset.md-content__inner>.highlight .hll{margin:0 -.8rem;padding:0 .8rem}.md-typeset.md-content__inner>.highlight code{border-radius:0}.md-typeset>.highlighttable{border-radius:0;margin:1em -.8rem}.md-typeset>.highlighttable .hll{margin:0 -.8rem;padding:0 .8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-left-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-left-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-right-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-right-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-left-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-right-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}.md-typeset .tabbed-content{box-shadow:0 -.05rem var(--md-default-fg-color--lightest);display:none;order:99;width:100%}@media print{.md-typeset .tabbed-content{display:block;order:0}}.md-typeset .tabbed-content>.highlight:only-child pre,.md-typeset .tabbed-content>.highlighttable:only-child,.md-typeset .tabbed-content>pre:only-child{margin:0}.md-typeset .tabbed-content>.highlight:only-child pre>code,.md-typeset .tabbed-content>.highlighttable:only-child>code,.md-typeset .tabbed-content>pre:only-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-content>.tabbed-set{margin:0}.md-typeset .tabbed-set{border-radius:.1rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:checked+label{border-color:var(--md-accent-fg-color);color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:checked+label+.tabbed-content{display:block}.md-typeset .tabbed-set>input:focus+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-typeset .tabbed-set>input:not(.focus-visible)+label{-webkit-tap-highlight-color:transparent;outline:none}.md-typeset .tabbed-set>label{border-bottom:.1rem solid transparent;color:var(--md-default-fg-color--light);cursor:pointer;font-size:.64rem;font-weight:700;padding:.9375em 1.25em .78125em;transition:color .25s;width:auto;z-index:1}.no-js .md-typeset .tabbed-set>label{transition:none}.md-typeset .tabbed-set>label:hover{color:var(--md-accent-fg-color)}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .task-list-item{list-style-type:none;position:relative}.md-typeset .task-list-item [type=checkbox]{left:-2em;position:absolute;top:.45em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{left:auto;right:-2em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;left:-1.5em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.15em;width:1.25em}[dir=rtl] .md-typeset .task-list-indicator:before{left:auto;right:-1.5em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}:root>*{--md-mermaid-font-family:var(--md-text-font-family) sans-serif;--md-mermaid-edge-color:var(--md-default-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-default-fg-color)}@media screen and (min-width:45em){.md-typeset .inline{float:left;margin-bottom:.8rem;margin-right:.8rem;margin-top:0;width:11.7rem}[dir=rtl] .md-typeset .inline{float:right;margin-left:.8rem;margin-right:0}.md-typeset .inline.end{float:right;margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{float:left;margin-left:0;margin-right:.8rem}} \ No newline at end of file diff --git a/v5.4.0/assets/stylesheets/palette.73e53a79.min.css b/v5.4.0/assets/stylesheets/palette.73e53a79.min.css new file mode 100644 index 0000000000..03a02114b5 --- /dev/null +++ b/v5.4.0/assets/stylesheets/palette.73e53a79.min.css @@ -0,0 +1 @@ +[data-md-color-accent=red]{--md-accent-fg-color:#ff1947;--md-accent-fg-color--transparent:rgba(255,25,71,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=pink]{--md-accent-fg-color:#f50056;--md-accent-fg-color--transparent:rgba(245,0,86,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=purple]{--md-accent-fg-color:#df41fb;--md-accent-fg-color--transparent:rgba(223,65,251,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=deep-purple]{--md-accent-fg-color:#7c4dff;--md-accent-fg-color--transparent:rgba(124,77,255,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=indigo]{--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:rgba(82,108,254,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=blue]{--md-accent-fg-color:#4287ff;--md-accent-fg-color--transparent:rgba(66,135,255,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=light-blue]{--md-accent-fg-color:#0091eb;--md-accent-fg-color--transparent:rgba(0,145,235,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=cyan]{--md-accent-fg-color:#00bad6;--md-accent-fg-color--transparent:rgba(0,186,214,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=teal]{--md-accent-fg-color:#00bda4;--md-accent-fg-color--transparent:rgba(0,189,164,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=green]{--md-accent-fg-color:#00c753;--md-accent-fg-color--transparent:rgba(0,199,83,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=light-green]{--md-accent-fg-color:#63de17;--md-accent-fg-color--transparent:rgba(99,222,23,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-accent=lime]{--md-accent-fg-color:#b0eb00;--md-accent-fg-color--transparent:rgba(176,235,0,0.1);--md-accent-bg-color:rgba(0,0,0,0.87);--md-accent-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-accent=yellow]{--md-accent-fg-color:#ffd500;--md-accent-fg-color--transparent:rgba(255,213,0,0.1);--md-accent-bg-color:rgba(0,0,0,0.87);--md-accent-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-accent=amber]{--md-accent-fg-color:#fa0;--md-accent-fg-color--transparent:rgba(255,170,0,0.1);--md-accent-bg-color:rgba(0,0,0,0.87);--md-accent-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-accent=orange]{--md-accent-fg-color:#ff9100;--md-accent-fg-color--transparent:rgba(255,145,0,0.1);--md-accent-bg-color:rgba(0,0,0,0.87);--md-accent-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-accent=deep-orange]{--md-accent-fg-color:#ff6e42;--md-accent-fg-color--transparent:rgba(255,110,66,0.1);--md-accent-bg-color:#fff;--md-accent-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=red]{--md-primary-fg-color:#ef5552;--md-primary-fg-color--light:#e57171;--md-primary-fg-color--dark:#e53734;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=pink]{--md-primary-fg-color:#e92063;--md-primary-fg-color--light:#ec417a;--md-primary-fg-color--dark:#c3185d;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=purple]{--md-primary-fg-color:#ab47bd;--md-primary-fg-color--light:#bb69c9;--md-primary-fg-color--dark:#8c24a8;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=deep-purple]{--md-primary-fg-color:#7e56c2;--md-primary-fg-color--light:#9574cd;--md-primary-fg-color--dark:#673ab6;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=indigo]{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=blue]{--md-primary-fg-color:#2094f3;--md-primary-fg-color--light:#42a5f5;--md-primary-fg-color--dark:#1975d2;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=light-blue]{--md-primary-fg-color:#02a6f2;--md-primary-fg-color--light:#28b5f6;--md-primary-fg-color--dark:#0287cf;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=cyan]{--md-primary-fg-color:#00bdd6;--md-primary-fg-color--light:#25c5da;--md-primary-fg-color--dark:#0097a8;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=teal]{--md-primary-fg-color:#009485;--md-primary-fg-color--light:#26a699;--md-primary-fg-color--dark:#007a6c;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=green]{--md-primary-fg-color:#4cae4f;--md-primary-fg-color--light:#68bb6c;--md-primary-fg-color--dark:#398e3d;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=light-green]{--md-primary-fg-color:#8bc34b;--md-primary-fg-color--light:#9ccc66;--md-primary-fg-color--dark:#689f38;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=lime]{--md-primary-fg-color:#cbdc38;--md-primary-fg-color--light:#d3e156;--md-primary-fg-color--dark:#b0b52c;--md-primary-bg-color:rgba(0,0,0,0.87);--md-primary-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-primary=yellow]{--md-primary-fg-color:#ffec3d;--md-primary-fg-color--light:#ffee57;--md-primary-fg-color--dark:#fbc02d;--md-primary-bg-color:rgba(0,0,0,0.87);--md-primary-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-primary=amber]{--md-primary-fg-color:#ffc105;--md-primary-fg-color--light:#ffc929;--md-primary-fg-color--dark:#ffa200;--md-primary-bg-color:rgba(0,0,0,0.87);--md-primary-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-primary=orange]{--md-primary-fg-color:#ffa724;--md-primary-fg-color--light:#ffa724;--md-primary-fg-color--dark:#fa8900;--md-primary-bg-color:rgba(0,0,0,0.87);--md-primary-bg-color--light:rgba(0,0,0,0.54)}[data-md-color-primary=deep-orange]{--md-primary-fg-color:#ff6e42;--md-primary-fg-color--light:#ff8a66;--md-primary-fg-color--dark:#f4511f;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=brown]{--md-primary-fg-color:#795649;--md-primary-fg-color--light:#8d6e62;--md-primary-fg-color--dark:#5d4037;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=grey]{--md-primary-fg-color:#757575;--md-primary-fg-color--light:#9e9e9e;--md-primary-fg-color--dark:#616161;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=blue-grey]{--md-primary-fg-color:#546d78;--md-primary-fg-color--light:#607c8a;--md-primary-fg-color--dark:#455a63;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7)}[data-md-color-primary=white]{--md-primary-fg-color:#fff;--md-primary-fg-color--light:hsla(0,0%,100%,0.7);--md-primary-fg-color--dark:rgba(0,0,0,0.07);--md-primary-bg-color:rgba(0,0,0,0.87);--md-primary-bg-color--light:rgba(0,0,0,0.54);--md-typeset-a-color:#4051b5}@media screen and (min-width:60em){[data-md-color-primary=white] .md-search__form{background-color:rgba(0,0,0,.07)}[data-md-color-primary=white] .md-search__form:hover{background-color:rgba(0,0,0,.32)}[data-md-color-primary=white] .md-search__input+.md-search__icon{color:rgba(0,0,0,.87)}}@media screen and (min-width:76.25em){[data-md-color-primary=white] .md-tabs{border-bottom:.05rem solid rgba(0,0,0,.07)}}[data-md-color-primary=black]{--md-primary-fg-color:#000;--md-primary-fg-color--light:rgba(0,0,0,0.54);--md-primary-fg-color--dark:#000;--md-primary-bg-color:#fff;--md-primary-bg-color--light:hsla(0,0%,100%,0.7);--md-typeset-a-color:#4051b5}[data-md-color-primary=black] .md-header{background-color:#000}@media screen and (max-width:59.9375em){[data-md-color-primary=black] .md-nav__source{background-color:rgba(0,0,0,.87)}}@media screen and (min-width:60em){[data-md-color-primary=black] .md-search__form{background-color:hsla(0,0%,100%,.12)}[data-md-color-primary=black] .md-search__form:hover{background-color:hsla(0,0%,100%,.3)}}@media screen and (max-width:76.1875em){html [data-md-color-primary=black] .md-nav--primary .md-nav__title[for=__drawer]{background-color:#000}}@media screen and (min-width:76.25em){[data-md-color-primary=black] .md-tabs{background-color:#000}}@media screen{[data-md-color-scheme=slate]{--md-hue:232;--md-default-fg-color:hsla(var(--md-hue),75%,95%,1);--md-default-fg-color--light:hsla(var(--md-hue),75%,90%,0.62);--md-default-fg-color--lighter:hsla(var(--md-hue),75%,90%,0.32);--md-default-fg-color--lightest:hsla(var(--md-hue),75%,90%,0.12);--md-default-bg-color:hsla(var(--md-hue),15%,21%,1);--md-default-bg-color--light:hsla(var(--md-hue),15%,21%,0.54);--md-default-bg-color--lighter:hsla(var(--md-hue),15%,21%,0.26);--md-default-bg-color--lightest:hsla(var(--md-hue),15%,21%,0.07);--md-code-fg-color:hsla(var(--md-hue),18%,86%,1);--md-code-bg-color:hsla(var(--md-hue),15%,15%,1);--md-code-hl-color:rgba(66,135,255,0.15);--md-code-hl-number-color:#e6695b;--md-code-hl-special-color:#f06090;--md-code-hl-function-color:#c973d9;--md-code-hl-constant-color:#9383e2;--md-code-hl-keyword-color:#6791e0;--md-code-hl-string-color:#2fb170;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-mark-color:rgba(66,135,255,0.3);--md-typeset-kbd-color:hsla(var(--md-hue),15%,94%,0.12);--md-typeset-kbd-accent-color:hsla(var(--md-hue),15%,94%,0.2);--md-typeset-kbd-border-color:hsla(var(--md-hue),15%,14%,1);--md-admonition-bg-color:hsla(var(--md-hue),0%,100%,0.025);--md-footer-bg-color:hsla(var(--md-hue),15%,12%,0.87);--md-footer-bg-color--dark:hsla(var(--md-hue),15%,10%,1)}[data-md-color-scheme=slate][data-md-color-primary=black],[data-md-color-scheme=slate][data-md-color-primary=white]{--md-typeset-a-color:#5d6cc0}} \ No newline at end of file diff --git a/v5.4.0/custom_theme/img/favicon.ico b/v5.4.0/custom_theme/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..19b2de71d1b2907772e0f9137e5ff9361972b6d9 GIT binary patch literal 15086 zcmeI3`Ij7370277e*k|%e$aFLk)J#Y6O4u^DuTG+E~tnoA_7M|F1W;F5Rq(TnJffC zR+1112_z&T3n3&SnSC;AW+t=m`_eO+o_^lX?XK#o>ZgCx@a_0AkJ`ss5lNUZM??{!% z{Ze?Y$0rjf=ikDW3tOd_k7#MRfq!1d?neL5@7xLQ{}p+rVEHZ6D%M&My8en=66=UZ zcA?x`ZFK19hkSKt1ZDSG~krfkzarup>h5N+g}rgxq-#cRK0 zDtG+MQ7>PxJY)jC!52UM*7p7;Go2$In=s8MSD4~8OH5Dsp-@eXw3R9T&cat*_1eyE zR6X$YJ!3NK_z^rg+GlF_KW0id-erbcid`9vBYdp8)?9w^ zd!}mV17>2d&4tJRCa$_yzU5wXZMe(z%6#Alz`&JvP06}1n})-GH?fIP7bfpbEIMQ= zxBt{!Iq;;3Pffaho-h0Y#B^NTrt`V|!b>JD_d&;4SB)uI{}t1IeoNXb^M+rLOkEpO zyr`p}ou=aDADN1+Kg?cuZ`*yQGN^37-;{3nx~_q& zOOvC$E{u#3_NHd^mvmju~&5B8+5E#p(V@oqEJbV*^hp50(d^1o)rdg`38?d!S1 zKipDm$~J#fu;1#BGlOr6j#cgaxrz4Fn=7w9p>{4dF=AtOUd#pliGfyAwd+CEbsxVZ zx9^d8RSr__f5r*fbv@hoW8)*H;jO<-tKZYUHR&7ol)d4??7W#x{PC%n_@*EYMl=zlBvAcJek@m|@$gb}?$+z6$*37@IH$IeSSVn;bHb1BOCJ&2^;I9&_6M(CP@5aj zZjijR=fo>RO$9c7e2Ia&Gv>m>pQ+;IA4@&o7&t5bcswRP?Te;p^%wMP`M|^^ zj77>X@YnB*-zU0%`K9k`yaMk2+LIc$6|Y&Wu@62s?vE$+n#cfPn$7Ndc_uLC+w4+k`_*JS#3BmPs^FL8gE(l zFsLri=Mq2u6}k;aj1A3nOi9c>)LfvxNXfc8G=_vX8SSjjxK7L^e(=Jv!_|)WHD!Wt z{}zu;8f;4Av8Q$Yg{vX{8fh<2;|{4b*Z5gi@WTe`-m@|0a>3e+FWYotxqd(V;ngGm zRL+`lwT`*QPYjM7Yde?DU0N72otXn;-F3qGtyO!^dRG7DQ)Z~~1H)Lc7ZKp6WcA-N z$+doiH-IO{W_Y<{>z&-raWmfEto;D@&K#*f^cUqP0{mQG{JdK&z7KIO-=3|&UtQk% z1JwcgFx&eXe;2%SV*@0Oq9kDnM#zJW2zwIqDFaCI`Z9njwvZtEP3-yLUK z?|<0NH}KEzIQ>8LKi_~}$3J2P%+1bRpc~iMzX!btDJaF^QzECr!4j`tM~lc#lz(yA3ndUaF1c{z*%_KB(mW63YLG){H8=6%q5A-;X%v1f!Yh|1htrh6&2aJk6-{r>Y$ z_u_@8^2{Bd`vfOP90Nye?PFUQrYoO(HRABx_+&6F(!CLDEM_8~oUyV^cZb@OLO+<7 z-k3G)_p`R4Q*ij%`#xpE;aS<+@g7}8d%f)huD_~phn_MmlIsW$0#}(U2HqX4e_zEb zhah}<^Ql#83p{Q3$WQR{a7XZqaKH2ed6zlGjxq;W3*elTgOPQDy##Vt;95O4(^o#@ zL=FM`2?zWe`W(P@xcf!=9-G&2WT~|A3$+n&C>+_wpS=cbB=xNR(~9z^S-2$hDq|mr zY<`F1U~etjd)39qW|Pm@z>T0M)*hE7AA4K6;ZEgx6$7%Ybx5y8u5caLJk8be;eoTt zmv(ghnoQ*&S@K8P%5^>G+t*XIt6j`>(&W!G0~dA>MqBYa`t{UNw6k7M|=$(^vD3?e92cb3GIJ z)K`B-^w961f4WOwH?{j7RbCBQ!q2`MBRUOr_0pJ22gJX^M1OC4>;ZRZ@U)?fxUCpkI5+4w^E_m38?;vc8mVxXTdtv(K*aTEcHl)?Xqy z&MS34j~s+5$%`m>?z71@5_=rVS6tjKIXV>@zohWX7)n1et{Q8Le}j+3-Z6We=ngR{ zKBqN~>EFLZ`(8gz{(zDE0P;=Pqhs9gb*;VU^!jf7VSM^)PbZp_IFnc$J3|@oZ<77S zVn_d@KS})+y+SwoYfg$!yiUiNw$L|p13h97mVLLR->>?|c+m!Zk|;~`_tbsjIX)!) c;TRjceqzj>bCt1o-aD^ty@-0(gRuAi1NAHVB>(^b literal 0 HcmV?d00001 diff --git a/v5.4.0/custom_theme/main.html b/v5.4.0/custom_theme/main.html new file mode 100644 index 0000000000..94d9808cc7 --- /dev/null +++ b/v5.4.0/custom_theme/main.html @@ -0,0 +1 @@ +{% extends "base.html" %} diff --git a/v5.4.0/extensions/api/classes/Common.Catalog.CatalogCategory/index.html b/v5.4.0/extensions/api/classes/Common.Catalog.CatalogCategory/index.html new file mode 100644 index 0000000000..42bbf6f87c --- /dev/null +++ b/v5.4.0/extensions/api/classes/Common.Catalog.CatalogCategory/index.html @@ -0,0 +1,1760 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: CatalogCategory - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: CatalogCategory#

+

Common.Catalog.CatalogCategory

+

Hierarchy#

+ +

CatalogCategory

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new CatalogCategory()

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).constructor

+

Properties#

+

apiVersion#

+

Readonly Abstract apiVersion: string

+

The version of category that you are wanting to declare.

+

Currently supported values:

+
    +
  • "catalog.k8slens.dev/v1alpha1"
  • +
+
+

filters#

+

Protected filters: ObservableSet<AddMenuFilter>

+

internal

+
+

kind#

+

Readonly Abstract kind: string

+

The kind of item you wish to declare.

+

Currently supported values:

+
    +
  • "CatalogCategory"
  • +
+
+

metadata#

+

Readonly Abstract metadata: Object

+

The data about the category itself

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
iconstringEither an <svg> or the name of an icon from IconProps
namestringThe name of your category. The category can be searched for by this value. This will also be used for the catalog menu.
+
+

spec#

+

Abstract spec: CatalogCategorySpec

+

The most important part of a category, as it is where entity versions are declared.

+

Methods#

+

addListener#

+

addListener<E>(event, listener): CatalogCategory

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends keyof CatalogCategoryEvents
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
eventE
listenerCatalogCategoryEvents[E]
+

Returns#

+

CatalogCategory

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).addListener

+
+

addMenuFilter#

+

addMenuFilter(fn): Disposer

+

Add a filter for menu items of catalogAddMenu

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
fnAddMenuFilterThe function that should return a truthy value if that menu item should be displayed
+

Returns#

+

Disposer

+

A function to remove that filter

+
+

emit#

+

emit<E>(event, ...args): boolean

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends keyof CatalogCategoryEvents
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
eventE
...argsArguments<CatalogCategoryEvents[E]>
+

Returns#

+

boolean

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).emit

+
+

eventNames#

+

eventNames(): (string | symbol)[]

+

Returns#

+

(string | symbol)[]

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).eventNames

+
+

filteredItems#

+

filteredItems(menuItems): CatalogEntityAddMenu[]

+

Filter menuItems according to the Category's set filters

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
menuItemsCatalogEntityAddMenu[]menu items to filter
+

Returns#

+

CatalogEntityAddMenu[]

+

filtered menu items

+
+

getId#

+

getId(): string

+

Get the ID of this category

+

Returns#

+

string

+
+

getMaxListeners#

+

getMaxListeners(): number

+

Returns#

+

number

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).getMaxListeners

+
+

listenerCount#

+

listenerCount<E>(event): number

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends keyof CatalogCategoryEvents
+

Parameters#

+ + + + + + + + + + + + + +
NameType
eventE
+

Returns#

+

number

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).listenerCount

+
+

listeners#

+

listeners<E>(event): Function[]

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends keyof CatalogCategoryEvents
+

Parameters#

+ + + + + + + + + + + + + +
NameType
eventE
+

Returns#

+

Function[]

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).listeners

+
+

off#

+

off<E>(event, listener): CatalogCategory

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends keyof CatalogCategoryEvents
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
eventE
listenerCatalogCategoryEvents[E]
+

Returns#

+

CatalogCategory

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).off

+
+

on#

+

on<E>(event, listener): CatalogCategory

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends keyof CatalogCategoryEvents
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
eventE
listenerCatalogCategoryEvents[E]
+

Returns#

+

CatalogCategory

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).on

+
+

once#

+

once<E>(event, listener): CatalogCategory

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends keyof CatalogCategoryEvents
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
eventE
listenerCatalogCategoryEvents[E]
+

Returns#

+

CatalogCategory

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).once

+
+

prependListener#

+

prependListener<E>(event, listener): CatalogCategory

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends keyof CatalogCategoryEvents
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
eventE
listenerCatalogCategoryEvents[E]
+

Returns#

+

CatalogCategory

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).prependListener

+
+

prependOnceListener#

+

prependOnceListener<E>(event, listener): CatalogCategory

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends keyof CatalogCategoryEvents
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
eventE
listenerCatalogCategoryEvents[E]
+

Returns#

+

CatalogCategory

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).prependOnceListener

+
+

rawListeners#

+

rawListeners<E>(event): Function[]

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends keyof CatalogCategoryEvents
+

Parameters#

+ + + + + + + + + + + + + +
NameType
eventE
+

Returns#

+

Function[]

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).rawListeners

+
+

removeAllListeners#

+

removeAllListeners<E>(event?): CatalogCategory

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends keyof CatalogCategoryEvents
+

Parameters#

+ + + + + + + + + + + + + +
NameType
event?E
+

Returns#

+

CatalogCategory

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).removeAllListeners

+
+

removeListener#

+

removeListener<E>(event, listener): CatalogCategory

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends keyof CatalogCategoryEvents
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
eventE
listenerCatalogCategoryEvents[E]
+

Returns#

+

CatalogCategory

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).removeListener

+
+

setMaxListeners#

+

setMaxListeners(maxListeners): CatalogCategory

+

Parameters#

+ + + + + + + + + + + + + +
NameType
maxListenersnumber
+

Returns#

+

CatalogCategory

+

Inherited from#

+

(EventEmitter as new () => TypedEmitter<CatalogCategoryEvents>).setMaxListeners

+
+

parseId#

+

Static parseId(id): Object

+

Parse a category ID into parts.

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
idstringThe id of a category is parse
+

Returns#

+

Object

+

The group and kind parts of the ID

+ + + + + + + + + + + + + + + + + +
NameType
group?string
kind?string
+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Common.Catalog.CatalogEntity/index.html b/v5.4.0/extensions/api/classes/Common.Catalog.CatalogEntity/index.html new file mode 100644 index 0000000000..b3d77a97e3 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Common.Catalog.CatalogEntity/index.html @@ -0,0 +1,1191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: CatalogEntity - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: CatalogEntity<Metadata, Status, Spec>#

+

Common.Catalog.CatalogEntity

+

Type parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
Metadataextends CatalogEntityMetadataCatalogEntityMetadata
Statusextends CatalogEntityStatusCatalogEntityStatus
Specextends CatalogEntitySpecCatalogEntitySpec
+

Hierarchy#

+
    +
  • CatalogEntity
  • +
+

KubernetesCluster

+

GeneralEntity

+

WebLink

+

Implements#

+ +

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new CatalogEntity<Metadata, Status, Spec>(__namedParameters)

+

Type parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
Metadataextends CatalogEntityMetadataCatalogEntityMetadata
Statusextends CatalogEntityStatusCatalogEntityStatus
Specextends CatalogEntitySpecCatalogEntitySpec
+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersCatalogEntityData<Metadata, Status, Spec>
+

Properties#

+

apiVersion#

+

Readonly Abstract apiVersion: string

+

The group and version of this class.

+

Implementation of#

+

CatalogEntityKindData.apiVersion

+
+

kind#

+

Readonly Abstract kind: string

+

A DNS label name of the entity.

+

Implementation of#

+

CatalogEntityKindData.kind

+
+

metadata#

+

metadata: Metadata

+
+

spec#

+

spec: Spec

+
+

status#

+

status: Status

+

Methods#

+

getId#

+

getId(): string

+

Get the UID of this entity

+

Returns#

+

string

+
+

getName#

+

getName(): string

+

Get the name of this entity

+

Returns#

+

string

+
+

getSource#

+

getSource(): string

+

Get the specified source of this entity, defaulting to "unknown" if not +provided

+

Returns#

+

string

+
+

isEnabled#

+

isEnabled(): boolean

+

Get if this entity is enabled.

+

Returns#

+

boolean

+
+

onContextMenuOpen#

+

Abstract onContextMenuOpen(context): void | Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
contextCatalogEntityContextMenuContext
+

Returns#

+

void | Promise<void>

+
+

onRun#

+

Optional Abstract onRun(context): void | Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
contextCatalogEntityActionContext
+

Returns#

+

void | Promise<void>

+
+

onSettingsOpen#

+

Abstract onSettingsOpen(context): void | Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
contextCatalogEntitySettingsContext
+

Returns#

+

void | Promise<void>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Common.Catalog.GeneralEntity/index.html b/v5.4.0/extensions/api/classes/Common.Catalog.GeneralEntity/index.html new file mode 100644 index 0000000000..f2cdfff742 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Common.Catalog.GeneralEntity/index.html @@ -0,0 +1,1117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: GeneralEntity - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: GeneralEntity#

+

Common.Catalog.GeneralEntity

+

Copyright (c) OpenLens Authors. All rights reserved. +Licensed under MIT License. See LICENSE in root directory for more information.

+

Hierarchy#

+ +

GeneralEntity

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new GeneralEntity(__namedParameters)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersCatalogEntityData<CatalogEntityMetadata, CatalogEntityStatus, GeneralEntitySpec>
+

Inherited from#

+

CatalogEntity.constructor

+

Properties#

+

apiVersion#

+

Readonly apiVersion: "entity.k8slens.dev/v1alpha1"

+

The group and version of this class.

+

Overrides#

+

CatalogEntity.apiVersion

+
+

kind#

+

Readonly kind: "General"

+

A DNS label name of the entity.

+

Overrides#

+

CatalogEntity.kind

+
+

metadata#

+

metadata: CatalogEntityMetadata

+

Inherited from#

+

CatalogEntity.metadata

+
+

spec#

+

spec: GeneralEntitySpec

+

Inherited from#

+

CatalogEntity.spec

+
+

status#

+

status: CatalogEntityStatus

+

Inherited from#

+

CatalogEntity.status

+

Methods#

+

getId#

+

getId(): string

+

Get the UID of this entity

+

Returns#

+

string

+

Inherited from#

+

CatalogEntity.getId

+
+

getName#

+

getName(): string

+

Get the name of this entity

+

Returns#

+

string

+

Inherited from#

+

CatalogEntity.getName

+
+

getSource#

+

getSource(): string

+

Get the specified source of this entity, defaulting to "unknown" if not +provided

+

Returns#

+

string

+

Inherited from#

+

CatalogEntity.getSource

+
+

isEnabled#

+

isEnabled(): boolean

+

Get if this entity is enabled.

+

Returns#

+

boolean

+

Inherited from#

+

CatalogEntity.isEnabled

+
+

onContextMenuOpen#

+

onContextMenuOpen(): void

+

Returns#

+

void

+

Overrides#

+

CatalogEntity.onContextMenuOpen

+
+

onDetailsOpen#

+

onDetailsOpen(): void

+

Returns#

+

void

+
+

onRun#

+

onRun(): Promise<void>

+

Returns#

+

Promise<void>

+

Overrides#

+

CatalogEntity.onRun

+
+

onSettingsOpen#

+

onSettingsOpen(): void

+

Returns#

+

void

+

Overrides#

+

CatalogEntity.onSettingsOpen

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Common.Catalog.KubernetesCluster/index.html b/v5.4.0/extensions/api/classes/Common.Catalog.KubernetesCluster/index.html new file mode 100644 index 0000000000..e80621a995 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Common.Catalog.KubernetesCluster/index.html @@ -0,0 +1,1248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: KubernetesCluster - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: KubernetesCluster<Metadata, Status, Spec>#

+

Common.Catalog.KubernetesCluster

+

Copyright (c) OpenLens Authors. All rights reserved. +Licensed under MIT License. See LICENSE in root directory for more information.

+

Type parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
Metadataextends KubernetesClusterMetadataKubernetesClusterMetadata
Statusextends KubernetesClusterStatusKubernetesClusterStatus
Specextends KubernetesClusterSpecKubernetesClusterSpec
+

Hierarchy#

+ +

KubernetesCluster

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new KubernetesCluster<Metadata, Status, Spec>(__namedParameters)

+

Type parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
Metadataextends KubernetesClusterMetadataKubernetesClusterMetadata
Statusextends KubernetesClusterStatusKubernetesClusterStatus
Specextends KubernetesClusterSpec<Spec>KubernetesClusterSpec
+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersCatalogEntityData<Metadata, Status, Spec>
+

Inherited from#

+

CatalogEntity.constructor

+

Properties#

+

apiVersion#

+

Readonly apiVersion: string = KubernetesCluster.apiVersion

+

The group and version of this class.

+

Overrides#

+

CatalogEntity.apiVersion

+
+

kind#

+

Readonly kind: string = KubernetesCluster.kind

+

A DNS label name of the entity.

+

Overrides#

+

CatalogEntity.kind

+
+

metadata#

+

metadata: Metadata

+

Inherited from#

+

CatalogEntity.metadata

+
+

spec#

+

spec: Spec

+

Inherited from#

+

CatalogEntity.spec

+
+

status#

+

status: Status

+

Inherited from#

+

CatalogEntity.status

+
+

apiVersion#

+

Static Readonly apiVersion: string = "entity.k8slens.dev/v1alpha1"

+
+

kind#

+

Static Readonly kind: string = "KubernetesCluster"

+

Methods#

+

connect#

+

connect(): Promise<void>

+

Returns#

+

Promise<void>

+
+

disconnect#

+

disconnect(): Promise<void>

+

Returns#

+

Promise<void>

+
+

getId#

+

getId(): string

+

Get the UID of this entity

+

Returns#

+

string

+

Inherited from#

+

CatalogEntity.getId

+
+

getName#

+

getName(): string

+

Get the name of this entity

+

Returns#

+

string

+

Inherited from#

+

CatalogEntity.getName

+
+

getSource#

+

getSource(): string

+

Get the specified source of this entity, defaulting to "unknown" if not +provided

+

Returns#

+

string

+

Inherited from#

+

CatalogEntity.getSource

+
+

isEnabled#

+

isEnabled(): boolean

+

Get if this entity is enabled.

+

Returns#

+

boolean

+

Inherited from#

+

CatalogEntity.isEnabled

+
+

onContextMenuOpen#

+

onContextMenuOpen(context): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
contextCatalogEntityContextMenuContext
+

Returns#

+

Promise<void>

+

Overrides#

+

CatalogEntity.onContextMenuOpen

+
+

onDetailsOpen#

+

onDetailsOpen(): void

+

Returns#

+

void

+
+

onRun#

+

onRun(context): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
contextCatalogEntityActionContext
+

Returns#

+

Promise<void>

+

Overrides#

+

CatalogEntity.onRun

+
+

onSettingsOpen#

+

onSettingsOpen(): void

+

Returns#

+

void

+

Overrides#

+

CatalogEntity.onSettingsOpen

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Common.Catalog.WebLink/index.html b/v5.4.0/extensions/api/classes/Common.Catalog.WebLink/index.html new file mode 100644 index 0000000000..a18d6c1e7c --- /dev/null +++ b/v5.4.0/extensions/api/classes/Common.Catalog.WebLink/index.html @@ -0,0 +1,1141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: WebLink - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: WebLink#

+

Common.Catalog.WebLink

+

Copyright (c) OpenLens Authors. All rights reserved. +Licensed under MIT License. See LICENSE in root directory for more information.

+

Hierarchy#

+ +

WebLink

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new WebLink(__namedParameters)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersCatalogEntityData<CatalogEntityMetadata, WebLinkStatus, WebLinkSpec>
+

Inherited from#

+

CatalogEntity.constructor

+

Properties#

+

apiVersion#

+

Readonly apiVersion: "entity.k8slens.dev/v1alpha1"

+

The group and version of this class.

+

Overrides#

+

CatalogEntity.apiVersion

+
+

kind#

+

Readonly kind: "WebLink"

+

A DNS label name of the entity.

+

Overrides#

+

CatalogEntity.kind

+
+

metadata#

+

metadata: CatalogEntityMetadata

+

Inherited from#

+

CatalogEntity.metadata

+
+

spec#

+

spec: WebLinkSpec

+

Inherited from#

+

CatalogEntity.spec

+
+

status#

+

status: WebLinkStatus

+

Inherited from#

+

CatalogEntity.status

+
+

apiVersion#

+

Static Readonly apiVersion: "entity.k8slens.dev/v1alpha1"

+
+

kind#

+

Static Readonly kind: "WebLink"

+

Methods#

+

getId#

+

getId(): string

+

Get the UID of this entity

+

Returns#

+

string

+

Inherited from#

+

CatalogEntity.getId

+
+

getName#

+

getName(): string

+

Get the name of this entity

+

Returns#

+

string

+

Inherited from#

+

CatalogEntity.getName

+
+

getSource#

+

getSource(): string

+

Get the specified source of this entity, defaulting to "unknown" if not +provided

+

Returns#

+

string

+

Inherited from#

+

CatalogEntity.getSource

+
+

isEnabled#

+

isEnabled(): boolean

+

Get if this entity is enabled.

+

Returns#

+

boolean

+

Inherited from#

+

CatalogEntity.isEnabled

+
+

onContextMenuOpen#

+

onContextMenuOpen(context): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
contextCatalogEntityContextMenuContext
+

Returns#

+

Promise<void>

+

Overrides#

+

CatalogEntity.onContextMenuOpen

+
+

onRun#

+

onRun(): Promise<void>

+

Returns#

+

Promise<void>

+

Overrides#

+

CatalogEntity.onRun

+
+

onSettingsOpen#

+

onSettingsOpen(): void

+

Returns#

+

void

+

Overrides#

+

CatalogEntity.onSettingsOpen

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Common.Store.ExtensionStore/index.html b/v5.4.0/extensions/api/classes/Common.Store.ExtensionStore/index.html new file mode 100644 index 0000000000..b4618786f9 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Common.Store.ExtensionStore/index.html @@ -0,0 +1,1541 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ExtensionStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: ExtensionStore<T>#

+

Common.Store.ExtensionStore

+

Copyright (c) OpenLens Authors. All rights reserved. +Licensed under MIT License. See LICENSE in root directory for more information.

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Hierarchy#

+
    +
  • BaseStore<T>
  • +
+

ExtensionStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

Protected new ExtensionStore<T>(params)

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + +
NameType
paramsBaseStoreParams<T>
+

Inherited from#

+

BaseStore<T>.constructor

+

Properties#

+

displayName#

+

Readonly displayName: "ExtensionStore<T>"

+

Overrides#

+

BaseStore.displayName

+
+

extension#

+

Protected extension: LensExtension

+
+

params#

+

Protected params: BaseStoreParams<T>

+

Inherited from#

+

BaseStore.params

+
+

storeConfig#

+

Protected Optional storeConfig: Conf<T>

+

Inherited from#

+

BaseStore.storeConfig

+
+

syncDisposers#

+

Protected syncDisposers: Disposer[] = []

+

Inherited from#

+

BaseStore.syncDisposers

+

Accessors#

+

name#

+

get name(): string

+

Returns#

+

string

+

Inherited from#

+

BaseStore.name

+
+

path#

+

get path(): string

+

Returns#

+

string

+

Inherited from#

+

BaseStore.path

+
+

syncMainChannel#

+

Protected get syncMainChannel(): string

+

Returns#

+

string

+

Inherited from#

+

BaseStore.syncMainChannel

+
+

syncRendererChannel#

+

Protected get syncRendererChannel(): string

+

Returns#

+

string

+

Inherited from#

+

BaseStore.syncRendererChannel

+

Methods#

+

applyWithoutSync#

+

Protected applyWithoutSync(callback): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback() => void
+

Returns#

+

void

+

Inherited from#

+

BaseStore.applyWithoutSync

+
+

cwd#

+

Protected cwd(): string

+

Returns#

+

string

+

Overrides#

+

BaseStore.cwd

+
+

disableSync#

+

disableSync(): void

+

Returns#

+

void

+

Inherited from#

+

BaseStore.disableSync

+
+

enableSync#

+

enableSync(): void

+

Returns#

+

void

+

Inherited from#

+

BaseStore.enableSync

+
+

fromStore#

+

Protected Abstract fromStore(data): void

+

fromStore is called internally when a child class syncs with the file +system.

+

Note: This function must be synchronous.

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
dataTthe parsed information read from the stored JSON file
+

Returns#

+

void

+

Inherited from#

+

BaseStore.fromStore

+
+

load#

+

load(): void

+

Returns#

+

void

+

Overrides#

+

BaseStore.load

+
+

loadExtension#

+

loadExtension(extension): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
extensionLensExtension
+

Returns#

+

void

+
+

onModelChange#

+

Protected onModelChange(model): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
modelT
+

Returns#

+

void

+

Inherited from#

+

BaseStore.onModelChange

+
+

onSync#

+

Protected onSync(model): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
modelT
+

Returns#

+

void

+

Inherited from#

+

BaseStore.onSync

+
+

onSyncFromMain#

+

Protected onSyncFromMain(model): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
modelT
+

Returns#

+

void

+

Inherited from#

+

BaseStore.onSyncFromMain

+
+

saveToFile#

+

Protected saveToFile(model): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
modelT
+

Returns#

+

void

+

Inherited from#

+

BaseStore.saveToFile

+
+

toJSON#

+

Abstract toJSON(): T

+

toJSON is called when syncing the store to the filesystem. It should +produce a JSON serializable object representation of the current state.

+

It is recommended that a round trip is valid. Namely, calling +this.fromStore(this.toJSON()) shouldn't change the state.

+

Returns#

+

T

+

Inherited from#

+

BaseStore.toJSON

+
+

unregisterIpcListener#

+

unregisterIpcListener(): void

+

Returns#

+

void

+

Inherited from#

+

BaseStore.unregisterIpcListener

+
+

createInstance#

+

Static createInstance<T, R>(...args): T

+

Creates the single instance of the child class if one was not already created.

+

Multiple calls will return the same instance. +Essentially throwing away the arguments to the subsequent calls.

+

Note: this is a racy function, if two (or more) calls are racing to call this function +only the first's arguments will be used.

+

Type parameters#

+ + + + + + + + + + + + + + + + + +
NameType
TT
Rextends any[]
+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
...argsRThe constructor arguments for the child class
+

Returns#

+

T

+

An instance of the child class

+

Inherited from#

+

BaseStore.createInstance

+
+

getInstance#

+

Static getInstance<T, R>(strict): T

+

Get the instance of the child class that was previously created.

+

Type parameters#

+ + + + + + + + + + + + + + + + + +
NameType
TT
Rextends any[]
+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
strictbooleanIf false will return undefined instead of throwing when an instance doesn't exist. Default: true
+

Returns#

+

T

+

An instance of the child class

+

Inherited from#

+

BaseStore.getInstance

+
+

resetInstance#

+

Static resetInstance(): void

+

Delete the instance of the child class.

+

Note: this doesn't prevent callers of getInstance from storing the result in a global.

+

There is no way in JS or TS to prevent globals like that.

+

Returns#

+

void

+

Inherited from#

+

BaseStore.resetInstance

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Common.Util.Singleton/index.html b/v5.4.0/extensions/api/classes/Common.Util.Singleton/index.html new file mode 100644 index 0000000000..05763fa5dd --- /dev/null +++ b/v5.4.0/extensions/api/classes/Common.Util.Singleton/index.html @@ -0,0 +1,997 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Singleton - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Singleton#

+

Common.Util.Singleton

+

Copyright (c) OpenLens Authors. All rights reserved. +Licensed under MIT License. See LICENSE in root directory for more information.

+

Table of contents#

+

Constructors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Singleton()

+

Methods#

+

createInstance#

+

Static createInstance<T, R>(...args): T

+

Creates the single instance of the child class if one was not already created.

+

Multiple calls will return the same instance. +Essentially throwing away the arguments to the subsequent calls.

+

Note: this is a racy function, if two (or more) calls are racing to call this function +only the first's arguments will be used.

+

Type parameters#

+ + + + + + + + + + + + + + + + + +
NameType
TT
Rextends any[]
+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
...argsRThe constructor arguments for the child class
+

Returns#

+

T

+

An instance of the child class

+
+

getInstance#

+

Static getInstance<T, R>(strict): T

+

Get the instance of the child class that was previously created.

+

Type parameters#

+ + + + + + + + + + + + + + + + + +
NameType
TT
Rextends any[]
+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
strictbooleanIf false will return undefined instead of throwing when an instance doesn't exist. Default: true
+

Returns#

+

T

+

An instance of the child class

+
+

resetInstance#

+

Static resetInstance(): void

+

Delete the instance of the child class.

+

Note: this doesn't prevent callers of getInstance from storing the result in a global.

+

There is no way in JS or TS to prevent globals like that.

+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Main.Catalog.CatalogEntityRegistry/index.html b/v5.4.0/extensions/api/classes/Main.Catalog.CatalogEntityRegistry/index.html new file mode 100644 index 0000000000..c4fdaaf848 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Main.Catalog.CatalogEntityRegistry/index.html @@ -0,0 +1,920 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: CatalogEntityRegistry - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: CatalogEntityRegistry#

+

Main.Catalog.CatalogEntityRegistry

+

Table of contents#

+

Constructors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new CatalogEntityRegistry()

+

Methods#

+

getItemsForApiKind#

+

getItemsForApiKind<T>(apiVersion, kind): T[]

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Textends CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec, T>
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
apiVersionstring
kindstring
+

Returns#

+

T[]

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Main.Ipc/index.html b/v5.4.0/extensions/api/classes/Main.Ipc/index.html new file mode 100644 index 0000000000..082a68df3b --- /dev/null +++ b/v5.4.0/extensions/api/classes/Main.Ipc/index.html @@ -0,0 +1,1189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Ipc - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Ipc#

+

Main.Ipc

+

Hierarchy#

+
    +
  • IpcRegistrar
  • +
+

Ipc

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Ipc(extension)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
extensionLensExtension
+

Overrides#

+

IpcRegistrar.constructor

+

Properties#

+

[IpcPrefix]#

+

Readonly [IpcPrefix]: string

+

Inherited from#

+

IpcRegistrar.__@IpcPrefix@47196

+
+

extension#

+

Protected extension: LensExtension

+

Inherited from#

+

IpcRegistrar.extension

+

Methods#

+

broadcast#

+

broadcast(channel, ...args): void

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
channelstringThe channel to broadcast to your whole extension, both main and renderer
...argsany[]The arguments passed to all listeners
+

Returns#

+

void

+

Inherited from#

+

IpcRegistrar.broadcast

+
+

handle#

+

handle(channel, handler): void

+

Declare a RPC over channel. Lens will cleanup when the extension is disabled or uninstalled

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
channelstringThe name of the RPC
handler(event: IpcMainInvokeEvent, ...args: any[]) => anyThe remote procedure that is called
+

Returns#

+

void

+
+

listen#

+

listen(channel, listener): Disposer

+

Listen for broadcasts within your extension

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
channelstringThe channel to listen for broadcasts on
listener(event: IpcRendererEvent, ...args: any[]) => anyThe function that will be called with the arguments of the broadcast
+

Returns#

+

Disposer

+

An optional disposer, Lens will cleanup when the extension is disabled or uninstalled even if this is not called

+
+

createInstance#

+

Static createInstance<T, R>(...args): T

+

Creates the single instance of the child class if one was not already created.

+

Multiple calls will return the same instance. +Essentially throwing away the arguments to the subsequent calls.

+

Note: this is a racy function, if two (or more) calls are racing to call this function +only the first's arguments will be used.

+

Type parameters#

+ + + + + + + + + + + + + + + + + +
NameType
TT
Rextends any[]
+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
...argsRThe constructor arguments for the child class
+

Returns#

+

T

+

An instance of the child class

+

Inherited from#

+

IpcRegistrar.createInstance

+
+

getInstance#

+

Static getInstance<T, R>(strict): T

+

Get the instance of the child class that was previously created.

+

Type parameters#

+ + + + + + + + + + + + + + + + + +
NameType
TT
Rextends any[]
+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
strictbooleanIf false will return undefined instead of throwing when an instance doesn't exist. Default: true
+

Returns#

+

T

+

An instance of the child class

+

Inherited from#

+

IpcRegistrar.getInstance

+
+

resetInstance#

+

Static resetInstance(): void

+

Delete the instance of the child class.

+

Note: this doesn't prevent callers of getInstance from storing the result in a global.

+

There is no way in JS or TS to prevent globals like that.

+

Returns#

+

void

+

Inherited from#

+

IpcRegistrar.resetInstance

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Main.LensExtension/index.html b/v5.4.0/extensions/api/classes/Main.LensExtension/index.html new file mode 100644 index 0000000000..a2c71cc193 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Main.LensExtension/index.html @@ -0,0 +1,1361 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: LensExtension - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: LensExtension#

+

Main.LensExtension

+

Hierarchy#

+
    +
  • LensExtension
  • +
+

LensExtension

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new LensExtension(__namedParameters)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersInstalledExtension
+

Inherited from#

+

LensExtension.constructor

+

Properties#

+

[Disposers]#

+

[Disposers]: ExtendableDisposer

+

Inherited from#

+

LensExtension.__@Disposers@9922

+
+

appMenus#

+

appMenus: MenuRegistration[] = []

+
+

id#

+

Readonly id: string

+

Inherited from#

+

LensExtension.id

+
+

isBundled#

+

Readonly isBundled: boolean

+

Inherited from#

+

LensExtension.isBundled

+
+

manifest#

+

Readonly manifest: LensExtensionManifest

+

Inherited from#

+

LensExtension.manifest

+
+

manifestPath#

+

Readonly manifestPath: string

+

Inherited from#

+

LensExtension.manifestPath

+
+

protocolHandlers#

+

protocolHandlers: ProtocolHandlerRegistration[] = []

+

Inherited from#

+

LensExtension.protocolHandlers

+
+

terminalShellEnvModifier#

+

Optional terminalShellEnvModifier: ShellEnvModifier

+

implement this to modify the shell environment that Lens terminals are opened with. The ShellEnvModifier type has the signature

+

(ctx: ShellEnvContext, env: Record) => Record

+

param the shell environment context, specifically the relevant catalog entity for the terminal. This can be used, for example, to get +cluster-specific information that can be made available in the shell environment by the implementation of terminalShellEnvModifier

+

param the current shell environment that the terminal will be opened with. The implementation should modify this as desired.

+

returns the modified shell environment that the terminal will be opened with. The implementation must return env as passed in, if it +does not modify the shell environment

+
+

trayMenus#

+

trayMenus: TrayMenuRegistration[] = []

+

Accessors#

+

description#

+

get description(): string

+

Returns#

+

string

+

Inherited from#

+

LensExtension.description

+
+

isEnabled#

+

get isEnabled(): boolean

+

Returns#

+

boolean

+

Inherited from#

+

LensExtension.isEnabled

+
+

name#

+

get name(): string

+

Returns#

+

string

+

Inherited from#

+

LensExtension.name

+
+

version#

+

get version(): string

+

Returns#

+

string

+

Inherited from#

+

LensExtension.version

+

Methods#

+

[setLensExtensionDependencies]#

+

[setLensExtensionDependencies](dependencies): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dependenciesLensExtensionDependencies
+

Returns#

+

void

+

Inherited from#

+

LensExtension.__@setLensExtensionDependencies@9926

+
+

activate#

+

activate(): Promise<void>

+

Returns#

+

Promise<void>

+

Inherited from#

+

LensExtension.activate

+
+

addCatalogSource#

+

addCatalogSource(id, source): void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
idstring
sourceIObservableArray<CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>>
+

Returns#

+

void

+
+

disable#

+

disable(): Promise<void>

+

Returns#

+

Promise<void>

+

Inherited from#

+

LensExtension.disable

+
+

enable#

+

enable(register): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
register(ext: LensExtension) => Promise<Disposer[]>
+

Returns#

+

Promise<void>

+

Inherited from#

+

LensExtension.enable

+
+

getExtensionFileFolder#

+

getExtensionFileFolder(): Promise<string>

+

getExtensionFileFolder returns the path to an already created folder. This +folder is for the sole use of this extension.

+

Note: there is no security done on this folder, only obfuscation of the +folder name.

+

Returns#

+

Promise<string>

+

Inherited from#

+

LensExtension.getExtensionFileFolder

+
+ +

navigate(pageId?, params?, frameId?): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
pageId?string
params?Record<string, any>
frameId?number
+

Returns#

+

Promise<void>

+
+

onActivate#

+

Protected onActivate(): void | Promise<void>

+

Returns#

+

void | Promise<void>

+

Inherited from#

+

LensExtension.onActivate

+
+

onDeactivate#

+

Protected onDeactivate(): void | Promise<void>

+

Returns#

+

void | Promise<void>

+

Inherited from#

+

LensExtension.onDeactivate

+
+

removeCatalogSource#

+

removeCatalogSource(id): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Catalog.CatalogEntityRegistry/index.html b/v5.4.0/extensions/api/classes/Renderer.Catalog.CatalogEntityRegistry/index.html new file mode 100644 index 0000000000..ebd43cbf54 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Catalog.CatalogEntityRegistry/index.html @@ -0,0 +1,1074 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: CatalogEntityRegistry - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: CatalogEntityRegistry#

+

Renderer.Catalog.CatalogEntityRegistry

+

Table of contents#

+

Constructors#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new CatalogEntityRegistry()

+

Accessors#

+

activeEntity#

+

get activeEntity(): CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>

+

Currently active/visible entity

+

Returns#

+

CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>

+
+

entities#

+

get entities(): Map<string, CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>>

+

Returns#

+

Map<string, CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>>

+

Methods#

+

addOnBeforeRun#

+

addOnBeforeRun(onBeforeRun): Disposer

+

Add a onBeforeRun hook to a catalog entities. If onBeforeRun was previously +added then it will not be added again.

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
onBeforeRunCatalogEntityOnBeforeRunThe function to be called with a CatalogRunEvent event target will be the catalog entity. onBeforeRun hook can call event.preventDefault() to stop run sequence
+

Returns#

+

Disposer

+

A function to remove that hook

+
+

getById#

+

getById(id): CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>

+
+

getItemsForApiKind#

+

getItemsForApiKind<T>(apiVersion, kind): T[]

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Textends CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec, T>
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
apiVersionstring
kindstring
+

Returns#

+

T[]

+
+

getItemsForCategory#

+

getItemsForCategory<T>(category): T[]

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Textends CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec, T>
+

Parameters#

+ + + + + + + + + + + + + +
NameType
categoryCatalogCategory
+

Returns#

+

T[]

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Badge/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Badge/index.html new file mode 100644 index 0000000000..5fe1a3dc27 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Badge/index.html @@ -0,0 +1,1663 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Badge - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Badge#

+

Renderer.Component.Badge

+

Hierarchy#

+ +

Badge

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Badge(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsBadgeProps
+

Overrides#

+

React.Component<BadgeProps\>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

elem#

+

elem: HTMLElement

+
+

isExpanded#

+

isExpanded: boolean = false

+
+

props#

+

Readonly props: Readonly<BadgeProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

badgeMeta#

+

Static badgeMeta: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
hasTextSelectedboolean
+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: Partial<BadgeProps>

+

Accessors#

+

isExpandable#

+

get isExpandable(): boolean

+

Returns#

+

boolean

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<BadgeProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<BadgeProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

bindRef#

+

bindRef(elem): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
elemHTMLElement
+

Returns#

+

void

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<BadgeProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<BadgeProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<BadgeProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<BadgeProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

onMouseUp#

+

onMouseUp(): void

+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<BadgeProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<BadgeProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.BarChart/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.BarChart/index.html new file mode 100644 index 0000000000..2a0c42b460 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.BarChart/index.html @@ -0,0 +1,1562 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: BarChart - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: BarChart#

+

Renderer.Component.BarChart

+

Hierarchy#

+
    +
  • Component<Props>
  • +
+

BarChart

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new BarChart(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsProps | Readonly<Props>
+

Inherited from#

+

React.Component<Props>.constructor

+

new BarChart(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsProps
contextany
+

Inherited from#

+

React.Component<Props>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<Props> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: object

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Props>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Props>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<Props>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Button/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Button/index.html new file mode 100644 index 0000000000..5f2973d70a --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Button/index.html @@ -0,0 +1,1551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Button - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Button#

+

Renderer.Component.Button

+

Hierarchy#

+ +

Button

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Button(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsButtonProps | Readonly<ButtonProps>
+

Inherited from#

+

React.PureComponent<ButtonProps, {}>.constructor

+

new Button(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsButtonProps
contextany
+

Inherited from#

+

React.PureComponent<ButtonProps, {}>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.PureComponent.context

+
+

props#

+

Readonly props: Readonly<ButtonProps> & Readonly<Object>

+

Inherited from#

+

React.PureComponent.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.PureComponent.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.PureComponent.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.PureComponent.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<ButtonProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<ButtonProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<ButtonProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<ButtonProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<ButtonProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<ButtonProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.PureComponent.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.PureComponent.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<ButtonProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<ButtonProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.PureComponent.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Checkbox/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Checkbox/index.html new file mode 100644 index 0000000000..f0f4436253 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Checkbox/index.html @@ -0,0 +1,1592 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Checkbox - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Checkbox#

+

Renderer.Component.Checkbox

+

Hierarchy#

+ +

Checkbox

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Checkbox(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsCheckboxProps<boolean> | Readonly<CheckboxProps<boolean>>
+

Inherited from#

+

React.PureComponent<CheckboxProps>.constructor

+

new Checkbox(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsCheckboxProps<boolean>
contextany
+

Inherited from#

+

React.PureComponent<CheckboxProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.PureComponent.context

+
+

props#

+

Readonly props: Readonly<CheckboxProps<boolean>> & Readonly<Object>

+

Inherited from#

+

React.PureComponent.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.PureComponent.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.PureComponent.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.PureComponent.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<CheckboxProps<boolean>>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<CheckboxProps<boolean>>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<CheckboxProps<boolean>>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<CheckboxProps<boolean>>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<CheckboxProps<boolean>>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<CheckboxProps<boolean>>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.PureComponent.getSnapshotBeforeUpdate

+
+

getValue#

+

getValue(): boolean

+

Returns#

+

boolean

+
+

onChange#

+

onChange(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtChangeEvent<HTMLInputElement>
+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.PureComponent.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<CheckboxProps<boolean>>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<CheckboxProps<boolean>>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.PureComponent.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.ConfirmDialog/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.ConfirmDialog/index.html new file mode 100644 index 0000000000..fa66dbdbc0 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.ConfirmDialog/index.html @@ -0,0 +1,1680 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ConfirmDialog - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: ConfirmDialog#

+

Renderer.Component.ConfirmDialog

+

Hierarchy#

+ +

ConfirmDialog

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ConfirmDialog(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsConfirmDialogProps
+

Overrides#

+

React.Component<ConfirmDialogProps\>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

isSaving#

+

isSaving: boolean = false

+
+

props#

+

Readonly props: Readonly<ConfirmDialogProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultParams#

+

Static defaultParams: Partial<ConfirmDialogParams>

+

Accessors#

+

params#

+

get params(): ConfirmDialogParams

+

Returns#

+

ConfirmDialogParams

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<ConfirmDialogProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<ConfirmDialogProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

close#

+

close(): Promise<void>

+

Returns#

+

Promise<void>

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<ConfirmDialogProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<ConfirmDialogProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<ConfirmDialogProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<ConfirmDialogProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

ok#

+

ok(): Promise<void>

+

Returns#

+

Promise<void>

+
+

onClose#

+

onClose(): void

+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<ConfirmDialogProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<ConfirmDialogProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+
+

confirm#

+

Static confirm(params): Promise<boolean>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
paramsConfirmDialogBooleanParams
+

Returns#

+

Promise<boolean>

+
+

open#

+

Static open(params): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
paramsConfirmDialogParams
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Dialog/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Dialog/index.html new file mode 100644 index 0000000000..9c3b2036c1 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Dialog/index.html @@ -0,0 +1,1745 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Dialog - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Dialog#

+

Renderer.Component.Dialog

+

Hierarchy#

+ +

Dialog

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Dialog(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsDialogProps | Readonly<DialogProps>
+

Inherited from#

+

React.PureComponent<DialogProps, DialogState>.constructor

+

new Dialog(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsDialogProps
contextany
+

Inherited from#

+

React.PureComponent<DialogProps, DialogState>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.PureComponent.context

+
+

props#

+

Readonly props: Readonly<DialogProps> & Readonly<Object>

+

Inherited from#

+

React.PureComponent.props

+
+

ref#

+

ref: RefObject<HTMLDivElement>

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.PureComponent.refs

+
+

state#

+

state: DialogState

+

Overrides#

+

React.PureComponent.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.PureComponent.contextType

+
+

defaultProps#

+

Static defaultProps: DialogProps

+

Accessors#

+

elem#

+

get elem(): HTMLElement

+

Returns#

+

HTMLElement

+
+

isOpen#

+

get isOpen(): boolean

+

Returns#

+

boolean

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DialogProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DialogProps>
nextStateReadonly<DialogState>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillUpdate

+
+

close#

+

close(): void

+

Returns#

+

void

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidCatch

+
+

componentDidMount#

+

componentDidMount(): void

+

Returns#

+

void

+

Overrides#

+

React.PureComponent.componentDidMount

+
+

componentDidUpdate#

+

componentDidUpdate(prevProps): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
prevPropsDialogProps
+

Returns#

+

void

+

Overrides#

+

React.PureComponent.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DialogProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillReceiveProps

+
+

componentWillUnmount#

+

componentWillUnmount(): void

+

Returns#

+

void

+

Overrides#

+

React.PureComponent.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DialogProps>
nextStateReadonly<DialogState>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<DialogProps>
prevStateReadonly<DialogState>
+

Returns#

+

any

+

Inherited from#

+

React.PureComponent.getSnapshotBeforeUpdate

+
+

onClickOutside#

+

onClickOutside(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtMouseEvent
+

Returns#

+

void

+
+

onClose#

+

onClose(): void

+

Returns#

+

void

+
+

onEscapeKey#

+

onEscapeKey(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtKeyboardEvent
+

Returns#

+

void

+
+

onOpen#

+

onOpen(): void

+

Returns#

+

void

+
+

open#

+

open(): void

+

Returns#

+

void

+
+

render#

+

render(): ReactPortal

+

Returns#

+

ReactPortal

+

Overrides#

+

React.PureComponent.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends "isOpen"
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
stateDialogState | (prevState: Readonly<DialogState>, props: Readonly<DialogProps>) => DialogState | Pick<DialogState, K> | Pick<DialogState, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DialogProps>
nextStateReadonly<DialogState>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.PureComponent.shouldComponentUpdate

+
+

toggle#

+

toggle(isOpen): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
isOpenboolean
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.DrawerItem/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.DrawerItem/index.html new file mode 100644 index 0000000000..e217479e00 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.DrawerItem/index.html @@ -0,0 +1,1551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: DrawerItem - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: DrawerItem#

+

Renderer.Component.DrawerItem

+

Hierarchy#

+ +

DrawerItem

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new DrawerItem(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsDrawerItemProps | Readonly<DrawerItemProps>
+

Inherited from#

+

React.Component<DrawerItemProps>.constructor

+

new DrawerItem(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsDrawerItemProps
contextany
+

Inherited from#

+

React.Component<DrawerItemProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<DrawerItemProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerItemProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerItemProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<DrawerItemProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerItemProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerItemProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<DrawerItemProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<DrawerItemProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerItemProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.DrawerParamToggler/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.DrawerParamToggler/index.html new file mode 100644 index 0000000000..499fc5a62b --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.DrawerParamToggler/index.html @@ -0,0 +1,1564 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: DrawerParamToggler - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: DrawerParamToggler#

+

Renderer.Component.DrawerParamToggler

+

Hierarchy#

+ +

DrawerParamToggler

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new DrawerParamToggler(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsDrawerParamTogglerProps | Readonly<DrawerParamTogglerProps>
+

Inherited from#

+

React.Component<DrawerParamTogglerProps, State>.constructor

+

new DrawerParamToggler(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsDrawerParamTogglerProps
contextany
+

Inherited from#

+

React.Component<DrawerParamTogglerProps, State>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<DrawerParamTogglerProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: State = {}

+

Overrides#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerParamTogglerProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerParamTogglerProps>
nextStateReadonly<State>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<DrawerParamTogglerProps>
prevStateReadonly<State>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerParamTogglerProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerParamTogglerProps>
nextStateReadonly<State>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<DrawerParamTogglerProps>
prevStateReadonly<State>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends "open"
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
stateState | (prevState: Readonly<State>, props: Readonly<DrawerParamTogglerProps>) => State | Pick<State, K> | Pick<State, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerParamTogglerProps>
nextStateReadonly<State>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+
+

toggle#

+

toggle(): void

+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.DrawerTitle/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.DrawerTitle/index.html new file mode 100644 index 0000000000..4203a9d106 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.DrawerTitle/index.html @@ -0,0 +1,1551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: DrawerTitle - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: DrawerTitle#

+

Renderer.Component.DrawerTitle

+

Hierarchy#

+ +

DrawerTitle

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new DrawerTitle(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsDrawerTitleProps | Readonly<DrawerTitleProps>
+

Inherited from#

+

React.Component<DrawerTitleProps>.constructor

+

new DrawerTitle(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsDrawerTitleProps
contextany
+

Inherited from#

+

React.Component<DrawerTitleProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<DrawerTitleProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerTitleProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerTitleProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<DrawerTitleProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerTitleProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerTitleProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<DrawerTitleProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<DrawerTitleProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<DrawerTitleProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Icon/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Icon/index.html new file mode 100644 index 0000000000..88e8b5cde7 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Icon/index.html @@ -0,0 +1,1654 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Icon - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Icon#

+

Renderer.Component.Icon

+

Hierarchy#

+ +

Icon

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Icon(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsIconProps | Readonly<IconProps>
+

Inherited from#

+

React.PureComponent<IconProps>.constructor

+

new Icon(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsIconProps
contextany
+

Inherited from#

+

React.PureComponent<IconProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.PureComponent.context

+
+

props#

+

Readonly props: Readonly<IconProps> & Readonly<Object>

+

Inherited from#

+

React.PureComponent.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.PureComponent.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.PureComponent.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.PureComponent.contextType

+
+

defaultProps#

+

Static defaultProps: IconProps

+

Accessors#

+

isInteractive#

+

get isInteractive(): boolean

+

Returns#

+

boolean

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<IconProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<IconProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<IconProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<IconProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<IconProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<IconProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.PureComponent.getSnapshotBeforeUpdate

+
+

onClick#

+

onClick(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtMouseEvent<Element, MouseEvent>
+

Returns#

+

void

+
+

onKeyDown#

+

onKeyDown(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtKeyboardEvent<any>
+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.PureComponent.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<IconProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<IconProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.PureComponent.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Input/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Input/index.html new file mode 100644 index 0000000000..71cb1ebfb4 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Input/index.html @@ -0,0 +1,1937 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Input - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+ +
+
+ + +
+
+ + + + +

Class: Input#

+

Renderer.Component.Input

+

Hierarchy#

+ +

Input

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Input(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsInputProps | Readonly<InputProps>
+

Inherited from#

+

React.Component<InputProps, State>.constructor

+

new Input(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsInputProps
contextany
+

Inherited from#

+

React.Component<InputProps, State>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

input#

+

input: InputElement = null

+
+

props#

+

Readonly props: Readonly<InputProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

setDirtyOnChange#

+

setDirtyOnChange: DebouncedFunc<fn>

+
+

state#

+

state: State

+

Overrides#

+

React.Component.state

+
+

validators#

+

validators: InputValidator[] = []

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: object

+

Accessors#

+

isUncontrolled#

+

get isUncontrolled(): boolean

+

Returns#

+

boolean

+
+

showMaxLenIndicator#

+

get showMaxLenIndicator(): boolean

+

Returns#

+

boolean

+
+

themeSelection#

+

get themeSelection(): Record<string, boolean>

+

Returns#

+

Record<string, boolean>

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<InputProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<InputProps>
nextStateReadonly<State>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

bindRef#

+

bindRef(elem): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
elemInputElement
+

Returns#

+

void

+
+

blur#

+

blur(): void

+

Returns#

+

void

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

componentDidMount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

componentDidUpdate(prevProps): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
prevPropsInputProps
+

Returns#

+

void

+

Overrides#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<InputProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

componentWillUnmount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<InputProps>
nextStateReadonly<State>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

focus#

+

focus(): void

+

Returns#

+

void

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<InputProps>
prevStateReadonly<State>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

getValue#

+

getValue(): string

+

Returns#

+

string

+
+

onBlur#

+

onBlur(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtFocusEvent<InputElement, Element>
+

Returns#

+

void

+
+

onChange#

+

onChange(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtChangeEvent<any>
+

Returns#

+

void

+
+

onFocus#

+

onFocus(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtFocusEvent<InputElement, Element>
+

Returns#

+

void

+
+

onKeyDown#

+

onKeyDown(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtKeyboardEvent<InputElement>
+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

select#

+

select(): void

+

Returns#

+

void

+
+

setDirty#

+

setDirty(dirty?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
dirtybooleantrue
+

Returns#

+

void

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends keyof State
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
stateState | (prevState: Readonly<State>, props: Readonly<InputProps>) => State | Pick<State, K> | Pick<State, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

setValidation#

+

setValidation(errors): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorsReactNode[]
+

Returns#

+

void

+
+

setValue#

+

setValue(value?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
valuestring""
+

Returns#

+

void

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<InputProps>
nextStateReadonly<State>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+
+

validate#

+

validate(): Promise<void>

+

Returns#

+

Promise<void>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.KubeObjectDetails/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.KubeObjectDetails/index.html new file mode 100644 index 0000000000..97297cd60d --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.KubeObjectDetails/index.html @@ -0,0 +1,1597 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: KubeObjectDetails - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: KubeObjectDetails#

+

Renderer.Component.KubeObjectDetails

+

Hierarchy#

+
    +
  • Component
  • +
+

KubeObjectDetails

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new KubeObjectDetails(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsObject
+

Overrides#

+

React.Component.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

isLoading#

+

isLoading: boolean = false

+
+

loadingError#

+

loadingError: ReactNode

+
+

props#

+

Readonly props: Readonly<Object> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Accessors#

+

object#

+

get object(): KubeObject<KubeObjectMetadata, any, any>

+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+
+

path#

+

get path(): string

+

Returns#

+

string

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Object>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

componentDidMount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Object>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Object>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Object>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<Object>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Object>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.KubeObjectMeta/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.KubeObjectMeta/index.html new file mode 100644 index 0000000000..1f836dca71 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.KubeObjectMeta/index.html @@ -0,0 +1,1590 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: KubeObjectMeta - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: KubeObjectMeta#

+

Renderer.Component.KubeObjectMeta

+

Hierarchy#

+ +

KubeObjectMeta

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new KubeObjectMeta(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsKubeObjectMetaProps | Readonly<KubeObjectMetaProps>
+

Inherited from#

+

React.Component<KubeObjectMetaProps>.constructor

+

new KubeObjectMeta(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsKubeObjectMetaProps
contextany
+

Inherited from#

+

React.Component<KubeObjectMetaProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<KubeObjectMetaProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultHiddenFields#

+

Static defaultHiddenFields: keyof KubeObjectMetadata[]

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<KubeObjectMetaProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<KubeObjectMetaProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<KubeObjectMetaProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<KubeObjectMetaProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<KubeObjectMetaProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<KubeObjectMetaProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

isHidden#

+

isHidden(field): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
fieldkeyof KubeObjectMetadata
+

Returns#

+

boolean

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<KubeObjectMetaProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<KubeObjectMetaProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.LineProgress/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.LineProgress/index.html new file mode 100644 index 0000000000..d52555a4f6 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.LineProgress/index.html @@ -0,0 +1,1562 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: LineProgress - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: LineProgress#

+

Renderer.Component.LineProgress

+

Hierarchy#

+ +

LineProgress

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new LineProgress(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsLineProgressProps | Readonly<LineProgressProps>
+

Inherited from#

+

React.PureComponent<LineProgressProps>.constructor

+

new LineProgress(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsLineProgressProps
contextany
+

Inherited from#

+

React.PureComponent<LineProgressProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.PureComponent.context

+
+

props#

+

Readonly props: Readonly<LineProgressProps> & Readonly<Object>

+

Inherited from#

+

React.PureComponent.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.PureComponent.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.PureComponent.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.PureComponent.contextType

+
+

defaultProps#

+

Static defaultProps: LineProgressProps

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<LineProgressProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<LineProgressProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<LineProgressProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<LineProgressProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<LineProgressProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<LineProgressProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.PureComponent.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.PureComponent.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<LineProgressProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<LineProgressProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.PureComponent.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Menu/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Menu/index.html new file mode 100644 index 0000000000..1ab6ba5971 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Menu/index.html @@ -0,0 +1,1900 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Menu - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Menu#

+

Renderer.Component.Menu

+

Hierarchy#

+ +

Menu

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Menu(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsMenuProps
+

Overrides#

+

React.Component<MenuProps, State\>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

elem#

+

elem: HTMLUListElement

+
+

items#

+

Protected items: Object = {}

+

Index signature#

+

▪ [index: number]: MenuItem

+
+

opener#

+

opener: HTMLElement

+
+

props#

+

Readonly props: Readonly<MenuProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: State = {}

+

Overrides#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: object

+

Accessors#

+

focusableItems#

+

Protected get focusableItems(): MenuItem[]

+

Returns#

+

MenuItem[]

+
+

focusedItem#

+

Protected get focusedItem(): MenuItem

+

Returns#

+

MenuItem

+
+

isClosed#

+

get isClosed(): boolean

+

Returns#

+

boolean

+
+

isOpen#

+

get isOpen(): boolean

+

Returns#

+

boolean

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuProps>
nextStateReadonly<State>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

bindItemRef#

+

Protected bindItemRef(item, index): void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemMenuItem
indexnumber
+

Returns#

+

void

+
+

bindRef#

+

Protected bindRef(elem): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
elemHTMLUListElement
+

Returns#

+

void

+
+

close#

+

close(): void

+

Returns#

+

void

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

componentDidMount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

componentDidUpdate(prevProps): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
prevPropsMenuProps
+

Returns#

+

void

+

Overrides#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

componentWillUnmount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuProps>
nextStateReadonly<State>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

focusNextItem#

+

Protected focusNextItem(reverse?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
reversebooleanfalse
+

Returns#

+

void

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<MenuProps>
prevStateReadonly<State>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

onBlur#

+

onBlur(): void

+

Returns#

+

void

+
+

onClickOutside#

+

onClickOutside(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtMouseEvent
+

Returns#

+

void

+
+

onContextMenu#

+

onContextMenu(): void

+

Returns#

+

void

+
+

onKeyDown#

+

onKeyDown(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtKeyboardEvent
+

Returns#

+

void

+
+

onScrollOutside#

+

onScrollOutside(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtUIEvent
+

Returns#

+

void

+
+

onWindowResize#

+

onWindowResize(): void

+

Returns#

+

void

+
+

open#

+

open(): void

+

Returns#

+

void

+
+

refreshPosition#

+

refreshPosition(): void

+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends keyof State
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
stateState | (prevState: Readonly<State>, props: Readonly<MenuProps>) => State | Pick<State, K> | Pick<State, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuProps>
nextStateReadonly<State>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+
+

toggle#

+

toggle(): void

+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.MenuActions/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.MenuActions/index.html new file mode 100644 index 0000000000..b12d21e3b7 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.MenuActions/index.html @@ -0,0 +1,1599 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: MenuActions - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: MenuActions#

+

Renderer.Component.MenuActions

+

Hierarchy#

+ +

MenuActions

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new MenuActions(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsMenuActionsProps
+

Overrides#

+

React.Component<MenuActionsProps\>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

id#

+

id: string

+
+

isOpen#

+

isOpen: boolean = !!this.props.toolbar

+
+

props#

+

Readonly props: Readonly<MenuActionsProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: MenuActionsProps

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuActionsProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuActionsProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<MenuActionsProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuActionsProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuActionsProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<MenuActionsProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

remove#

+

remove(): void

+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

renderTriggerIcon#

+

renderTriggerIcon(): Element

+

Returns#

+

Element

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<MenuActionsProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuActionsProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+
+

toggle#

+

toggle(): void

+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.MenuItem/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.MenuItem/index.html new file mode 100644 index 0000000000..e5c3ad1997 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.MenuItem/index.html @@ -0,0 +1,1630 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: MenuItem - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: MenuItem#

+

Renderer.Component.MenuItem

+

Hierarchy#

+ +

MenuItem

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new MenuItem(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsMenuItemProps
+

Overrides#

+

React.Component<MenuItemProps\>.constructor

+

Properties#

+

context#

+

context: Menu

+

Overrides#

+

React.Component.context

+
+

elem#

+

elem: HTMLElement

+
+

props#

+

Readonly props: Readonly<MenuItemProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static contextType: Context<Menu> = MenuContext

+

Overrides#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: object

+

Accessors#

+

isFocusable#

+

get isFocusable(): boolean

+

Returns#

+

boolean

+
+ +

get isLink(): boolean

+

Returns#

+

boolean

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuItemProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuItemProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

bindRef#

+

Protected bindRef(elem): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
elemHTMLElement
+

Returns#

+

void

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<MenuItemProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuItemProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuItemProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<MenuItemProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

onClick#

+

onClick(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtMouseEvent<Element, MouseEvent>
+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<MenuItemProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<MenuItemProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Notifications/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Notifications/index.html new file mode 100644 index 0000000000..c7771dac01 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Notifications/index.html @@ -0,0 +1,1738 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Notifications - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Notifications#

+

Renderer.Component.Notifications

+

Hierarchy#

+
    +
  • Component
  • +
+

Notifications

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Notifications(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
props{} | Readonly<Object>
+

Inherited from#

+

React.Component.constructor

+

new Notifications(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsObject
contextany
+

Inherited from#

+

React.Component.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

elem#

+

elem: HTMLElement

+
+

props#

+

Readonly props: Readonly<Object> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Object>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

componentDidMount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Object>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Object>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getMessage#

+

getMessage(notification): (ReactChild | ReactFragment | ReactPortal)[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
notificationNotification
+

Returns#

+

(ReactChild | ReactFragment | ReactPortal)[]

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Object>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

scrollToLastNotification#

+

scrollToLastNotification(): void

+

Returns#

+

void

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<Object>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Object>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+
+

error#

+

Static error(message, customOpts?): () => void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
messageNotificationMessage
customOptsPartial<Notification>
+

Returns#

+

fn

+

▸ (): void

+
Returns#
+

void

+
+

info#

+

Static info(message, customOpts?): () => void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
messageNotificationMessage
customOptsPartial<Notification>
+

Returns#

+

fn

+

▸ (): void

+
Returns#
+

void

+
+

ok#

+

Static ok(message): () => void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
messageNotificationMessage
+

Returns#

+

fn

+

▸ (): void

+
Returns#
+

void

+
+

shortInfo#

+

Static shortInfo(message, customOpts?): () => void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
messageNotificationMessage
customOptsPartial<Notification>
+

Returns#

+

fn

+

▸ (): void

+
Returns#
+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.NotificationsStore/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.NotificationsStore/index.html new file mode 100644 index 0000000000..4dfa93dbb7 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.NotificationsStore/index.html @@ -0,0 +1,1061 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: NotificationsStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: NotificationsStore#

+

Renderer.Component.NotificationsStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new NotificationsStore()

+

Properties#

+

autoHideTimers#

+

Protected autoHideTimers: Map<NotificationId, number>

+
+

notifications#

+

notifications: IObservableArray<Notification>

+

Methods#

+

add#

+

add(notification): () => void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
notificationNotification
+

Returns#

+

fn

+

▸ (): void

+
Returns#
+

void

+
+

addAutoHideTimer#

+

addAutoHideTimer(id): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idNotificationId
+

Returns#

+

void

+
+

getById#

+

getById(id): Notification

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idNotificationId
+

Returns#

+

Notification

+
+

remove#

+

remove(id): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idNotificationId
+

Returns#

+

void

+
+

removeAutoHideTimer#

+

removeAutoHideTimer(id): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idNotificationId
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.PageLayout/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.PageLayout/index.html new file mode 100644 index 0000000000..41487b9de9 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.PageLayout/index.html @@ -0,0 +1,1593 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: PageLayout - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: PageLayout#

+

Renderer.Component.PageLayout

+

PageLayout is deprecated. See MainLayout & SettingLayout

+

deprecated

+

Hierarchy#

+ +

PageLayout

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new PageLayout(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsSettingLayoutProps | Readonly<SettingLayoutProps>
+

Inherited from#

+

SettingLayout.constructor

+

new PageLayout(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsSettingLayoutProps
contextany
+

Inherited from#

+

SettingLayout.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

SettingLayout.context

+
+

props#

+

Readonly props: Readonly<SettingLayoutProps> & Readonly<Object>

+

Inherited from#

+

SettingLayout.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

SettingLayout.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

SettingLayout.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

SettingLayout.contextType

+
+

defaultProps#

+

Static defaultProps: object

+

Inherited from#

+

SettingLayout.defaultProps

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

SettingLayout.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SettingLayoutProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

SettingLayout.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SettingLayoutProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

SettingLayout.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

SettingLayout.componentDidCatch

+
+

componentDidMount#

+

componentDidMount(): Promise<void>

+

Returns#

+

Promise<void>

+

Inherited from#

+

SettingLayout.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<SettingLayoutProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

SettingLayout.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

SettingLayout.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SettingLayoutProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

SettingLayout.componentWillReceiveProps

+
+

componentWillUnmount#

+

componentWillUnmount(): void

+

Returns#

+

void

+

Inherited from#

+

SettingLayout.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SettingLayoutProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

SettingLayout.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

SettingLayout.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<SettingLayoutProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

SettingLayout.getSnapshotBeforeUpdate

+
+

onEscapeKey#

+

onEscapeKey(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtKeyboardEvent
+

Returns#

+

void

+

Inherited from#

+

SettingLayout.onEscapeKey

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Inherited from#

+

SettingLayout.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<SettingLayoutProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

SettingLayout.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SettingLayoutProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

SettingLayout.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.PieChart/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.PieChart/index.html new file mode 100644 index 0000000000..2fe8feca7a --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.PieChart/index.html @@ -0,0 +1,1551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: PieChart - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: PieChart#

+

Renderer.Component.PieChart

+

Hierarchy#

+
    +
  • Component<Props>
  • +
+

PieChart

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new PieChart(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsProps | Readonly<Props>
+

Inherited from#

+

React.Component<Props>.constructor

+

new PieChart(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsProps
contextany
+

Inherited from#

+

React.Component<Props>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<Props> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Props>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Props>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<Props>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.PodDetailsList/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.PodDetailsList/index.html new file mode 100644 index 0000000000..23377c0bb0 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.PodDetailsList/index.html @@ -0,0 +1,1640 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: PodDetailsList - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: PodDetailsList#

+

Renderer.Component.PodDetailsList

+

Hierarchy#

+
    +
  • Component<Props>
  • +
+

PodDetailsList

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new PodDetailsList(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsProps | Readonly<Props>
+

Inherited from#

+

React.Component<Props>.constructor

+

new PodDetailsList(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsProps
contextany
+

Inherited from#

+

React.Component<Props>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<Props> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

componentDidMount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Props>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

componentWillUnmount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Props>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

getTableRow#

+

getTableRow(uid): Element

+

Parameters#

+ + + + + + + + + + + + + +
NameType
uidstring
+

Returns#

+

Element

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

renderCpuUsage#

+

renderCpuUsage(id, usage): string | 0 | Element

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
idstring
usagenumber
+

Returns#

+

string | 0 | Element

+
+

renderMemoryUsage#

+

renderMemoryUsage(id, usage): string | 0 | Element

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
idstring
usagenumber
+

Returns#

+

string | 0 | Element

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<Props>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Radio/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Radio/index.html new file mode 100644 index 0000000000..55bbf631e0 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Radio/index.html @@ -0,0 +1,1592 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Radio - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Radio#

+

Renderer.Component.Radio

+

Hierarchy#

+ +

Radio

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Radio(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsRadioProps | Readonly<RadioProps>
+

Inherited from#

+

React.Component<RadioProps>.constructor

+

new Radio(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsRadioProps
contextany
+

Inherited from#

+

React.Component<RadioProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<RadioProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<RadioProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<RadioProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<RadioProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<RadioProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<RadioProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<RadioProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

onChange#

+

onChange(): void

+

Returns#

+

void

+
+

onKeyDown#

+

onKeyDown(e): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
eKeyboardEvent<any>
+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<RadioProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<RadioProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.RadioGroup/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.RadioGroup/index.html new file mode 100644 index 0000000000..f265138954 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.RadioGroup/index.html @@ -0,0 +1,1551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: RadioGroup - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: RadioGroup#

+

Renderer.Component.RadioGroup

+

Hierarchy#

+ +

RadioGroup

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new RadioGroup(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsRadioGroupProps | Readonly<RadioGroupProps>
+

Inherited from#

+

React.Component<RadioGroupProps, {}>.constructor

+

new RadioGroup(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsRadioGroupProps
contextany
+

Inherited from#

+

React.Component<RadioGroupProps, {}>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<RadioGroupProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<RadioGroupProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<RadioGroupProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<RadioGroupProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<RadioGroupProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<RadioGroupProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<RadioGroupProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<RadioGroupProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<RadioGroupProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.SearchInput/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.SearchInput/index.html new file mode 100644 index 0000000000..f75936dd7c --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.SearchInput/index.html @@ -0,0 +1,1628 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: SearchInput - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: SearchInput#

+

Renderer.Component.SearchInput

+

Hierarchy#

+
    +
  • Component<Props>
  • +
+

SearchInput

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new SearchInput(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsProps | Readonly<Props>
+

Inherited from#

+

React.Component<Props>.constructor

+

new SearchInput(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsProps
contextany
+

Inherited from#

+

React.Component<Props>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<Props> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: object

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

clear#

+

clear(): void

+

Returns#

+

void

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

componentDidMount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Props>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

componentWillUnmount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Props>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

onGlobalKey#

+

onGlobalKey(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtKeyboardEvent
+

Returns#

+

void

+
+

onKeyDown#

+

onKeyDown(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtKeyboardEvent<any>
+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<Props>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Select/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Select/index.html new file mode 100644 index 0000000000..d1eeb92278 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Select/index.html @@ -0,0 +1,1688 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Select - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Select#

+

Renderer.Component.Select

+

Hierarchy#

+ +

Select

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Select(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsSelectProps<any>
+

Overrides#

+

React.Component<SelectProps\>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<SelectProps<any>> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: SelectProps<any>

+

Accessors#

+

options#

+

get options(): SelectOption<any>[]

+

Returns#

+

SelectOption<any>[]

+
+

selectedOption#

+

get selectedOption(): SelectOption<any> | SelectOption<any>[]

+

Returns#

+

SelectOption<any> | SelectOption<any>[]

+
+

themeClass#

+

get themeClass(): string

+

Returns#

+

string

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SelectProps<any>>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SelectProps<any>>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<SelectProps<any>>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SelectProps<any>>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SelectProps<any>>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<SelectProps<any>>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

isValidOption#

+

Protected isValidOption(opt): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
optany
+

Returns#

+

boolean

+
+

onChange#

+

onChange(value, meta): void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
valueSelectOption<any>
metaActionMeta<any>
+

Returns#

+

void

+
+

onKeyDown#

+

onKeyDown(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtKeyboardEvent<HTMLElement>
+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<SelectProps<any>>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SelectProps<any>>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.SettingLayout/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.SettingLayout/index.html new file mode 100644 index 0000000000..f45cf1a030 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.SettingLayout/index.html @@ -0,0 +1,1589 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: SettingLayout - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: SettingLayout#

+

Renderer.Component.SettingLayout

+

Layout for settings like pages with navigation

+

Hierarchy#

+ +

SettingLayout

+

↳↳ PageLayout

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new SettingLayout(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsSettingLayoutProps | Readonly<SettingLayoutProps>
+

Inherited from#

+

React.Component<SettingLayoutProps>.constructor

+

new SettingLayout(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsSettingLayoutProps
contextany
+

Inherited from#

+

React.Component<SettingLayoutProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<SettingLayoutProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: object

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SettingLayoutProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SettingLayoutProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

componentDidMount(): Promise<void>

+

Returns#

+

Promise<void>

+

Overrides#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<SettingLayoutProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SettingLayoutProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

componentWillUnmount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SettingLayoutProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<SettingLayoutProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

onEscapeKey#

+

onEscapeKey(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtKeyboardEvent
+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<SettingLayoutProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SettingLayoutProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Slider/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Slider/index.html new file mode 100644 index 0000000000..11e31eaf52 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Slider/index.html @@ -0,0 +1,1562 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Slider - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Slider#

+

Renderer.Component.Slider

+

Hierarchy#

+ +

Slider

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Slider(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsSliderProps | Readonly<SliderProps>
+

Inherited from#

+

Component<SliderProps>.constructor

+

new Slider(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsSliderProps
contextany
+

Inherited from#

+

Component<SliderProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

Component.context

+
+

props#

+

Readonly props: Readonly<SliderProps> & Readonly<Object>

+

Inherited from#

+

Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

Component.contextType

+
+

defaultProps#

+

Static defaultProps: object

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SliderProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SliderProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<SliderProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SliderProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SliderProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<SliderProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<SliderProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SliderProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Spinner/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Spinner/index.html new file mode 100644 index 0000000000..ee777c9a36 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Spinner/index.html @@ -0,0 +1,1581 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Spinner - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Spinner#

+

Renderer.Component.Spinner

+

Hierarchy#

+ +

Spinner

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Spinner(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsSpinnerProps | Readonly<SpinnerProps>
+

Inherited from#

+

React.Component<SpinnerProps, {}>.constructor

+

new Spinner(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsSpinnerProps
contextany
+

Inherited from#

+

React.Component<SpinnerProps, {}>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<SpinnerProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + +
NameType
centerboolean
singleColorboolean
+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SpinnerProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SpinnerProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<SpinnerProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SpinnerProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SpinnerProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<SpinnerProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<SpinnerProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<SpinnerProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.StatusBrick/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.StatusBrick/index.html new file mode 100644 index 0000000000..7c4412b7cf --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.StatusBrick/index.html @@ -0,0 +1,1551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: StatusBrick - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: StatusBrick#

+

Renderer.Component.StatusBrick

+

Hierarchy#

+ +

StatusBrick

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new StatusBrick(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsStatusBrickProps | Readonly<StatusBrickProps>
+

Inherited from#

+

React.Component<StatusBrickProps>.constructor

+

new StatusBrick(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsStatusBrickProps
contextany
+

Inherited from#

+

React.Component<StatusBrickProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<StatusBrickProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<StatusBrickProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<StatusBrickProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<StatusBrickProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<StatusBrickProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<StatusBrickProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<StatusBrickProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<StatusBrickProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<StatusBrickProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Stepper/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Stepper/index.html new file mode 100644 index 0000000000..a15de8b2ee --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Stepper/index.html @@ -0,0 +1,1551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Stepper - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Stepper#

+

Renderer.Component.Stepper

+

Hierarchy#

+ +

Stepper

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Stepper(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsStepperProps | Readonly<StepperProps>
+

Inherited from#

+

React.Component<StepperProps, {}>.constructor

+

new Stepper(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsStepperProps
contextany
+

Inherited from#

+

React.Component<StepperProps, {}>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<StepperProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<StepperProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<StepperProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<StepperProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<StepperProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<StepperProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<StepperProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<StepperProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<StepperProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.SubTitle/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.SubTitle/index.html new file mode 100644 index 0000000000..0f35ee9eb0 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.SubTitle/index.html @@ -0,0 +1,1551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: SubTitle - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: SubTitle#

+

Renderer.Component.SubTitle

+

Hierarchy#

+
    +
  • Component<Props>
  • +
+

SubTitle

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new SubTitle(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsProps | Readonly<Props>
+

Inherited from#

+

React.Component<Props>.constructor

+

new SubTitle(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsProps
contextany
+

Inherited from#

+

React.Component<Props>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<Props> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Props>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<Props>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<Props>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<Props>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Tab/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Tab/index.html new file mode 100644 index 0000000000..c252f8c9c3 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Tab/index.html @@ -0,0 +1,1683 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Tab - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Tab#

+

Renderer.Component.Tab

+

Hierarchy#

+ +

Tab

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Tab(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsTabProps<any> | Readonly<TabProps<any>>
+

Inherited from#

+

React.PureComponent<TabProps>.constructor

+

new Tab(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsTabProps<any>
contextany
+

Inherited from#

+

React.PureComponent<TabProps>.constructor

+

Properties#

+

context#

+

context: TabsContextValue<any>

+

Overrides#

+

React.PureComponent.context

+
+

props#

+

Readonly props: Readonly<TabProps<any>> & Readonly<Object>

+

Inherited from#

+

React.PureComponent.props

+
+

ref#

+

ref: RefObject<HTMLDivElement>

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.PureComponent.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.PureComponent.state

+
+

contextType#

+

Static contextType: Context<TabsContextValue<any>> = TabsContext

+

Overrides#

+

React.PureComponent.contextType

+

Accessors#

+

isActive#

+

get isActive(): boolean

+

Returns#

+

boolean

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TabProps<any>>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TabProps<any>>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidCatch

+
+

componentDidMount#

+

componentDidMount(): void

+

Returns#

+

void

+

Overrides#

+

React.PureComponent.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<TabProps<any>>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TabProps<any>>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TabProps<any>>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUpdate

+
+

focus#

+

focus(): void

+

Returns#

+

void

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<TabProps<any>>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.PureComponent.getSnapshotBeforeUpdate

+
+

onClick#

+

onClick(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtMouseEvent<HTMLElement, MouseEvent>
+

Returns#

+

void

+
+

onFocus#

+

onFocus(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtFocusEvent<HTMLElement, Element>
+

Returns#

+

void

+
+

onKeyDown#

+

onKeyDown(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtKeyboardEvent<HTMLElement>
+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.PureComponent.render

+
+

scrollIntoView#

+

scrollIntoView(): void

+

Returns#

+

void

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<TabProps<any>>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TabProps<any>>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.PureComponent.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.TableCell/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.TableCell/index.html new file mode 100644 index 0000000000..ced83ce021 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.TableCell/index.html @@ -0,0 +1,1641 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: TableCell - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: TableCell#

+

Renderer.Component.TableCell

+

Hierarchy#

+ +

TableCell

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new TableCell(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsTableCellProps | Readonly<TableCellProps>
+

Inherited from#

+

React.Component<TableCellProps>.constructor

+

new TableCell(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsTableCellProps
contextany
+

Inherited from#

+

React.Component<TableCellProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<TableCellProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Accessors#

+

isSortable#

+

get isSortable(): boolean

+

Returns#

+

boolean

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableCellProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableCellProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<TableCellProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableCellProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableCellProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<TableCellProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

onClick#

+

onClick(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtMouseEvent<HTMLDivElement, MouseEvent>
+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

renderCheckbox#

+

renderCheckbox(): Element

+

Returns#

+

Element

+
+

renderSortIcon#

+

renderSortIcon(): Element

+

Returns#

+

Element

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<TableCellProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableCellProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.TableHead/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.TableHead/index.html new file mode 100644 index 0000000000..16b0356362 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.TableHead/index.html @@ -0,0 +1,1562 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: TableHead - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: TableHead#

+

Renderer.Component.TableHead

+

Hierarchy#

+ +

TableHead

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new TableHead(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsTableHeadProps | Readonly<TableHeadProps>
+

Inherited from#

+

React.Component<TableHeadProps>.constructor

+

new TableHead(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsTableHeadProps
contextany
+

Inherited from#

+

React.Component<TableHeadProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<TableHeadProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: TableHeadProps

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableHeadProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableHeadProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<TableHeadProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableHeadProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableHeadProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<TableHeadProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<TableHeadProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableHeadProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.TableRow/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.TableRow/index.html new file mode 100644 index 0000000000..30556dbf1c --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.TableRow/index.html @@ -0,0 +1,1551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: TableRow - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: TableRow#

+

Renderer.Component.TableRow

+

Hierarchy#

+ +

TableRow

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new TableRow(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsTableRowProps | Readonly<TableRowProps>
+

Inherited from#

+

React.Component<TableRowProps>.constructor

+

new TableRow(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsTableRowProps
contextany
+

Inherited from#

+

React.Component<TableRowProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<TableRowProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableRowProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableRowProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<TableRowProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableRowProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableRowProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<TableRowProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<TableRowProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TableRowProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Tabs/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Tabs/index.html new file mode 100644 index 0000000000..a3c7034221 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Tabs/index.html @@ -0,0 +1,1590 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Tabs - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Tabs#

+

Renderer.Component.Tabs

+

Hierarchy#

+ +

Tabs

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Tabs(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsTabsProps<any> | Readonly<TabsProps<any>>
+

Inherited from#

+

React.PureComponent<TabsProps>.constructor

+

new Tabs(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsTabsProps<any>
contextany
+

Inherited from#

+

React.PureComponent<TabsProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.PureComponent.context

+
+

elem#

+

elem: HTMLElement

+
+

props#

+

Readonly props: Readonly<TabsProps<any>> & Readonly<Object>

+

Inherited from#

+

React.PureComponent.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.PureComponent.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.PureComponent.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.PureComponent.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TabsProps<any>>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TabsProps<any>>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.UNSAFE_componentWillUpdate

+
+

bindRef#

+

Protected bindRef(elem): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
elemHTMLElement
+

Returns#

+

void

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<TabsProps<any>>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TabsProps<any>>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TabsProps<any>>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<TabsProps<any>>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.PureComponent.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.PureComponent.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<TabsProps<any>>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.PureComponent.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TabsProps<any>>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.PureComponent.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.TerminalStore/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.TerminalStore/index.html new file mode 100644 index 0000000000..9004d53942 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.TerminalStore/index.html @@ -0,0 +1,912 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: TerminalStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: TerminalStore#

+

Renderer.Component.TerminalStore

+

Table of contents#

+

Constructors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new TerminalStore()

+

Methods#

+

createInstance#

+

Static createInstance(): TerminalStore & MapInjectables<Object>

+

Returns#

+

TerminalStore & MapInjectables<Object>

+
+

getInstance#

+

Static getInstance(): TerminalStore & MapInjectables<Object>

+

Returns#

+

TerminalStore & MapInjectables<Object>

+
+

resetInstance#

+

Static resetInstance(): void

+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Tooltip/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Tooltip/index.html new file mode 100644 index 0000000000..6e73817607 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Tooltip/index.html @@ -0,0 +1,1757 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Tooltip - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Tooltip#

+

Renderer.Component.Tooltip

+

Hierarchy#

+ +

Tooltip

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Tooltip(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsTooltipProps
+

Overrides#

+

React.Component<TooltipProps\>.constructor

+

Properties#

+

activePosition#

+

activePosition: TooltipPosition

+
+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

elem#

+

elem: HTMLElement

+
+

isVisible#

+

isVisible: boolean = false

+
+

props#

+

Readonly props: Readonly<TooltipProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: object

+

Accessors#

+

hoverTarget#

+

get hoverTarget(): HTMLElement

+

Returns#

+

HTMLElement

+
+

targetElem#

+

get targetElem(): HTMLElement

+

Returns#

+

HTMLElement

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TooltipProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TooltipProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

bindRef#

+

bindRef(elem): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
elemHTMLElement
+

Returns#

+

void

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

componentDidMount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

componentDidUpdate(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TooltipProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

componentWillUnmount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TooltipProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getPosition#

+

Protected getPosition(position, tooltipBounds, targetBounds): Object

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
positionTooltipPosition
tooltipBoundsDOMRect
targetBoundsDOMRect
+

Returns#

+

Object

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
bottomnumber
leftnumber
rightnumber
topnumber
+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<TooltipProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

onEnterTarget#

+

Protected onEnterTarget(): void

+

Returns#

+

void

+
+

onLeaveTarget#

+

Protected onLeaveTarget(): void

+

Returns#

+

void

+
+

refreshPosition#

+

refreshPosition(): void

+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setPosition#

+

Protected setPosition(pos): void

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
posObject
pos.leftnumber
pos.topnumber
+

Returns#

+

void

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<TooltipProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<TooltipProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.Wizard/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.Wizard/index.html new file mode 100644 index 0000000000..f1323bca21 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.Wizard/index.html @@ -0,0 +1,1724 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Wizard - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: Wizard#

+

Renderer.Component.Wizard

+

Hierarchy#

+ +

Wizard

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Wizard(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsWizardProps | Readonly<WizardProps>
+

Inherited from#

+

React.Component<WizardProps, State>.constructor

+

new Wizard(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsWizardProps
contextany
+

Inherited from#

+

React.Component<WizardProps, State>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<WizardProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: State

+

Overrides#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Accessors#

+

step#

+

get step(): number

+

Returns#

+

number

+

set step(step): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
stepnumber
+

Returns#

+

void

+
+

steps#

+

get steps(): ReactElement<WizardStepProps<any>, string | JSXElementConstructor<any>>[]

+

Returns#

+

ReactElement<WizardStepProps<any>, string | JSXElementConstructor<any>>[]

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardProps>
nextStateReadonly<State>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<WizardProps>
prevStateReadonly<State>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardProps>
nextStateReadonly<State>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

firstStep#

+

firstStep(): any

+

Returns#

+

any

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<WizardProps>
prevStateReadonly<State>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

getValidStep#

+

Protected getValidStep(step): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
stepnumber
+

Returns#

+

number

+
+

isFirstStep#

+

isFirstStep(): boolean

+

Returns#

+

boolean

+
+

isLastStep#

+

isLastStep(): boolean

+

Returns#

+

boolean

+
+

lastStep#

+

lastStep(): any

+

Returns#

+

any

+
+

nextStep#

+

nextStep(): any

+

Returns#

+

any

+
+

prevStep#

+

prevStep(): any

+

Returns#

+

any

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends "step"
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
stateState | (prevState: Readonly<State>, props: Readonly<WizardProps>) => State | Pick<State, K> | Pick<State, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardProps>
nextStateReadonly<State>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.WizardLayout/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.WizardLayout/index.html new file mode 100644 index 0000000000..277e72dbbc --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.WizardLayout/index.html @@ -0,0 +1,1551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: WizardLayout - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: WizardLayout#

+

Renderer.Component.WizardLayout

+

Hierarchy#

+ +

WizardLayout

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new WizardLayout(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsWizardLayoutProps | Readonly<WizardLayoutProps>
+

Inherited from#

+

React.Component<WizardLayoutProps>.constructor

+

new WizardLayout(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsWizardLayoutProps
contextany
+

Inherited from#

+

React.Component<WizardLayoutProps>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<WizardLayoutProps> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: Readonly<Object>

+

Inherited from#

+

React.Component.state

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardLayoutProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardLayoutProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<WizardLayoutProps>
prevStateReadonly<Object>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardLayoutProps>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

Optional componentWillUnmount(): void

+

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as +cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardLayoutProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<WizardLayoutProps>
prevStateReadonly<Object>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends never
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
state{} | (prevState: Readonly<Object>, props: Readonly<WizardLayoutProps>) => {} | Pick<Object, K> | Pick<Object, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardLayoutProps>
nextStateReadonly<Object>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Component.WizardStep/index.html b/v5.4.0/extensions/api/classes/Renderer.Component.WizardStep/index.html new file mode 100644 index 0000000000..75ddfa3e78 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Component.WizardStep/index.html @@ -0,0 +1,1638 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: WizardStep - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: WizardStep#

+

Renderer.Component.WizardStep

+

Hierarchy#

+ +

WizardStep

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new WizardStep(props)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsWizardStepProps<any> | Readonly<WizardStepProps<any>>
+

Inherited from#

+

React.Component<WizardStepProps, WizardStepState>.constructor

+

new WizardStep(props, context)

+

deprecated

+

see https://reactjs.org/docs/legacy-context.html

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
propsWizardStepProps<any>
contextany
+

Inherited from#

+

React.Component<WizardStepProps, WizardStepState>.constructor

+

Properties#

+

context#

+

context: any

+

If using the new style context, re-declare this in your class to be the +React.ContextType of your static contextType. +Should be used with type annotation or static contextType.

+
static contextType = MyContext
+// For TS pre-3.7:
+context!: React.ContextType<typeof MyContext>
+// For TS 3.7 and above:
+declare context: React.ContextType<typeof MyContext>
+
+

see https://reactjs.org/docs/context.html

+

Inherited from#

+

React.Component.context

+
+

props#

+

Readonly props: Readonly<WizardStepProps<any>> & Readonly<Object>

+

Inherited from#

+

React.Component.props

+
+

refs#

+

refs: Object

+

deprecated +https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

+

Index signature#

+

▪ [key: string]: ReactInstance

+

Inherited from#

+

React.Component.refs

+
+

state#

+

state: WizardStepState = {}

+

Overrides#

+

React.Component.state

+
+

submit#

+

submit: DebouncedFunc<fn>

+
+

contextType#

+

Static Optional contextType: Context<any>

+

If set, this.context will be set at runtime to the current value of the given Context.

+

Usage:

+
type MyContext = number
+const Ctx = React.createContext<MyContext>(0)
+
+class Foo extends React.Component {
+  static contextType = Ctx
+  context!: React.ContextType<typeof Ctx>
+  render () {
+    return <>My context's value: {this.context}</>;
+  }
+}
+
+

see https://reactjs.org/docs/context.html#classcontexttype

+

Inherited from#

+

React.Component.contextType

+
+

defaultProps#

+

Static defaultProps: WizardStepProps<any>

+

Methods#

+

UNSAFE_componentWillMount#

+

Optional UNSAFE_componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillMount

+
+

UNSAFE_componentWillReceiveProps#

+

Optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardStepProps<any>>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillReceiveProps

+
+

UNSAFE_componentWillUpdate#

+

Optional UNSAFE_componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

This method will not stop working in React 17.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardStepProps<any>>
nextStateReadonly<WizardStepState>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.UNSAFE_componentWillUpdate

+
+

componentDidCatch#

+

Optional componentDidCatch(error, errorInfo): void

+

Catches exceptions generated in descendant components. Unhandled exceptions will cause +the entire component tree to unmount.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorError
errorInfoErrorInfo
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidCatch

+
+

componentDidMount#

+

Optional componentDidMount(): void

+

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidMount

+
+

componentDidUpdate#

+

Optional componentDidUpdate(prevProps, prevState, snapshot?): void

+

Called immediately after updating occurs. Not called for the initial render.

+

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<WizardStepProps<any>>
prevStateReadonly<WizardStepState>
snapshot?any
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentDidUpdate

+
+

componentWillMount#

+

Optional componentWillMount(): void

+

Called immediately before mounting occurs, and before Component#render. +Avoid introducing any side-effects or subscriptions in this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillMount

+
+

componentWillReceiveProps#

+

Optional componentWillReceiveProps(nextProps, nextContext): void

+

Called when the component may be receiving new props. +React may call this even if props have not changed, so be sure to compare new and existing +props if you only want to handle changes.

+

Calling Component#setState generally does not trigger this method.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardStepProps<any>>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillReceiveProps

+
+

componentWillUnmount#

+

componentWillUnmount(): void

+

Returns#

+

void

+

Overrides#

+

React.Component.componentWillUnmount

+
+

componentWillUpdate#

+

Optional componentWillUpdate(nextProps, nextState, nextContext): void

+

Called immediately before rendering when new props or state is received. Not called for the initial render.

+

Note: You cannot call Component#setState here.

+

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps +prevents this from being invoked.

+

deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

+

see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardStepProps<any>>
nextStateReadonly<WizardStepState>
nextContextany
+

Returns#

+

void

+

Inherited from#

+

React.Component.componentWillUpdate

+
+

forceUpdate#

+

forceUpdate(callback?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.forceUpdate

+
+

getSnapshotBeforeUpdate#

+

Optional getSnapshotBeforeUpdate(prevProps, prevState): any

+

Runs before React applies the result of render to the document, and +returns an object to be given to componentDidUpdate. Useful for saving +things such as scroll position before render causes changes to it.

+

Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated +lifecycle events from running.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
prevPropsReadonly<WizardStepProps<any>>
prevStateReadonly<WizardStepState>
+

Returns#

+

any

+

Inherited from#

+

React.Component.getSnapshotBeforeUpdate

+
+

keyDown#

+

keyDown(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtKeyboardEvent<HTMLElement>
+

Returns#

+

void

+
+

next#

+

next(): void

+

Returns#

+

void

+
+

prev#

+

prev(): void

+

Returns#

+

void

+
+

render#

+

render(): Element

+

Returns#

+

Element

+

Overrides#

+

React.Component.render

+
+

renderLoading#

+

renderLoading(): Element

+

Returns#

+

Element

+
+

setState#

+

setState<K>(state, callback?): void

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends "waiting"
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
stateWizardStepState | (prevState: Readonly<WizardStepState>, props: Readonly<WizardStepProps<any>>) => WizardStepState | Pick<WizardStepState, K> | Pick<WizardStepState, K>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

React.Component.setState

+
+

shouldComponentUpdate#

+

Optional shouldComponentUpdate(nextProps, nextState, nextContext): boolean

+

Called to determine whether the change in props and state should trigger a re-render.

+

Component always returns true. +PureComponent implements a shallow comparison on props and state and returns true if any +props or states have changed.

+

If false is returned, Component#render, componentWillUpdate +and componentDidUpdate will not be called.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
nextPropsReadonly<WizardStepProps<any>>
nextStateReadonly<WizardStepState>
nextContextany
+

Returns#

+

boolean

+

Inherited from#

+

React.Component.shouldComponentUpdate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Ipc/index.html b/v5.4.0/extensions/api/classes/Renderer.Ipc/index.html new file mode 100644 index 0000000000..0797410801 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Ipc/index.html @@ -0,0 +1,1194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Ipc - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Ipc#

+

Renderer.Ipc

+

Hierarchy#

+
    +
  • IpcRegistrar
  • +
+

Ipc

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Ipc(extension)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
extensionLensExtension
+

Overrides#

+

IpcRegistrar.constructor

+

Properties#

+

[IpcPrefix]#

+

Readonly [IpcPrefix]: string

+

Inherited from#

+

IpcRegistrar.__@IpcPrefix@47196

+
+

extension#

+

Protected extension: LensExtension

+

Inherited from#

+

IpcRegistrar.extension

+

Methods#

+

broadcast#

+

broadcast(channel, ...args): void

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
channelstringThe channel to broadcast to your whole extension, both main and renderer
...argsany[]The arguments passed to all listeners
+

Returns#

+

void

+

Inherited from#

+

IpcRegistrar.broadcast

+
+

invoke#

+

invoke(channel, ...args): Promise<any>

+

Request main to execute its function over the channel channel. +This function only interacts with functions registered via Ipc.IpcMain.handleRpc +An error will be thrown if no function has been registered on main with this channel ID.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
channelstringThe channel to invoke a RPC on
...argsany[]The arguments to pass to the RPC
+

Returns#

+

Promise<any>

+

A promise of the resulting value

+
+

listen#

+

listen(channel, listener): Disposer

+

Listen for broadcasts within your extension. +If the lifetime of the listener should be tied to the mounted lifetime of +a component then putting the returned value in a disposeOnUnmount call will suffice.

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
channelstringThe channel to listen for broadcasts on
listener(event: IpcRendererEvent, ...args: any[]) => anyThe function that will be called with the arguments of the broadcast
+

Returns#

+

Disposer

+

An optional disposer, Lens will cleanup even if this is not called

+
+

createInstance#

+

Static createInstance<T, R>(...args): T

+

Creates the single instance of the child class if one was not already created.

+

Multiple calls will return the same instance. +Essentially throwing away the arguments to the subsequent calls.

+

Note: this is a racy function, if two (or more) calls are racing to call this function +only the first's arguments will be used.

+

Type parameters#

+ + + + + + + + + + + + + + + + + +
NameType
TT
Rextends any[]
+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
...argsRThe constructor arguments for the child class
+

Returns#

+

T

+

An instance of the child class

+

Inherited from#

+

IpcRegistrar.createInstance

+
+

getInstance#

+

Static getInstance<T, R>(strict): T

+

Get the instance of the child class that was previously created.

+

Type parameters#

+ + + + + + + + + + + + + + + + + +
NameType
TT
Rextends any[]
+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
strictbooleanIf false will return undefined instead of throwing when an instance doesn't exist. Default: true
+

Returns#

+

T

+

An instance of the child class

+

Inherited from#

+

IpcRegistrar.getInstance

+
+

resetInstance#

+

Static resetInstance(): void

+

Delete the instance of the child class.

+

Note: this doesn't prevent callers of getInstance from storing the result in a global.

+

There is no way in JS or TS to prevent globals like that.

+

Returns#

+

void

+

Inherited from#

+

IpcRegistrar.resetInstance

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.CRDResourceStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.CRDResourceStore/index.html new file mode 100644 index 0000000000..4215e42c21 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.CRDResourceStore/index.html @@ -0,0 +1,2477 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: CRDResourceStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: CRDResourceStore<K>#

+

Renderer.K8sApi.CRDResourceStore

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends KubeObject
+

Hierarchy#

+ +

CRDResourceStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new CRDResourceStore<K>(api)

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends KubeObject<KubeObjectMetadata, any, any, K>
+

Parameters#

+ + + + + + + + + + + + + +
NameType
apiKubeApi<K>
+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<K>

+

Inherited from#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<K>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<K, void, undefined>

+

Returns#

+

Generator<K, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<K>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<K>
+

Returns#

+

Promise<K>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<K>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<K>
+

Returns#

+

Promise<K>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): K[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsK[]
+

Returns#

+

K[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): K[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

K[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): K

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

K

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): K[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

K[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): K

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

K

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): K

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

K

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): K[]

+

Returns#

+

K[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsK[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemK
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsK[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<K>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<K>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | K[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | K[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<K>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<K>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<K>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<K>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<K[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<K[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): K[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsK[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

K[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<K>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemK
patchPatch
+

Returns#

+

Promise<K>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): K[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsK[]
+

Returns#

+

K[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | K[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | K[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemK
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemK
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsK[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemK
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): K[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsK[]the items to be sorted (default: the current items in this store)
sorting(item: K) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

K[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemK
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsK[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemK
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<K>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemK
dataPartial<K>
+

Returns#

+

Promise<K>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<K>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemK
request() => Promise<K>
+

Returns#

+

Promise<K>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.CRDStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.CRDStore/index.html new file mode 100644 index 0000000000..3e64d90be7 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.CRDStore/index.html @@ -0,0 +1,2486 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: CRDStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: CRDStore#

+

Renderer.K8sApi.CRDStore

+

Hierarchy#

+ +

CRDStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new CRDStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<CustomResourceDefinition> = crdApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<CustomResourceDefinition>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

groups#

+

get groups(): Record<string, CustomResourceDefinition[]>

+

Returns#

+

Record<string, CustomResourceDefinition[]>

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<CustomResourceDefinition, void, undefined>

+

Returns#

+

Generator<CustomResourceDefinition, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<CustomResourceDefinition>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<CustomResourceDefinition>
+

Returns#

+

Promise<CustomResourceDefinition>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<CustomResourceDefinition>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<CustomResourceDefinition>
+

Returns#

+

Promise<CustomResourceDefinition>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): CustomResourceDefinition[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsCustomResourceDefinition[]
+

Returns#

+

CustomResourceDefinition[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): CustomResourceDefinition[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

CustomResourceDefinition[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getByGroup#

+

getByGroup(group, pluralName): CustomResourceDefinition

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
groupstring
pluralNamestring
+

Returns#

+

CustomResourceDefinition

+
+

getById#

+

getById(id): CustomResourceDefinition

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

CustomResourceDefinition

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): CustomResourceDefinition[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

CustomResourceDefinition[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): CustomResourceDefinition

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

CustomResourceDefinition

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByObject#

+

getByObject(obj): CustomResourceDefinition

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objKubeObject<KubeObjectMetadata, any, any>
+

Returns#

+

CustomResourceDefinition

+
+

getByPath#

+

getByPath(path): CustomResourceDefinition

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

CustomResourceDefinition

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): CustomResourceDefinition[]

+

Returns#

+

CustomResourceDefinition[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsCustomResourceDefinition[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemCustomResourceDefinition
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsCustomResourceDefinition[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<CustomResourceDefinition>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<CustomResourceDefinition>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | CustomResourceDefinition[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | CustomResourceDefinition[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<CustomResourceDefinition>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<CustomResourceDefinition>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<CustomResourceDefinition>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<CustomResourceDefinition>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<CustomResourceDefinition[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<CustomResourceDefinition[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): CustomResourceDefinition[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsCustomResourceDefinition[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

CustomResourceDefinition[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<CustomResourceDefinition>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemCustomResourceDefinition
patchPatch
+

Returns#

+

Promise<CustomResourceDefinition>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): CustomResourceDefinition[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsCustomResourceDefinition[]
+

Returns#

+

CustomResourceDefinition[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | CustomResourceDefinition[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | CustomResourceDefinition[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemCustomResourceDefinition
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemCustomResourceDefinition
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsCustomResourceDefinition[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemCustomResourceDefinition
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items): CustomResourceDefinition[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsCustomResourceDefinition[]
+

Returns#

+

CustomResourceDefinition[]

+

Overrides#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemCustomResourceDefinition
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsCustomResourceDefinition[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemCustomResourceDefinition
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<CustomResourceDefinition>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemCustomResourceDefinition
dataPartial<CustomResourceDefinition>
+

Returns#

+

Promise<CustomResourceDefinition>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<CustomResourceDefinition>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemCustomResourceDefinition
request() => Promise<CustomResourceDefinition>
+

Returns#

+

Promise<CustomResourceDefinition>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.ClusterRole/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ClusterRole/index.html new file mode 100644 index 0000000000..552b2460e3 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ClusterRole/index.html @@ -0,0 +1,1710 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ClusterRole - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: ClusterRole#

+

Renderer.K8sApi.ClusterRole

+

Hierarchy#

+ +

ClusterRole

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ClusterRole(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

rules#

+

rules: { apiGroups: string[] ; resourceNames?: string[] ; resources: string[] ; verbs: string[] }[]

+
+

spec#

+

Optional spec: any

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: any

+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/rbac.authorization.k8s.io/v1/clusterroles"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "ClusterRole"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = false

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getRules#

+

getRules(): { apiGroups: string[] ; resourceNames?: string[] ; resources: string[] ; verbs: string[] }[]

+

Returns#

+

{ apiGroups: string[] ; resourceNames?: string[] ; resources: string[] ; verbs: string[] }[]

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<ClusterRole>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.ClusterRoleBinding/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ClusterRoleBinding/index.html new file mode 100644 index 0000000000..cecc190d52 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ClusterRoleBinding/index.html @@ -0,0 +1,1757 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ClusterRoleBinding - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: ClusterRoleBinding#

+

Renderer.K8sApi.ClusterRoleBinding

+

Hierarchy#

+ +

ClusterRoleBinding

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ClusterRoleBinding(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

roleRef#

+

roleRef: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
apiGroup?string
kindstring
namestring
+
+

spec#

+

Optional spec: any

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: any

+

Inherited from#

+

KubeObject.status

+
+

subjects#

+

Optional subjects: ClusterRoleBindingSubject[]

+
+

apiBase#

+

Static apiBase: string = "/apis/rbac.authorization.k8s.io/v1/clusterrolebindings"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "ClusterRoleBinding"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = false

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getSubjectNames#

+

getSubjectNames(): string

+

Returns#

+

string

+
+

getSubjects#

+

getSubjects(): ClusterRoleBindingSubject[]

+

Returns#

+

ClusterRoleBindingSubject[]

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<ClusterRoleBinding>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.ConfigMap/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ConfigMap/index.html new file mode 100644 index 0000000000..9f64473328 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ConfigMap/index.html @@ -0,0 +1,1712 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ConfigMap - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: ConfigMap#

+

Renderer.K8sApi.ConfigMap

+

Hierarchy#

+ +

ConfigMap

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ConfigMap(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

data#

+

data: Object

+

Index signature#

+

▪ [param: string]: string

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

Optional spec: any

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: any

+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/api/v1/configmaps"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "ConfigMap"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getKeys#

+

getKeys(): string[]

+

Returns#

+

string[]

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<ConfigMap>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.ConfigMapsStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ConfigMapsStore/index.html new file mode 100644 index 0000000000..219b127a69 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ConfigMapsStore/index.html @@ -0,0 +1,2440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ConfigMapsStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: ConfigMapsStore#

+

Renderer.K8sApi.ConfigMapsStore

+

Hierarchy#

+ +

ConfigMapsStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ConfigMapsStore(api?)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<ConfigMap>
+

Inherited from#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<ConfigMap> = configMapApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<ConfigMap>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<ConfigMap, void, undefined>

+

Returns#

+

Generator<ConfigMap, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<ConfigMap>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<ConfigMap>
+

Returns#

+

Promise<ConfigMap>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<ConfigMap>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<ConfigMap>
+

Returns#

+

Promise<ConfigMap>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): ConfigMap[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsConfigMap[]
+

Returns#

+

ConfigMap[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): ConfigMap[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

ConfigMap[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): ConfigMap

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

ConfigMap

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): ConfigMap[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

ConfigMap[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): ConfigMap

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

ConfigMap

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): ConfigMap

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

ConfigMap

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): ConfigMap[]

+

Returns#

+

ConfigMap[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsConfigMap[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemConfigMap
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsConfigMap[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<ConfigMap>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<ConfigMap>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | ConfigMap[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | ConfigMap[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<ConfigMap>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<ConfigMap>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<ConfigMap>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<ConfigMap>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<ConfigMap[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<ConfigMap[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): ConfigMap[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsConfigMap[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

ConfigMap[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<ConfigMap>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemConfigMap
patchPatch
+

Returns#

+

Promise<ConfigMap>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): ConfigMap[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsConfigMap[]
+

Returns#

+

ConfigMap[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | ConfigMap[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | ConfigMap[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemConfigMap
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemConfigMap
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsConfigMap[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemConfigMap
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): ConfigMap[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsConfigMap[]the items to be sorted (default: the current items in this store)
sorting(item: ConfigMap) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

ConfigMap[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemConfigMap
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsConfigMap[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemConfigMap
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<ConfigMap>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemConfigMap
dataPartial<ConfigMap>
+

Returns#

+

Promise<ConfigMap>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<ConfigMap>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemConfigMap
request() => Promise<ConfigMap>
+

Returns#

+

Promise<ConfigMap>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.CronJob/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.CronJob/index.html new file mode 100644 index 0000000000..21525ab91d --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.CronJob/index.html @@ -0,0 +1,1861 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: CronJob - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+ +
+ + +
+
+ + + + +

Class: CronJob#

+

Renderer.K8sApi.CronJob

+

Hierarchy#

+ +

CronJob

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new CronJob(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
concurrencyPolicystring
failedJobsHistoryLimitnumber
jobTemplateObject
jobTemplate.metadataObject
jobTemplate.metadata.annotations?Object
jobTemplate.metadata.creationTimestamp?string
jobTemplate.metadata.labels?Object
jobTemplate.specObject
jobTemplate.spec.templateObject
jobTemplate.spec.template.metadataObject
jobTemplate.spec.template.metadata.creationTimestamp?string
jobTemplate.spec.template.specObject
jobTemplate.spec.template.spec.containersIPodContainer[]
jobTemplate.spec.template.spec.dnsPolicystring
jobTemplate.spec.template.spec.hostPIDboolean
jobTemplate.spec.template.spec.restartPolicystring
jobTemplate.spec.template.spec.schedulerNamestring
jobTemplate.spec.template.spec.terminationGracePeriodSecondsnumber
schedulestring
successfulJobsHistoryLimitnumber
suspendboolean
+

Inherited from#

+

KubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
lastScheduleTime?string
+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/batch/v1beta1/cronjobs"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "CronJob"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getLastScheduleTime#

+

getLastScheduleTime(): string

+

Returns#

+

string

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSchedule#

+

getSchedule(): string

+

Returns#

+

string

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getSuspendFlag#

+

getSuspendFlag(): string

+

Returns#

+

string

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

isNeverRun#

+

isNeverRun(): boolean

+

Returns#

+

boolean

+
+

isSuspend#

+

isSuspend(): boolean

+

Returns#

+

boolean

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<CronJob>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.CronJobStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.CronJobStore/index.html new file mode 100644 index 0000000000..db3be49553 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.CronJobStore/index.html @@ -0,0 +1,2471 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: CronJobStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: CronJobStore#

+

Renderer.K8sApi.CronJobStore

+

Hierarchy#

+ +

CronJobStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new CronJobStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: CronJobApi = cronJobApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<CronJob>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<CronJob, void, undefined>

+

Returns#

+

Generator<CronJob, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<CronJob>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<CronJob>
+

Returns#

+

Promise<CronJob>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<CronJob>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<CronJob>
+

Returns#

+

Promise<CronJob>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): CronJob[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsCronJob[]
+

Returns#

+

CronJob[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getActiveJobsNum#

+

getActiveJobsNum(cronJob): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
cronJobCronJob
+

Returns#

+

number

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): CronJob[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

CronJob[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): CronJob

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

CronJob

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): CronJob[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

CronJob[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): CronJob

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

CronJob

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): CronJob

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

CronJob

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): CronJob[]

+

Returns#

+

CronJob[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

getStatuses(cronJobs?): Object

+

Parameters#

+ + + + + + + + + + + + + +
NameType
cronJobs?CronJob[]
+

Returns#

+

Object

+ + + + + + + + + + + + + + + + + +
NameType
schedulednumber
suspendednumber
+

Overrides#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemCronJob
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsCronJob[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<CronJob>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<CronJob>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | CronJob[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | CronJob[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<CronJob>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<CronJob>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<CronJob>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<CronJob>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<CronJob[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<CronJob[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): CronJob[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsCronJob[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

CronJob[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<CronJob>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemCronJob
patchPatch
+

Returns#

+

Promise<CronJob>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): CronJob[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsCronJob[]
+

Returns#

+

CronJob[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | CronJob[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | CronJob[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemCronJob
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemCronJob
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsCronJob[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemCronJob
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): CronJob[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsCronJob[]the items to be sorted (default: the current items in this store)
sorting(item: CronJob) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

CronJob[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemCronJob
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsCronJob[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemCronJob
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<CronJob>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemCronJob
dataPartial<CronJob>
+

Returns#

+

Promise<CronJob>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<CronJob>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemCronJob
request() => Promise<CronJob>
+

Returns#

+

Promise<CronJob>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.CustomResourceDefinition/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.CustomResourceDefinition/index.html new file mode 100644 index 0000000000..e8fd021414 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.CustomResourceDefinition/index.html @@ -0,0 +1,1980 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: CustomResourceDefinition - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: CustomResourceDefinition#

+

Renderer.K8sApi.CustomResourceDefinition

+

Hierarchy#

+ +

CustomResourceDefinition

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new CustomResourceDefinition(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataCRDApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

spec: CustomResourceDefinitionSpec

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
acceptedNamesObject
acceptedNames.kindstring
acceptedNames.listKindstring
acceptedNames.pluralstring
acceptedNames.shortNamesstring[]
acceptedNames.singularstring
conditions{ lastTransitionTime: string ; message: string ; reason: string ; status: string ; type?: string }[]
storedVersionsstring[]
+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/apiextensions.k8s.io/v1/customresourcedefinitions"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "CustomResourceDefinition"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = false

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getConditions#

+

getConditions(): { isReady: boolean ; lastTransitionTime: string ; message: string ; reason: string ; status: string ; tooltip: string ; type?: string }[]

+

Returns#

+

{ isReady: boolean ; lastTransitionTime: string ; message: string ; reason: string ; status: string ; tooltip: string ; type?: string }[]

+
+

getConversion#

+

getConversion(): string

+

Returns#

+

string

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getGroup#

+

getGroup(): string

+

Returns#

+

string

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNames#

+

getNames(): Object

+

Returns#

+

Object

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
kindstring
listKindstring
pluralstring
singularstring
+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getPluralName#

+

getPluralName(): string

+

Returns#

+

string

+
+

getPreferedVersion#

+

getPreferedVersion(): CRDVersion

+

Returns#

+

CRDVersion

+
+

getPrinterColumns#

+

getPrinterColumns(ignorePriority?): AdditionalPrinterColumnsV1[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
ignorePrioritybooleantrue
+

Returns#

+

AdditionalPrinterColumnsV1[]

+
+

getResourceApiBase#

+

getResourceApiBase(): string

+

Returns#

+

string

+
+

getResourceKind#

+

getResourceKind(): string

+

Returns#

+

string

+
+

getResourceTitle#

+

getResourceTitle(): string

+

Returns#

+

string

+
+

getResourceUrl#

+

getResourceUrl(): string

+

Returns#

+

string

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getScope#

+

getScope(): "Namespaced" | "Cluster"

+

Returns#

+

"Namespaced" | "Cluster"

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getStoredVersions#

+

getStoredVersions(): string

+

Returns#

+

string

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

getValidation#

+

getValidation(): string

+

Returns#

+

string

+
+

getVersion#

+

getVersion(): string

+

Returns#

+

string

+
+

isNamespaced#

+

isNamespaced(): boolean

+

Returns#

+

boolean

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<CustomResourceDefinition>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.DaemonSet/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.DaemonSet/index.html new file mode 100644 index 0000000000..6b4b463aed --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.DaemonSet/index.html @@ -0,0 +1,1937 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: DaemonSet - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: DaemonSet#

+

Renderer.K8sApi.DaemonSet

+

Hierarchy#

+
    +
  • WorkloadKubeObject
  • +
+

DaemonSet

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new DaemonSet(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Overrides#

+

WorkloadKubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

WorkloadKubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

WorkloadKubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

WorkloadKubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

WorkloadKubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
revisionHistoryLimitnumber
selectorLabelSelector
templateObject
template.metadataObject
template.metadata.creationTimestamp?string
template.metadata.labelsObject
template.metadata.labels.namestring
template.specObject
template.spec.affinity?IAffinity
template.spec.containersIPodContainer[]
template.spec.dnsPolicystring
template.spec.hostPIDboolean
template.spec.initContainers?IPodContainer[]
template.spec.nodeSelector?Object
template.spec.restartPolicystring
template.spec.schedulerNamestring
template.spec.securityContextObject
template.spec.terminationGracePeriodSecondsnumber
template.spec.tolerations{ effect: string ; key: string ; operator: string ; tolerationSeconds: number }[]
updateStrategyObject
updateStrategy.rollingUpdateObject
updateStrategy.rollingUpdate.maxUnavailablenumber
updateStrategy.typestring
+

Overrides#

+

WorkloadKubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
currentNumberSchedulednumber
desiredNumberSchedulednumber
numberAvailablenumber
numberMisschedulednumber
numberReadynumber
numberUnavailablenumber
observedGenerationnumber
updatedNumberSchedulednumber
+

Overrides#

+

WorkloadKubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/apps/v1/daemonsets"

+

Overrides#

+

WorkloadKubeObject.apiBase

+
+

kind#

+

Static kind: string = "DaemonSet"

+

Overrides#

+

WorkloadKubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Overrides#

+

WorkloadKubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.selfLink

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.delete

+
+

getAffinity#

+

getAffinity(): IAffinity

+

Returns#

+

IAffinity

+

Inherited from#

+

WorkloadKubeObject.getAffinity

+
+

getAffinityNumber#

+

getAffinityNumber(): number

+

Returns#

+

number

+

Inherited from#

+

WorkloadKubeObject.getAffinityNumber

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

WorkloadKubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getId

+
+

getImages#

+

getImages(): string[]

+

Returns#

+

string[]

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getName

+
+

getNodeSelectors#

+

getNodeSelectors(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getNodeSelectors

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

WorkloadKubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getSearchFields

+
+

getSelectors#

+

getSelectors(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getSelectors

+
+

getTemplateLabels#

+

getTemplateLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getTemplateLabels

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

WorkloadKubeObject.getTimeDiffFromNow

+
+

getTolerations#

+

getTolerations(): IToleration[]

+

Returns#

+

IToleration[]

+

Inherited from#

+

WorkloadKubeObject.getTolerations

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

WorkloadKubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<DaemonSet>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

WorkloadKubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

WorkloadKubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

WorkloadKubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

WorkloadKubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

WorkloadKubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

WorkloadKubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

WorkloadKubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.DaemonSetStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.DaemonSetStore/index.html new file mode 100644 index 0000000000..8b5d17608c --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.DaemonSetStore/index.html @@ -0,0 +1,2475 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: DaemonSetStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: DaemonSetStore#

+

Renderer.K8sApi.DaemonSetStore

+

Hierarchy#

+ +

DaemonSetStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new DaemonSetStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: DaemonSetApi = daemonSetApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<DaemonSet>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<DaemonSet, void, undefined>

+

Returns#

+

Generator<DaemonSet, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<DaemonSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<DaemonSet>
+

Returns#

+

Promise<DaemonSet>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<DaemonSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<DaemonSet>
+

Returns#

+

Promise<DaemonSet>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): DaemonSet[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsDaemonSet[]
+

Returns#

+

DaemonSet[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): DaemonSet[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

DaemonSet[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): DaemonSet

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

DaemonSet

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): DaemonSet[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

DaemonSet[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): DaemonSet

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

DaemonSet

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): DaemonSet

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

DaemonSet

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getChildPods#

+

getChildPods(daemonSet): Pod[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
daemonSetDaemonSet
+

Returns#

+

Pod[]

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): DaemonSet[]

+

Returns#

+

DaemonSet[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

getStatuses(daemonSets?): Object

+

Parameters#

+ + + + + + + + + + + + + +
NameType
daemonSets?DaemonSet[]
+

Returns#

+

Object

+ + + + + + + + + + + + + + + + + + + + + +
NameType
failednumber
pendingnumber
runningnumber
+

Overrides#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemDaemonSet
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsDaemonSet[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<DaemonSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<DaemonSet>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | DaemonSet[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | DaemonSet[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<DaemonSet>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<DaemonSet>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<DaemonSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<DaemonSet>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<DaemonSet[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<DaemonSet[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): DaemonSet[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsDaemonSet[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

DaemonSet[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<DaemonSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemDaemonSet
patchPatch
+

Returns#

+

Promise<DaemonSet>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): DaemonSet[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsDaemonSet[]
+

Returns#

+

DaemonSet[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | DaemonSet[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | DaemonSet[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemDaemonSet
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemDaemonSet
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsDaemonSet[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemDaemonSet
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): DaemonSet[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsDaemonSet[]the items to be sorted (default: the current items in this store)
sorting(item: DaemonSet) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

DaemonSet[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemDaemonSet
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsDaemonSet[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemDaemonSet
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<DaemonSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemDaemonSet
dataPartial<DaemonSet>
+

Returns#

+

Promise<DaemonSet>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<DaemonSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemDaemonSet
request() => Promise<DaemonSet>
+

Returns#

+

Promise<DaemonSet>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.Deployment/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Deployment/index.html new file mode 100644 index 0000000000..d4e99c04ee --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Deployment/index.html @@ -0,0 +1,2001 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Deployment - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Deployment#

+

Renderer.K8sApi.Deployment

+

Hierarchy#

+
    +
  • WorkloadKubeObject
  • +
+

Deployment

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Deployment(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Overrides#

+

WorkloadKubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

WorkloadKubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

WorkloadKubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

WorkloadKubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

WorkloadKubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
replicasnumber
selectorLabelSelector
strategyObject
strategy.rollingUpdateObject
strategy.rollingUpdate.maxSurgenumber
strategy.rollingUpdate.maxUnavailablenumber
strategy.typestring
templateObject
template.metadataObject
template.metadata.annotations?Object
template.metadata.creationTimestamp?string
template.metadata.labelsObject
template.specObject
template.spec.affinity?IAffinity
template.spec.containers{ args?: string[] ; env?: { name: string ; value: string }[] ; image: string ; imagePullPolicy: string ; livenessProbe?: IContainerProbe ; name: string ; ports?: { containerPort: number ; name: string ; protocol: string }[] ; readinessProbe?: IContainerProbe ; resources: { limits?: { cpu: string ; memory: string } ; requests: { cpu: string ; memory: string } } ; startupProbe?: IContainerProbe ; terminationMessagePath: string ; terminationMessagePolicy: string ; volumeMounts?: { mountPath: string ; name: string }[] }[]
template.spec.dnsPolicystring
template.spec.nodeSelector?Object
template.spec.restartPolicystring
template.spec.schedulerNamestring
template.spec.securityContextObject
template.spec.serviceAccountstring
template.spec.serviceAccountNamestring
template.spec.terminationGracePeriodSecondsnumber
template.spec.tolerations?{ effect: string ; key: string ; operator: string ; tolerationSeconds: number }[]
template.spec.volumes?{ configMap: { defaultMode: number ; name: string ; optional: boolean } ; name: string }[]
+

Overrides#

+

WorkloadKubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
availableReplicas?number
conditions{ lastTransitionTime: string ; lastUpdateTime: string ; message: string ; reason: string ; status: string ; type: string }[]
observedGenerationnumber
readyReplicasnumber
replicasnumber
unavailableReplicas?number
updatedReplicasnumber
+

Overrides#

+

WorkloadKubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/apps/v1/deployments"

+

Overrides#

+

WorkloadKubeObject.apiBase

+
+

kind#

+

Static kind: string = "Deployment"

+

Overrides#

+

WorkloadKubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Overrides#

+

WorkloadKubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.selfLink

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.delete

+
+

getAffinity#

+

getAffinity(): IAffinity

+

Returns#

+

IAffinity

+

Inherited from#

+

WorkloadKubeObject.getAffinity

+
+

getAffinityNumber#

+

getAffinityNumber(): number

+

Returns#

+

number

+

Inherited from#

+

WorkloadKubeObject.getAffinityNumber

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

WorkloadKubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getAnnotations

+
+

getConditions#

+

getConditions(activeOnly?): { lastTransitionTime: string ; lastUpdateTime: string ; message: string ; reason: string ; status: string ; type: string }[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
activeOnlybooleanfalse
+

Returns#

+

{ lastTransitionTime: string ; lastUpdateTime: string ; message: string ; reason: string ; status: string ; type: string }[]

+
+

getConditionsText#

+

getConditionsText(activeOnly?): string

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
activeOnlybooleantrue
+

Returns#

+

string

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getName

+
+

getNodeSelectors#

+

getNodeSelectors(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getNodeSelectors

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

WorkloadKubeObject.getOwnerRefs

+
+

getReplicas#

+

getReplicas(): number

+

Returns#

+

number

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getSearchFields

+
+

getSelectors#

+

getSelectors(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getSelectors

+
+

getTemplateLabels#

+

getTemplateLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getTemplateLabels

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

WorkloadKubeObject.getTimeDiffFromNow

+
+

getTolerations#

+

getTolerations(): IToleration[]

+

Returns#

+

IToleration[]

+

Inherited from#

+

WorkloadKubeObject.getTolerations

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

WorkloadKubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<Deployment>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

WorkloadKubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

WorkloadKubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

WorkloadKubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

WorkloadKubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

WorkloadKubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

WorkloadKubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

WorkloadKubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.DeploymentApi/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.DeploymentApi/index.html new file mode 100644 index 0000000000..ddc725fa8b --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.DeploymentApi/index.html @@ -0,0 +1,1804 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: DeploymentApi - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: DeploymentApi#

+

Renderer.K8sApi.DeploymentApi

+

Hierarchy#

+ +

DeploymentApi

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new DeploymentApi(options)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
optionsIKubeApiOptions<Deployment>
+

Inherited from#

+

KubeApi.constructor

+

Properties#

+

apiBase#

+

apiBase: string

+

Inherited from#

+

KubeApi.apiBase

+
+

apiGroup#

+

apiGroup: string

+

Inherited from#

+

KubeApi.apiGroup

+
+

apiPrefix#

+

apiPrefix: string

+

Inherited from#

+

KubeApi.apiPrefix

+
+

apiResource#

+

Readonly apiResource: string

+

Inherited from#

+

KubeApi.apiResource

+
+

apiVersion#

+

Readonly apiVersion: string

+

Inherited from#

+

KubeApi.apiVersion

+
+

apiVersionPreferred#

+

Optional apiVersionPreferred: string

+

Inherited from#

+

KubeApi.apiVersionPreferred

+
+

isNamespaced#

+

Readonly isNamespaced: boolean

+

Inherited from#

+

KubeApi.isNamespaced

+
+

kind#

+

Readonly kind: string

+

Inherited from#

+

KubeApi.kind

+
+

objectConstructor#

+

objectConstructor: KubeObjectConstructor<Deployment>

+

Inherited from#

+

KubeApi.objectConstructor

+
+

options#

+

Protected options: IKubeApiOptions<Deployment>

+

Inherited from#

+

KubeApi.options

+
+

request#

+

Protected request: KubeJsonApi

+

Inherited from#

+

KubeApi.request

+
+

resourceVersions#

+

Protected resourceVersions: Map<string, string>

+

Inherited from#

+

KubeApi.resourceVersions

+
+

watchDisposer#

+

Protected watchDisposer: () => void

+

Type declaration#

+

▸ (): void

+
Returns#
+

void

+

Inherited from#

+

KubeApi.watchDisposer

+

Accessors#

+

apiVersionWithGroup#

+

get apiVersionWithGroup(): string

+

Returns#

+

string

+

Inherited from#

+

KubeApi.apiVersionWithGroup

+

Methods#

+

checkPreferredVersion#

+

Protected checkPreferredVersion(): Promise<void>

+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeApi.checkPreferredVersion

+
+

create#

+

create(__namedParameters, data?): Promise<Deployment>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersPartial<ResourceDescriptor>
data?PartialKubeObject<Deployment>
+

Returns#

+

Promise<Deployment>

+

Inherited from#

+

KubeApi.create

+
+

delete#

+

delete(__namedParameters): Promise<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersDeleteResourceDescriptor
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeApi.delete

+
+

get#

+

get(desc, query?): Promise<Deployment>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
descResourceDescriptor
query?IKubeApiQueryParams
+

Returns#

+

Promise<Deployment>

+

Inherited from#

+

KubeApi.get

+
+

getReplicas#

+

getReplicas(params): Promise<number>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespacestring
+

Returns#

+

Promise<number>

+
+

getResourceVersion#

+

getResourceVersion(namespace?): string

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getResourceVersion

+
+

getScaleApiUrl#

+

Protected getScaleApiUrl(params): string

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespacestring
+

Returns#

+

string

+
+

getUrl#

+

getUrl(__namedParameters?, query?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersPartial<ResourceDescriptor>
query?Partial<IKubeApiQueryParams>
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getUrl

+
+

getWatchUrl#

+

getWatchUrl(namespace?, query?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
queryIKubeApiQueryParams{}
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getWatchUrl

+
+

list#

+

list(__namedParameters?, query?): Promise<Deployment[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersKubeApiListOptions
query?IKubeApiQueryParams
+

Returns#

+

Promise<Deployment[]>

+

Inherited from#

+

KubeApi.list

+
+

modifyWatchEvent#

+

Protected modifyWatchEvent(event): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
eventIKubeWatchEvent<KubeJsonApiData>
+

Returns#

+

void

+

Inherited from#

+

KubeApi.modifyWatchEvent

+
+

normalizeQuery#

+

Protected normalizeQuery(query?): Partial<IKubeApiQueryParams>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
queryPartial<IKubeApiQueryParams>
+

Returns#

+

Partial<IKubeApiQueryParams>

+

Inherited from#

+

KubeApi.normalizeQuery

+
+

parseResponse#

+

Protected parseResponse(data, namespace?): Deployment | Deployment[]

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
dataunknown
namespace?string
+

Returns#

+

Deployment | Deployment[]

+

Inherited from#

+

KubeApi.parseResponse

+
+

patch#

+

patch(desc, data?, strategy?): Promise<Deployment>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
descResourceDescriptorundefined
data?Patch | PartialKubeObject<Deployment>undefined
strategyKubeApiPatchType"strategic"
+

Returns#

+

Promise<Deployment>

+

Inherited from#

+

KubeApi.patch

+
+

refreshResourceVersion#

+

refreshResourceVersion(params?): Promise<Deployment[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?KubeApiListOptions
+

Returns#

+

Promise<Deployment[]>

+

Inherited from#

+

KubeApi.refreshResourceVersion

+
+

restart#

+

restart(params): Promise<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespacestring
+

Returns#

+

Promise<KubeJsonApiData>

+
+

scale#

+

scale(params, replicas): Promise<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespacestring
replicasnumber
+

Returns#

+

Promise<KubeJsonApiData>

+
+

setResourceVersion#

+

setResourceVersion(namespace?, newVersion): void

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
newVersionstringundefined
+

Returns#

+

void

+

Inherited from#

+

KubeApi.setResourceVersion

+
+

update#

+

update(__namedParameters, data): Promise<Deployment>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersResourceDescriptor
dataPartialKubeObject<Deployment>
+

Returns#

+

Promise<Deployment>

+

Inherited from#

+

KubeApi.update

+
+

watch#

+

watch(opts?): () => void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
optsKubeApiWatchOptions
+

Returns#

+

fn

+

▸ (): void

+
Returns#
+

void

+

Inherited from#

+

KubeApi.watch

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.DeploymentStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.DeploymentStore/index.html new file mode 100644 index 0000000000..1e5fdbd87d --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.DeploymentStore/index.html @@ -0,0 +1,2463 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: DeploymentStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: DeploymentStore#

+

Renderer.K8sApi.DeploymentStore

+

Hierarchy#

+ +

DeploymentStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new DeploymentStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: DeploymentApi = deploymentApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<Deployment>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<Deployment, void, undefined>

+

Returns#

+

Generator<Deployment, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<Deployment>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Deployment>
+

Returns#

+

Promise<Deployment>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<Deployment>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Deployment>
+

Returns#

+

Promise<Deployment>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): Deployment[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsDeployment[]
+

Returns#

+

Deployment[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): Deployment[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

Deployment[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): Deployment

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

Deployment

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): Deployment[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

Deployment[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): Deployment

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

Deployment

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): Deployment

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

Deployment

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getChildPods#

+

getChildPods(deployment): Pod[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
deploymentDeployment
+

Returns#

+

Pod[]

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): Deployment[]

+

Returns#

+

Deployment[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

getStatuses(deployments?): Object

+

Parameters#

+ + + + + + + + + + + + + +
NameType
deployments?Deployment[]
+

Returns#

+

Object

+ + + + + + + + + + + + + + + + + + + + + +
NameType
failednumber
pendingnumber
runningnumber
+

Overrides#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemDeployment
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsDeployment[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<Deployment>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Deployment>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | Deployment[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | Deployment[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<Deployment>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<Deployment>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<Deployment>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Deployment>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<Deployment[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<Deployment[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): Deployment[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsDeployment[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

Deployment[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<Deployment>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemDeployment
patchPatch
+

Returns#

+

Promise<Deployment>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): Deployment[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsDeployment[]
+

Returns#

+

Deployment[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | Deployment[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | Deployment[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemDeployment
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemDeployment
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsDeployment[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemDeployment
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items): Deployment[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsDeployment[]
+

Returns#

+

Deployment[]

+

Overrides#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemDeployment
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsDeployment[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemDeployment
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<Deployment>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemDeployment
dataPartial<Deployment>
+

Returns#

+

Promise<Deployment>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<Deployment>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemDeployment
request() => Promise<Deployment>
+

Returns#

+

Promise<Deployment>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.Endpoint/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Endpoint/index.html new file mode 100644 index 0000000000..7e71f53d13 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Endpoint/index.html @@ -0,0 +1,1723 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Endpoint - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Endpoint#

+

Renderer.K8sApi.Endpoint

+

Hierarchy#

+ +

Endpoint

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Endpoint(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

Optional spec: any

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: any

+

Inherited from#

+

KubeObject.status

+
+

subsets#

+

subsets: IEndpointSubset[]

+
+

apiBase#

+

Static apiBase: string = "/api/v1/endpoints"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "Endpoints"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getEndpointSubsets#

+

getEndpointSubsets(): EndpointSubset[]

+

Returns#

+

EndpointSubset[]

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

toString#

+

toString(): string

+

Returns#

+

string

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<Endpoint>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.EndpointStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.EndpointStore/index.html new file mode 100644 index 0000000000..ae123c3802 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.EndpointStore/index.html @@ -0,0 +1,2440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: EndpointStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: EndpointStore#

+

Renderer.K8sApi.EndpointStore

+

Hierarchy#

+ +

EndpointStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new EndpointStore(api?)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<Endpoint>
+

Inherited from#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<Endpoint> = endpointApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<Endpoint>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<Endpoint, void, undefined>

+

Returns#

+

Generator<Endpoint, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<Endpoint>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Endpoint>
+

Returns#

+

Promise<Endpoint>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<Endpoint>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Endpoint>
+

Returns#

+

Promise<Endpoint>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): Endpoint[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsEndpoint[]
+

Returns#

+

Endpoint[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): Endpoint[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

Endpoint[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): Endpoint

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

Endpoint

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): Endpoint[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

Endpoint[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): Endpoint

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

Endpoint

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): Endpoint

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

Endpoint

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): Endpoint[]

+

Returns#

+

Endpoint[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsEndpoint[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemEndpoint
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsEndpoint[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<Endpoint>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Endpoint>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | Endpoint[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | Endpoint[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<Endpoint>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<Endpoint>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<Endpoint>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Endpoint>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<Endpoint[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<Endpoint[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): Endpoint[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsEndpoint[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

Endpoint[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<Endpoint>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemEndpoint
patchPatch
+

Returns#

+

Promise<Endpoint>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): Endpoint[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsEndpoint[]
+

Returns#

+

Endpoint[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | Endpoint[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | Endpoint[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemEndpoint
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemEndpoint
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsEndpoint[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemEndpoint
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): Endpoint[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsEndpoint[]the items to be sorted (default: the current items in this store)
sorting(item: Endpoint) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

Endpoint[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemEndpoint
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsEndpoint[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemEndpoint
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<Endpoint>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemEndpoint
dataPartial<Endpoint>
+

Returns#

+

Promise<Endpoint>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<Endpoint>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemEndpoint
request() => Promise<Endpoint>
+

Returns#

+

Promise<Endpoint>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.EventStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.EventStore/index.html new file mode 100644 index 0000000000..9aa40f6aed --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.EventStore/index.html @@ -0,0 +1,2461 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: EventStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: EventStore#

+

Renderer.K8sApi.EventStore

+

Hierarchy#

+ +

EventStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new EventStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<KubeEvent> = eventApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<KubeEvent>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

limit: number = 1000

+

Overrides#

+

KubeObjectStore.limit

+
+

saveLimit#

+

saveLimit: number = 50000

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<KubeEvent, void, undefined>

+

Returns#

+

Generator<KubeEvent, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(): void

+

Returns#

+

void

+

Overrides#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<KubeEvent>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<KubeEvent>
+

Returns#

+

Promise<KubeEvent>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<KubeEvent>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<KubeEvent>
+

Returns#

+

Promise<KubeEvent>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): KubeEvent[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsKubeEvent[]
+

Returns#

+

KubeEvent[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): KubeEvent[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

KubeEvent[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): KubeEvent

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

KubeEvent

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): KubeEvent[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

KubeEvent[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): KubeEvent

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

KubeEvent

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): KubeEvent

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

KubeEvent

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getEventsByObject#

+

getEventsByObject(obj): KubeEvent[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objKubeObject<KubeObjectMetadata, any, any>
+

Returns#

+

KubeEvent[]

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): KubeEvent[]

+

Returns#

+

KubeEvent[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsKubeEvent[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

getWarnings#

+

getWarnings(): KubeEvent[]

+

Returns#

+

KubeEvent[]

+
+

getWarningsCount#

+

getWarningsCount(): number

+

Returns#

+

number

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeEvent
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsKubeEvent[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<KubeEvent>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<KubeEvent>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | KubeEvent[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | KubeEvent[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<KubeEvent>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<KubeEvent>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<KubeEvent>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<KubeEvent>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<KubeEvent[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<KubeEvent[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): KubeEvent[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsKubeEvent[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

KubeEvent[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<KubeEvent>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemKubeEvent
patchPatch
+

Returns#

+

Promise<KubeEvent>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): KubeEvent[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsKubeEvent[]
+

Returns#

+

KubeEvent[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | KubeEvent[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | KubeEvent[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeEvent
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemKubeEvent
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsKubeEvent[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeEvent
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items): KubeEvent[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsKubeEvent[]
+

Returns#

+

KubeEvent[]

+

Overrides#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeEvent
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsKubeEvent[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeEvent
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<KubeEvent>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemKubeEvent
dataPartial<KubeEvent>
+

Returns#

+

Promise<KubeEvent>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<KubeEvent>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemKubeEvent
request() => Promise<KubeEvent>
+

Returns#

+

Promise<KubeEvent>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.HPAStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.HPAStore/index.html new file mode 100644 index 0000000000..aaa0a4002b --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.HPAStore/index.html @@ -0,0 +1,2440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: HPAStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: HPAStore#

+

Renderer.K8sApi.HPAStore

+

Hierarchy#

+ +

HPAStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new HPAStore(api?)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<HorizontalPodAutoscaler>
+

Inherited from#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<HorizontalPodAutoscaler> = hpaApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<HorizontalPodAutoscaler>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<HorizontalPodAutoscaler, void, undefined>

+

Returns#

+

Generator<HorizontalPodAutoscaler, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<HorizontalPodAutoscaler>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<HorizontalPodAutoscaler>
+

Returns#

+

Promise<HorizontalPodAutoscaler>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<HorizontalPodAutoscaler>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<HorizontalPodAutoscaler>
+

Returns#

+

Promise<HorizontalPodAutoscaler>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): HorizontalPodAutoscaler[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsHorizontalPodAutoscaler[]
+

Returns#

+

HorizontalPodAutoscaler[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): HorizontalPodAutoscaler[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

HorizontalPodAutoscaler[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): HorizontalPodAutoscaler

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

HorizontalPodAutoscaler

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): HorizontalPodAutoscaler[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

HorizontalPodAutoscaler[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): HorizontalPodAutoscaler

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

HorizontalPodAutoscaler

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): HorizontalPodAutoscaler

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

HorizontalPodAutoscaler

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): HorizontalPodAutoscaler[]

+

Returns#

+

HorizontalPodAutoscaler[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsHorizontalPodAutoscaler[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemHorizontalPodAutoscaler
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsHorizontalPodAutoscaler[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<HorizontalPodAutoscaler>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<HorizontalPodAutoscaler>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | HorizontalPodAutoscaler[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | HorizontalPodAutoscaler[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<HorizontalPodAutoscaler>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<HorizontalPodAutoscaler>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<HorizontalPodAutoscaler>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<HorizontalPodAutoscaler>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<HorizontalPodAutoscaler[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<HorizontalPodAutoscaler[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): HorizontalPodAutoscaler[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsHorizontalPodAutoscaler[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

HorizontalPodAutoscaler[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<HorizontalPodAutoscaler>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemHorizontalPodAutoscaler
patchPatch
+

Returns#

+

Promise<HorizontalPodAutoscaler>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): HorizontalPodAutoscaler[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsHorizontalPodAutoscaler[]
+

Returns#

+

HorizontalPodAutoscaler[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | HorizontalPodAutoscaler[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | HorizontalPodAutoscaler[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemHorizontalPodAutoscaler
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemHorizontalPodAutoscaler
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsHorizontalPodAutoscaler[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemHorizontalPodAutoscaler
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): HorizontalPodAutoscaler[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsHorizontalPodAutoscaler[]the items to be sorted (default: the current items in this store)
sorting(item: HorizontalPodAutoscaler) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

HorizontalPodAutoscaler[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemHorizontalPodAutoscaler
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsHorizontalPodAutoscaler[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemHorizontalPodAutoscaler
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<HorizontalPodAutoscaler>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemHorizontalPodAutoscaler
dataPartial<HorizontalPodAutoscaler>
+

Returns#

+

Promise<HorizontalPodAutoscaler>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<HorizontalPodAutoscaler>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemHorizontalPodAutoscaler
request() => Promise<HorizontalPodAutoscaler>
+

Returns#

+

Promise<HorizontalPodAutoscaler>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.HorizontalPodAutoscaler/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.HorizontalPodAutoscaler/index.html new file mode 100644 index 0000000000..e1bbdedf32 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.HorizontalPodAutoscaler/index.html @@ -0,0 +1,1886 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: HorizontalPodAutoscaler - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+ +
+
+ + +
+
+ + + + +

Class: HorizontalPodAutoscaler#

+

Renderer.K8sApi.HorizontalPodAutoscaler

+

Hierarchy#

+ +

HorizontalPodAutoscaler

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new HorizontalPodAutoscaler(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
maxReplicasnumber
metricsIHpaMetric[]
minReplicasnumber
scaleTargetRefObject
scaleTargetRef.apiVersionstring
scaleTargetRef.kindstring
scaleTargetRef.namestring
+

Inherited from#

+

KubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
conditions{ lastTransitionTime: string ; message: string ; reason: string ; status: string ; type: string }[]
currentMetricsIHpaMetric[]
currentReplicasnumber
desiredReplicasnumber
+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/autoscaling/v2beta1/horizontalpodautoscalers"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "HorizontalPodAutoscaler"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getConditions#

+

getConditions(): { isReady: boolean ; lastTransitionTime: string ; message: string ; reason: string ; status: string ; tooltip: string ; type: string }[]

+

Returns#

+

{ isReady: boolean ; lastTransitionTime: string ; message: string ; reason: string ; status: string ; tooltip: string ; type: string }[]

+
+

getCurrentMetrics#

+

getCurrentMetrics(): IHpaMetric[]

+

Returns#

+

IHpaMetric[]

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getMaxPods#

+

getMaxPods(): number

+

Returns#

+

number

+
+

getMetricName#

+

Protected getMetricName(metric): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
metricIHpaMetric
+

Returns#

+

string

+
+

getMetricValues#

+

getMetricValues(metric): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
metricIHpaMetric
+

Returns#

+

string

+
+

getMetrics#

+

getMetrics(): IHpaMetric[]

+

Returns#

+

IHpaMetric[]

+
+

getMinPods#

+

getMinPods(): number

+

Returns#

+

number

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getReplicas#

+

getReplicas(): number

+

Returns#

+

number

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<HorizontalPodAutoscaler>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.Ingress/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Ingress/index.html new file mode 100644 index 0000000000..6ba4981e00 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Ingress/index.html @@ -0,0 +1,1802 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Ingress - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+ +
+
+ + +
+
+ + + + +

Class: Ingress#

+

Renderer.K8sApi.Ingress

+

Hierarchy#

+ +

Ingress

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Ingress(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
backend?IExtensionsBackend-
defaultBackend?RequireExactlyOne<INetworkingBackend & { resource: { apiGroup: string ; kind: string ; name: string } }, "resource" | "service">The default backend which is exactly on of: - service - resource
rules?{ host?: string ; http: { paths: { backend: IIngressBackend ; path?: string }[] } }[]-
tls{ secretName: string }[]-
+

Inherited from#

+

KubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + +
NameType
loadBalancerObject
loadBalancer.ingressILoadBalancerIngress[]
+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/networking.k8s.io/v1/ingresses"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "Ingress"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getHosts#

+

getHosts(): string[]

+

Returns#

+

string[]

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getLoadBalancers#

+

getLoadBalancers(): string[]

+

Returns#

+

string[]

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getPorts#

+

getPorts(): string

+

Returns#

+

string

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getRoutes#

+

getRoutes(): string[]

+

Returns#

+

string[]

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getServiceNamePort#

+

getServiceNamePort(): IExtensionsBackend

+

Returns#

+

IExtensionsBackend

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<Ingress>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.IngressApi/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.IngressApi/index.html new file mode 100644 index 0000000000..04b3214e4d --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.IngressApi/index.html @@ -0,0 +1,1656 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: IngressApi - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: IngressApi#

+

Renderer.K8sApi.IngressApi

+

Hierarchy#

+ +

IngressApi

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new IngressApi(options)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
optionsIKubeApiOptions<Ingress>
+

Inherited from#

+

KubeApi.constructor

+

Properties#

+

apiBase#

+

apiBase: string

+

Inherited from#

+

KubeApi.apiBase

+
+

apiGroup#

+

apiGroup: string

+

Inherited from#

+

KubeApi.apiGroup

+
+

apiPrefix#

+

apiPrefix: string

+

Inherited from#

+

KubeApi.apiPrefix

+
+

apiResource#

+

Readonly apiResource: string

+

Inherited from#

+

KubeApi.apiResource

+
+

apiVersion#

+

Readonly apiVersion: string

+

Inherited from#

+

KubeApi.apiVersion

+
+

apiVersionPreferred#

+

Optional apiVersionPreferred: string

+

Inherited from#

+

KubeApi.apiVersionPreferred

+
+

isNamespaced#

+

Readonly isNamespaced: boolean

+

Inherited from#

+

KubeApi.isNamespaced

+
+

kind#

+

Readonly kind: string

+

Inherited from#

+

KubeApi.kind

+
+

objectConstructor#

+

objectConstructor: KubeObjectConstructor<Ingress>

+

Inherited from#

+

KubeApi.objectConstructor

+
+

options#

+

Protected options: IKubeApiOptions<Ingress>

+

Inherited from#

+

KubeApi.options

+
+

request#

+

Protected request: KubeJsonApi

+

Inherited from#

+

KubeApi.request

+
+

resourceVersions#

+

Protected resourceVersions: Map<string, string>

+

Inherited from#

+

KubeApi.resourceVersions

+
+

watchDisposer#

+

Protected watchDisposer: () => void

+

Type declaration#

+

▸ (): void

+
Returns#
+

void

+

Inherited from#

+

KubeApi.watchDisposer

+

Accessors#

+

apiVersionWithGroup#

+

get apiVersionWithGroup(): string

+

Returns#

+

string

+

Inherited from#

+

KubeApi.apiVersionWithGroup

+

Methods#

+

checkPreferredVersion#

+

Protected checkPreferredVersion(): Promise<void>

+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeApi.checkPreferredVersion

+
+

create#

+

create(__namedParameters, data?): Promise<Ingress>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersPartial<ResourceDescriptor>
data?PartialKubeObject<Ingress>
+

Returns#

+

Promise<Ingress>

+

Inherited from#

+

KubeApi.create

+
+

delete#

+

delete(__namedParameters): Promise<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersDeleteResourceDescriptor
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeApi.delete

+
+

get#

+

get(desc, query?): Promise<Ingress>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
descResourceDescriptor
query?IKubeApiQueryParams
+

Returns#

+

Promise<Ingress>

+

Inherited from#

+

KubeApi.get

+
+

getResourceVersion#

+

getResourceVersion(namespace?): string

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getResourceVersion

+
+

getUrl#

+

getUrl(__namedParameters?, query?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersPartial<ResourceDescriptor>
query?Partial<IKubeApiQueryParams>
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getUrl

+
+

getWatchUrl#

+

getWatchUrl(namespace?, query?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
queryIKubeApiQueryParams{}
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getWatchUrl

+
+

list#

+

list(__namedParameters?, query?): Promise<Ingress[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersKubeApiListOptions
query?IKubeApiQueryParams
+

Returns#

+

Promise<Ingress[]>

+

Inherited from#

+

KubeApi.list

+
+

modifyWatchEvent#

+

Protected modifyWatchEvent(event): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
eventIKubeWatchEvent<KubeJsonApiData>
+

Returns#

+

void

+

Inherited from#

+

KubeApi.modifyWatchEvent

+
+

normalizeQuery#

+

Protected normalizeQuery(query?): Partial<IKubeApiQueryParams>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
queryPartial<IKubeApiQueryParams>
+

Returns#

+

Partial<IKubeApiQueryParams>

+

Inherited from#

+

KubeApi.normalizeQuery

+
+

parseResponse#

+

Protected parseResponse(data, namespace?): Ingress | Ingress[]

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
dataunknown
namespace?string
+

Returns#

+

Ingress | Ingress[]

+

Inherited from#

+

KubeApi.parseResponse

+
+

patch#

+

patch(desc, data?, strategy?): Promise<Ingress>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
descResourceDescriptorundefined
data?Patch | PartialKubeObject<Ingress>undefined
strategyKubeApiPatchType"strategic"
+

Returns#

+

Promise<Ingress>

+

Inherited from#

+

KubeApi.patch

+
+

refreshResourceVersion#

+

refreshResourceVersion(params?): Promise<Ingress[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?KubeApiListOptions
+

Returns#

+

Promise<Ingress[]>

+

Inherited from#

+

KubeApi.refreshResourceVersion

+
+

setResourceVersion#

+

setResourceVersion(namespace?, newVersion): void

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
newVersionstringundefined
+

Returns#

+

void

+

Inherited from#

+

KubeApi.setResourceVersion

+
+

update#

+

update(__namedParameters, data): Promise<Ingress>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersResourceDescriptor
dataPartialKubeObject<Ingress>
+

Returns#

+

Promise<Ingress>

+

Inherited from#

+

KubeApi.update

+
+

watch#

+

watch(opts?): () => void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
optsKubeApiWatchOptions
+

Returns#

+

fn

+

▸ (): void

+
Returns#
+

void

+

Inherited from#

+

KubeApi.watch

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.IngressStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.IngressStore/index.html new file mode 100644 index 0000000000..fd44db51a3 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.IngressStore/index.html @@ -0,0 +1,2440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: IngressStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: IngressStore#

+

Renderer.K8sApi.IngressStore

+

Hierarchy#

+ +

IngressStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new IngressStore(api?)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<Ingress>
+

Inherited from#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: IngressApi = ingressApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<Ingress>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<Ingress, void, undefined>

+

Returns#

+

Generator<Ingress, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<Ingress>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Ingress>
+

Returns#

+

Promise<Ingress>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<Ingress>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Ingress>
+

Returns#

+

Promise<Ingress>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): Ingress[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsIngress[]
+

Returns#

+

Ingress[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): Ingress[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

Ingress[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): Ingress

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

Ingress

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): Ingress[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

Ingress[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): Ingress

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

Ingress

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): Ingress

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

Ingress

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): Ingress[]

+

Returns#

+

Ingress[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsIngress[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemIngress
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsIngress[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<Ingress>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Ingress>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | Ingress[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | Ingress[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<Ingress>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<Ingress>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<Ingress>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Ingress>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<Ingress[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<Ingress[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): Ingress[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsIngress[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

Ingress[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<Ingress>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemIngress
patchPatch
+

Returns#

+

Promise<Ingress>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): Ingress[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsIngress[]
+

Returns#

+

Ingress[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | Ingress[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | Ingress[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemIngress
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemIngress
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsIngress[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemIngress
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): Ingress[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsIngress[]the items to be sorted (default: the current items in this store)
sorting(item: Ingress) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

Ingress[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemIngress
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsIngress[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemIngress
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<Ingress>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemIngress
dataPartial<Ingress>
+

Returns#

+

Promise<Ingress>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<Ingress>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemIngress
request() => Promise<Ingress>
+

Returns#

+

Promise<Ingress>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.Job/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Job/index.html new file mode 100644 index 0000000000..b4e6c5e858 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Job/index.html @@ -0,0 +1,2015 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Job - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Job#

+

Renderer.K8sApi.Job

+

Hierarchy#

+
    +
  • WorkloadKubeObject
  • +
+

Job

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Job(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Overrides#

+

WorkloadKubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

WorkloadKubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

WorkloadKubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

WorkloadKubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

WorkloadKubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
backoffLimit?number
completions?number
containers?IPodContainer[]
dnsPolicy?string
parallelism?number
restartPolicy?string
schedulerName?string
selector?LabelSelector
serviceAccount?string
serviceAccountName?string
templateObject
template.metadataObject
template.metadata.annotations?Object
template.metadata.creationTimestamp?string
template.metadata.labels?Object
template.specObject
template.spec.affinity?IAffinity
template.spec.containersIPodContainer[]
template.spec.dnsPolicystring
template.spec.hostPIDboolean
template.spec.nodeSelector?Object
template.spec.restartPolicystring
template.spec.schedulerNamestring
template.spec.terminationGracePeriodSecondsnumber
template.spec.tolerations?{ effect: string ; key: string ; operator: string ; tolerationSeconds: number }[]
terminationGracePeriodSeconds?number
+

Overrides#

+

WorkloadKubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
completionTimestring
conditions{ lastProbeTime: string ; lastTransitionTime: string ; message?: string ; status: string ; type: string }[]
startTimestring
succeedednumber
+

Overrides#

+

WorkloadKubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/batch/v1/jobs"

+

Overrides#

+

WorkloadKubeObject.apiBase

+
+

kind#

+

Static kind: string = "Job"

+

Overrides#

+

WorkloadKubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Overrides#

+

WorkloadKubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.selfLink

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.delete

+
+

getAffinity#

+

getAffinity(): IAffinity

+

Returns#

+

IAffinity

+

Inherited from#

+

WorkloadKubeObject.getAffinity

+
+

getAffinityNumber#

+

getAffinityNumber(): number

+

Returns#

+

number

+

Inherited from#

+

WorkloadKubeObject.getAffinityNumber

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

WorkloadKubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getAnnotations

+
+

getCompletions#

+

getCompletions(): number

+

Returns#

+

number

+
+

getCondition#

+

getCondition(): Object

+

Returns#

+

Object

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
lastProbeTimestring
lastTransitionTimestring
message?string
statusstring
typestring
+
+

getDesiredCompletions#

+

getDesiredCompletions(): number

+

Returns#

+

number

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getId

+
+

getImages#

+

getImages(): string[]

+

Returns#

+

string[]

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getName

+
+

getNodeSelectors#

+

getNodeSelectors(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getNodeSelectors

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

WorkloadKubeObject.getOwnerRefs

+
+

getParallelism#

+

getParallelism(): number

+

Returns#

+

number

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getSearchFields

+
+

getSelectors#

+

getSelectors(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getSelectors

+
+

getTemplateLabels#

+

getTemplateLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getTemplateLabels

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

WorkloadKubeObject.getTimeDiffFromNow

+
+

getTolerations#

+

getTolerations(): IToleration[]

+

Returns#

+

IToleration[]

+

Inherited from#

+

WorkloadKubeObject.getTolerations

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

WorkloadKubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<Job>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

WorkloadKubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

WorkloadKubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

WorkloadKubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

WorkloadKubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

WorkloadKubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

WorkloadKubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

WorkloadKubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.JobStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.JobStore/index.html new file mode 100644 index 0000000000..d8716ba4d6 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.JobStore/index.html @@ -0,0 +1,2507 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: JobStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: JobStore#

+

Renderer.K8sApi.JobStore

+

Hierarchy#

+ +

JobStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new JobStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: JobApi = jobApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<Job>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<Job, void, undefined>

+

Returns#

+

Generator<Job, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<Job>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Job>
+

Returns#

+

Promise<Job>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<Job>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Job>
+

Returns#

+

Promise<Job>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): Job[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsJob[]
+

Returns#

+

Job[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): Job[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

Job[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): Job

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

Job

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): Job[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

Job[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): Job

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

Job

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): Job

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

Job

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getChildPods#

+

getChildPods(job): Pod[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
jobJob
+

Returns#

+

Pod[]

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): Job[]

+

Returns#

+

Job[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getJobsByOwner#

+

getJobsByOwner(cronJob): Job[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
cronJobCronJob
+

Returns#

+

Job[]

+
+

getStatuses#

+

getStatuses(jobs?): Object

+

Parameters#

+ + + + + + + + + + + + + +
NameType
jobs?Job[]
+

Returns#

+

Object

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
failednumber
pendingnumber
runningnumber
succeedednumber
+

Overrides#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemJob
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsJob[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<Job>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Job>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | Job[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | Job[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<Job>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<Job>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<Job>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Job>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<Job[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<Job[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): Job[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsJob[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

Job[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<Job>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemJob
patchPatch
+

Returns#

+

Promise<Job>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): Job[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsJob[]
+

Returns#

+

Job[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | Job[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | Job[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemJob
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemJob
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsJob[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemJob
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): Job[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsJob[]the items to be sorted (default: the current items in this store)
sorting(item: Job) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

Job[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemJob
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsJob[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemJob
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<Job>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemJob
dataPartial<Job>
+

Returns#

+

Promise<Job>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<Job>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemJob
request() => Promise<Job>
+

Returns#

+

Promise<Job>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeApi/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeApi/index.html new file mode 100644 index 0000000000..5d436d7d6c --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeApi/index.html @@ -0,0 +1,1635 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: KubeApi - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: KubeApi<T>#

+

Renderer.K8sApi.KubeApi

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Textends KubeObject
+

Hierarchy#

+
    +
  • KubeApi
  • +
+

PodsApi

+

NodesApi

+

DeploymentApi

+

IngressApi

+

PersistentVolumeClaimsApi

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new KubeApi<T>(options)

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Textends KubeObject<KubeObjectMetadata, any, any, T>
+

Parameters#

+ + + + + + + + + + + + + +
NameType
optionsIKubeApiOptions<T>
+

Properties#

+

apiBase#

+

apiBase: string

+
+

apiGroup#

+

apiGroup: string

+
+

apiPrefix#

+

apiPrefix: string

+
+

apiResource#

+

Readonly apiResource: string

+
+

apiVersion#

+

Readonly apiVersion: string

+
+

apiVersionPreferred#

+

Optional apiVersionPreferred: string

+
+

isNamespaced#

+

Readonly isNamespaced: boolean

+
+

kind#

+

Readonly kind: string

+
+

objectConstructor#

+

objectConstructor: KubeObjectConstructor<T>

+
+

options#

+

Protected options: IKubeApiOptions<T>

+
+

request#

+

Protected request: KubeJsonApi

+
+

resourceVersions#

+

Protected resourceVersions: Map<string, string>

+
+

watchDisposer#

+

Protected watchDisposer: () => void

+

Type declaration#

+

▸ (): void

+
Returns#
+

void

+

Accessors#

+

apiVersionWithGroup#

+

get apiVersionWithGroup(): string

+

Returns#

+

string

+

Methods#

+

checkPreferredVersion#

+

Protected checkPreferredVersion(): Promise<void>

+

Returns#

+

Promise<void>

+
+

create#

+

create(__namedParameters, data?): Promise<T>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersPartial<ResourceDescriptor>
data?PartialKubeObject<T>
+

Returns#

+

Promise<T>

+
+

delete#

+

delete(__namedParameters): Promise<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersDeleteResourceDescriptor
+

Returns#

+

Promise<KubeJsonApiData>

+
+

get#

+

get(desc, query?): Promise<T>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
descResourceDescriptor
query?IKubeApiQueryParams
+

Returns#

+

Promise<T>

+
+

getResourceVersion#

+

getResourceVersion(namespace?): string

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
+

Returns#

+

string

+
+

getUrl#

+

getUrl(__namedParameters?, query?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersPartial<ResourceDescriptor>
query?Partial<IKubeApiQueryParams>
+

Returns#

+

string

+
+

getWatchUrl#

+

getWatchUrl(namespace?, query?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
queryIKubeApiQueryParams{}
+

Returns#

+

string

+
+

list#

+

list(__namedParameters?, query?): Promise<T[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersKubeApiListOptions
query?IKubeApiQueryParams
+

Returns#

+

Promise<T[]>

+
+

modifyWatchEvent#

+

Protected modifyWatchEvent(event): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
eventIKubeWatchEvent<KubeJsonApiData>
+

Returns#

+

void

+
+

normalizeQuery#

+

Protected normalizeQuery(query?): Partial<IKubeApiQueryParams>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
queryPartial<IKubeApiQueryParams>
+

Returns#

+

Partial<IKubeApiQueryParams>

+
+

parseResponse#

+

Protected parseResponse(data, namespace?): T | T[]

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
dataunknown
namespace?string
+

Returns#

+

T | T[]

+
+

patch#

+

patch(desc, data?, strategy?): Promise<T>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
descResourceDescriptorundefined
data?Patch | PartialKubeObject<T>undefined
strategyKubeApiPatchType"strategic"
+

Returns#

+

Promise<T>

+
+

refreshResourceVersion#

+

refreshResourceVersion(params?): Promise<T[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?KubeApiListOptions
+

Returns#

+

Promise<T[]>

+
+

setResourceVersion#

+

setResourceVersion(namespace?, newVersion): void

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
newVersionstringundefined
+

Returns#

+

void

+
+

update#

+

update(__namedParameters, data): Promise<T>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersResourceDescriptor
dataPartialKubeObject<T>
+

Returns#

+

Promise<T>

+
+

watch#

+

watch(opts?): () => void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
optsKubeApiWatchOptions
+

Returns#

+

fn

+

▸ (): void

+
Returns#
+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeEvent/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeEvent/index.html new file mode 100644 index 0000000000..1f45e36778 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeEvent/index.html @@ -0,0 +1,1917 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: KubeEvent - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: KubeEvent#

+

Renderer.K8sApi.KubeEvent

+

Hierarchy#

+ +

KubeEvent

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new KubeEvent(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

count#

+

count: number

+
+

eventTime#

+

eventTime: null

+
+

firstTimestamp#

+

firstTimestamp: string

+
+

involvedObject#

+

involvedObject: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
apiVersionstring
fieldPathstring
kindstring
namestring
namespacestring
resourceVersionstring
uidstring
+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

lastTimestamp#

+

lastTimestamp: string

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

message#

+

message: string

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

reason#

+

reason: string

+
+

reportingComponent#

+

reportingComponent: string

+
+

reportingInstance#

+

reportingInstance: string

+
+

source#

+

source: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + +
NameType
componentstring
hoststring
+
+

spec#

+

Optional spec: any

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: any

+

Inherited from#

+

KubeObject.status

+
+

type#

+

type: string

+
+

apiBase#

+

Static apiBase: string = "/api/v1/events"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "Event"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getFirstSeenTime#

+

getFirstSeenTime(): string

+

Returns#

+

string

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getLastSeenTime#

+

getLastSeenTime(): string

+

Returns#

+

string

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getSource#

+

getSource(): string

+

Returns#

+

string

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

isWarning#

+

isWarning(): boolean

+

Returns#

+

boolean

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<KubeEvent>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeJsonApi/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeJsonApi/index.html new file mode 100644 index 0000000000..858396c4e7 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeJsonApi/index.html @@ -0,0 +1,1500 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: KubeJsonApi - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: KubeJsonApi#

+

Renderer.K8sApi.KubeJsonApi

+

Hierarchy#

+
    +
  • JsonApi<KubeJsonApiData>
  • +
+

KubeJsonApi

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new KubeJsonApi(config, reqInit?)

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
configJsonApiConfig
reqInit?RequestInit
+

Inherited from#

+

JsonApi<KubeJsonApiData>.constructor

+

Properties#

+

config#

+

Readonly config: JsonApiConfig

+

Inherited from#

+

JsonApi.config

+
+

onData#

+

onData: EventEmitter<[KubeJsonApiData, Response]>

+

Inherited from#

+

JsonApi.onData

+
+

onError#

+

onError: EventEmitter<[JsonApiErrorParsed, Response]>

+

Inherited from#

+

JsonApi.onError

+
+

reqInit#

+

Protected Optional reqInit: RequestInit

+

Inherited from#

+

JsonApi.reqInit

+
+

configDefault#

+

Static configDefault: Partial<JsonApiConfig>

+

Inherited from#

+

JsonApi.configDefault

+
+

reqInitDefault#

+

Static reqInitDefault: RequestInit

+

Inherited from#

+

JsonApi.reqInitDefault

+

Methods#

+

del#

+

del<T>(path, params?, reqInit?): Promise<T>

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
TKubeJsonApiData
+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
pathstring
params?JsonApiParams<any>
reqInitRequestInit
+

Returns#

+

Promise<T>

+

Inherited from#

+

JsonApi.del

+
+

get#

+

get<T>(path, params?, reqInit?): Promise<T>

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
TKubeJsonApiData
+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
pathstring
params?JsonApiParams<any>
reqInitRequestInit
+

Returns#

+

Promise<T>

+

Inherited from#

+

JsonApi.get

+
+

getResponse#

+

getResponse(path, params?, init?): Promise<Response>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
pathstring
params?JsonApiParams<any>
initRequestInit
+

Returns#

+

Promise<Response>

+

Inherited from#

+

JsonApi.getResponse

+
+

parseError#

+

Protected parseError(error, res): string[]

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
errorany
resResponse
+

Returns#

+

string[]

+

Overrides#

+

JsonApi.parseError

+
+

parseResponse#

+

Protected parseResponse<D>(res, log): Promise<D>

+

Type parameters#

+ + + + + + + + + + + +
Name
D
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
resResponse
logJsonApiLog
+

Returns#

+

Promise<D>

+

Inherited from#

+

JsonApi.parseResponse

+
+

patch#

+

patch<T>(path, params?, reqInit?): Promise<T>

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
TKubeJsonApiData
+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
pathstring
params?JsonApiParams<any>
reqInitRequestInit
+

Returns#

+

Promise<T>

+

Inherited from#

+

JsonApi.patch

+
+

post#

+

post<T>(path, params?, reqInit?): Promise<T>

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
TKubeJsonApiData
+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
pathstring
params?JsonApiParams<any>
reqInitRequestInit
+

Returns#

+

Promise<T>

+

Inherited from#

+

JsonApi.post

+
+

put#

+

put<T>(path, params?, reqInit?): Promise<T>

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
TKubeJsonApiData
+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
pathstring
params?JsonApiParams<any>
reqInitRequestInit
+

Returns#

+

Promise<T>

+

Inherited from#

+

JsonApi.put

+
+

request#

+

Protected request<D>(path, params?, init?): Promise<D>

+

Type parameters#

+ + + + + + + + + + + +
Name
D
+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
pathstring
params?JsonApiParams<any>
initRequestInit
+

Returns#

+

Promise<D>

+

Inherited from#

+

JsonApi.request

+
+

writeLog#

+

Protected writeLog(log): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
logJsonApiLog
+

Returns#

+

void

+

Inherited from#

+

JsonApi.writeLog

+
+

forCluster#

+

Static forCluster(clusterId): KubeJsonApi

+

Parameters#

+ + + + + + + + + + + + + +
NameType
clusterIdstring
+

Returns#

+

KubeJsonApi

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeObject/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeObject/index.html new file mode 100644 index 0000000000..0a2cc7f453 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeObject/index.html @@ -0,0 +1,1708 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: KubeObject - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: KubeObject<Metadata, Status, Spec>#

+

Renderer.K8sApi.KubeObject

+

Type parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
Metadataextends KubeObjectMetadataKubeObjectMetadata
Statusany
Specany
+

Hierarchy#

+
    +
  • KubeObject
  • +
+

Node

+

CronJob

+

ConfigMap

+

Secret

+

ResourceQuota

+

LimitRange

+

HorizontalPodAutoscaler

+

PodDisruptionBudget

+

Service

+

Endpoint

+

Ingress

+

NetworkPolicy

+

PersistentVolume

+

PersistentVolumeClaim

+

StorageClass

+

Namespace

+

KubeEvent

+

ServiceAccount

+

Role

+

RoleBinding

+

ClusterRole

+

ClusterRoleBinding

+

CustomResourceDefinition

+

Implements#

+
    +
  • ItemObject
  • +
+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new KubeObject<Metadata, Status, Spec>(data)

+

Type parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
Metadataextends KubeObjectMetadataKubeObjectMetadata
Statusany
Specany
+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Properties#

+

apiVersion#

+

apiVersion: string

+
+

kind#

+

kind: string

+
+

managedFields#

+

Optional managedFields: any

+
+

metadata#

+

metadata: Metadata

+
+

spec#

+

Optional spec: Spec

+
+

status#

+

Optional status: Status

+
+

apiBase#

+

Static Optional Readonly apiBase: string

+
+

kind#

+

Static Optional Readonly kind: string

+
+

namespaced#

+

Static Optional Readonly namespaced: boolean

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Implementation of#

+

ItemObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Implementation of#

+

ItemObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<KubeObject<Metadata, Status, Spec>>
+

Returns#

+

Promise<KubeJsonApiData>

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeObjectStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeObjectStore/index.html new file mode 100644 index 0000000000..552b49ec23 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeObjectStore/index.html @@ -0,0 +1,2449 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: KubeObjectStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: KubeObjectStore<T>#

+

Renderer.K8sApi.KubeObjectStore

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Textends KubeObject
+

Hierarchy#

+
    +
  • ItemStore<T>
  • +
+

KubeObjectStore

+

↳↳ EventStore

+

↳↳ PodsStore

+

↳↳ NodesStore

+

↳↳ DeploymentStore

+

↳↳ DaemonSetStore

+

↳↳ StatefulSetStore

+

↳↳ JobStore

+

↳↳ CronJobStore

+

↳↳ ConfigMapsStore

+

↳↳ SecretsStore

+

↳↳ ReplicaSetStore

+

↳↳ ResourceQuotasStore

+

↳↳ LimitRangesStore

+

↳↳ HPAStore

+

↳↳ PodDisruptionBudgetsStore

+

↳↳ ServiceStore

+

↳↳ EndpointStore

+

↳↳ IngressStore

+

↳↳ NetworkPolicyStore

+

↳↳ PersistentVolumesStore

+

↳↳ VolumeClaimStore

+

↳↳ StorageClassStore

+

↳↳ NamespaceStore

+

↳↳ ServiceAccountsStore

+

↳↳ RolesStore

+

↳↳ RoleBindingsStore

+

↳↳ CRDStore

+

↳↳ CRDResourceStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new KubeObjectStore<T>(api?)

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Textends KubeObject<KubeObjectMetadata, any, any, T>
+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<T>
+

Overrides#

+

ItemStore<T\>.constructor

+

Properties#

+

api#

+

api: KubeApi<T>

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

ItemStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

ItemStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

ItemStore.isLoading

+
+

items#

+

items: IObservableArray<T>

+

Inherited from#

+

ItemStore.items

+
+

limit#

+

Optional Readonly limit: number

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

ItemStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

ItemStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<T, void, undefined>

+

Returns#

+

Generator<T, void, undefined>

+

Inherited from#

+

ItemStore.__@iterator@620

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+
+

create#

+

create(params, data?): Promise<T>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<T>
+

Returns#

+

Promise<T>

+
+

createItem#

+

Protected createItem(params, data?): Promise<T>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<T>
+

Returns#

+

Promise<T>

+

Overrides#

+

ItemStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

ItemStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): T[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsT[]
+

Returns#

+

T[]

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): T[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

T[]

+
+

getById#

+

getById(id): T

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

T

+
+

getByLabel#

+

getByLabel(labels): T[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

T[]

+
+

getByName#

+

getByName(name, namespace?): T

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

T

+

Overrides#

+

ItemStore.getByName

+
+

getByPath#

+

getByPath(path): T

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

T

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

ItemStore.getIndexById

+
+

getItems#

+

getItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

ItemStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsT[]
+

Returns#

+

Record<string, number>

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Overrides#

+

ItemStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemT
+

Returns#

+

boolean

+

Inherited from#

+

ItemStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsT[]
+

Returns#

+

boolean

+

Inherited from#

+

ItemStore.isSelectedAll

+
+

load#

+

load(params): Promise<T>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<T>

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | T[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | T[]>

+

Overrides#

+

ItemStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<T>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<T>

+
+

loadItem#

+

Protected loadItem(params): Promise<T>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<T>

+

Overrides#

+

ItemStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<T[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<T[]>

+

Overrides#

+

ItemStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): T[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsT[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

T[]

+
+

patch#

+

patch(item, patch): Promise<T>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemT
patchPatch
+

Returns#

+

Promise<T>

+
+

pickOnlySelected#

+

pickOnlySelected(items): T[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsT[]
+

Returns#

+

T[]

+

Inherited from#

+

ItemStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | T[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | T[]>

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemT
+

Returns#

+

Promise<void>

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemT
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

ItemStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsT[]
+

Returns#

+

Promise<void>

+

Overrides#

+

ItemStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Overrides#

+

ItemStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

ItemStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

ItemStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemT
+

Returns#

+

void

+

Inherited from#

+

ItemStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): T[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsT[]the items to be sorted (default: the current items in this store)
sorting(item: T) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

T[]

+

Inherited from#

+

ItemStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemT
+

Returns#

+

void

+

Inherited from#

+

ItemStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsT[]
+

Returns#

+

void

+

Inherited from#

+

ItemStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemT
+

Returns#

+

void

+

Inherited from#

+

ItemStore.unselect

+
+

update#

+

update(item, data): Promise<T>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemT
dataPartial<T>
+

Returns#

+

Promise<T>

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+
+

updateItem#

+

Protected updateItem(item, request): Promise<T>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemT
request() => Promise<T>
+

Returns#

+

Promise<T>

+

Inherited from#

+

ItemStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeStatus/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeStatus/index.html new file mode 100644 index 0000000000..681f19eb31 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.KubeStatus/index.html @@ -0,0 +1,943 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: KubeStatus - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: KubeStatus#

+

Renderer.K8sApi.KubeStatus

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Constructors#

+

constructor#

+

new KubeStatus(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeStatusData
+

Properties#

+

apiVersion#

+

Readonly apiVersion: string

+
+

code#

+

Readonly code: number

+
+

kind#

+

Readonly kind: "Status"

+
+

message#

+

Readonly message: string

+
+

reason#

+

Readonly reason: string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.LimitRange/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.LimitRange/index.html new file mode 100644 index 0000000000..31c893ce3e --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.LimitRange/index.html @@ -0,0 +1,1740 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: LimitRange - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+ +
+
+ + +
+
+ + + + +

Class: LimitRange#

+

Renderer.K8sApi.LimitRange

+

Hierarchy#

+ +

LimitRange

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new LimitRange(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
limitsLimitRangeItem[]
+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: any

+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/api/v1/limitranges"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "LimitRange"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getContainerLimits#

+

getContainerLimits(): LimitRangeItem[]

+

Returns#

+

LimitRangeItem[]

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getPVCLimits#

+

getPVCLimits(): LimitRangeItem[]

+

Returns#

+

LimitRangeItem[]

+
+

getPodLimits#

+

getPodLimits(): LimitRangeItem[]

+

Returns#

+

LimitRangeItem[]

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<LimitRange>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.LimitRangesStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.LimitRangesStore/index.html new file mode 100644 index 0000000000..34682815ab --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.LimitRangesStore/index.html @@ -0,0 +1,2440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: LimitRangesStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: LimitRangesStore#

+

Renderer.K8sApi.LimitRangesStore

+

Hierarchy#

+ +

LimitRangesStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new LimitRangesStore(api?)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<LimitRange>
+

Inherited from#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<LimitRange> = limitRangeApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<LimitRange>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<LimitRange, void, undefined>

+

Returns#

+

Generator<LimitRange, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<LimitRange>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<LimitRange>
+

Returns#

+

Promise<LimitRange>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<LimitRange>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<LimitRange>
+

Returns#

+

Promise<LimitRange>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): LimitRange[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsLimitRange[]
+

Returns#

+

LimitRange[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): LimitRange[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

LimitRange[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): LimitRange

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

LimitRange

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): LimitRange[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

LimitRange[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): LimitRange

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

LimitRange

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): LimitRange

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

LimitRange

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): LimitRange[]

+

Returns#

+

LimitRange[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsLimitRange[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemLimitRange
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsLimitRange[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<LimitRange>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<LimitRange>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | LimitRange[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | LimitRange[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<LimitRange>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<LimitRange>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<LimitRange>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<LimitRange>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<LimitRange[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<LimitRange[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): LimitRange[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsLimitRange[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

LimitRange[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<LimitRange>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemLimitRange
patchPatch
+

Returns#

+

Promise<LimitRange>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): LimitRange[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsLimitRange[]
+

Returns#

+

LimitRange[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | LimitRange[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | LimitRange[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemLimitRange
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemLimitRange
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsLimitRange[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemLimitRange
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): LimitRange[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsLimitRange[]the items to be sorted (default: the current items in this store)
sorting(item: LimitRange) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

LimitRange[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemLimitRange
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsLimitRange[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemLimitRange
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<LimitRange>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemLimitRange
dataPartial<LimitRange>
+

Returns#

+

Promise<LimitRange>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<LimitRange>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemLimitRange
request() => Promise<LimitRange>
+

Returns#

+

Promise<LimitRange>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.Namespace/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Namespace/index.html new file mode 100644 index 0000000000..c4b1650f7a --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Namespace/index.html @@ -0,0 +1,1714 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Namespace - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Namespace#

+

Renderer.K8sApi.Namespace

+

Hierarchy#

+ +

Namespace

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Namespace(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

Optional spec: any

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
phasestring
+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/api/v1/namespaces"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "Namespace"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = false

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getStatus#

+

getStatus(): string

+

Returns#

+

string

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<Namespace>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.NamespaceStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.NamespaceStore/index.html new file mode 100644 index 0000000000..8846c19f86 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.NamespaceStore/index.html @@ -0,0 +1,2795 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: NamespaceStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: NamespaceStore#

+

Renderer.K8sApi.NamespaceStore

+

Hierarchy#

+ +

NamespaceStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new NamespaceStore(dependencies)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dependenciesDependencies
+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: NamespaceApi = namespacesApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<Namespace>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

allowedNamespaces#

+

get allowedNamespaces(): string[]

+

Returns#

+

string[]

+
+

areAllSelectedImplicitly#

+

get areAllSelectedImplicitly(): boolean

+

Is true when the the set of namespace names selected is implicitly all

+

Namely, this will be true if the user has deselected all namespaces from +the filter or if the user has clicked the "All Namespaces" option

+

Returns#

+

boolean

+
+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextNamespaces#

+

get contextNamespaces(): string[]

+

The list of selected namespace names (for filtering)

+

Returns#

+

string[]

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

hasAllContexts#

+

get hasAllContexts(): boolean

+

Is true if all available namespaces are selected, otherwise false

+

Returns#

+

boolean

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+
+

selectedNames#

+

get selectedNames(): Set<string>

+

The set of select namespace names (for filtering)

+

Returns#

+

Set<string>

+

Methods#

+

[iterator]#

+

[iterator](): Generator<Namespace, void, undefined>

+

Returns#

+

Generator<Namespace, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

clearSelected#

+

clearSelected(namespaces?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
namespaces?string | string[]
+

Returns#

+

void

+
+

create#

+

create(params, data?): Promise<Namespace>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Namespace>
+

Returns#

+

Promise<Namespace>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<Namespace>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Namespace>
+

Returns#

+

Promise<Namespace>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): Namespace[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsNamespace[]
+

Returns#

+

Namespace[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): Namespace[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

Namespace[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): Namespace

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

Namespace

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): Namespace[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

Namespace[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): Namespace

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

Namespace

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): Namespace

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

Namespace

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): Namespace[]

+

Returns#

+

Namespace[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsNamespace[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

hasContext#

+

hasContext(namespaces): boolean

+

Checks if namespace names are selected for filtering

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
namespacesstring | string[]One or several names of namespaces to check if they are selected
+

Returns#

+

boolean

+

true if all the provided names are selected

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNamespace
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsNamespace[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<Namespace>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Namespace>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | Namespace[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | Namespace[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<Namespace>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<Namespace>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<Namespace>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Namespace>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(params): Promise<Namespace[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
paramsKubeObjectStoreLoadingParams
+

Returns#

+

Promise<Namespace[]>

+

Overrides#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): Namespace[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsNamespace[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

Namespace[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

onContextChange#

+

onContextChange(callback, opts?): IReactionDisposer

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
callback(namespaces: string[]) => void
optsObject
opts.fireImmediately?boolean
+

Returns#

+

IReactionDisposer

+
+

patch#

+

patch(item, patch): Promise<Namespace>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemNamespace
patchPatch
+

Returns#

+

Promise<Namespace>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): Namespace[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsNamespace[]
+

Returns#

+

Namespace[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | Namespace[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | Namespace[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNamespace
+

Returns#

+

Promise<void>

+

Overrides#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemNamespace
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsNamespace[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNamespace
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

selectAll#

+

selectAll(): void

+

Selects all available namespaces.

+

Note: If new namespaces appear in the future those will be selected too

+

Returns#

+

void

+
+

selectNamespaces#

+

selectNamespaces(namespace): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
namespacestring | string[]
+

Returns#

+

void

+
+

selectSingle#

+

selectSingle(namespace): void

+

Makes the given namespace the sole selected namespace

+

Parameters#

+ + + + + + + + + + + + + +
NameType
namespacestring
+

Returns#

+

void

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): Namespace[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsNamespace[]the items to be sorted (default: the current items in this store)
sorting(item: Namespace) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

Namespace[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(): (...args: T) => void

+

Returns#

+

fn

+

▸ <T>(...args): void

+

A function that does nothing

+
Type parameters#
+ + + + + + + + + + + + + +
NameType
Textends any[]
+
Parameters#
+ + + + + + + + + + + + + +
NameType
...argsT
+
Returns#
+

void

+

Overrides#

+

KubeObjectStore.subscribe

+
+

toggleAll#

+

toggleAll(selectAll?): void

+

This function selects all namespaces implicitly.

+

NOTE: does not toggle any namespaces

+

deprecated Use NamespaceStore.selectAll instead.

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
selectAll?booleanNOT USED
+

Returns#

+

void

+
+

toggleContext#

+

toggleContext(namespaces): void

+

Acts like toggleSingle but can work on several at a time

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
namespacesstring | string[]One or many names of namespaces to select
+

Returns#

+

void

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNamespace
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsNamespace[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

toggleSingle#

+

toggleSingle(namespace): void

+

Toggles the selection state of namespace. Namely, if it was previously +specifically or implicitly selected then after this call it will be +explicitly deselected.

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
namespacestringThe name of a namespace
+

Returns#

+

void

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNamespace
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<Namespace>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemNamespace
dataPartial<Namespace>
+

Returns#

+

Promise<Namespace>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<Namespace>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemNamespace
request() => Promise<Namespace>
+

Returns#

+

Promise<Namespace>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.NetworkPolicy/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.NetworkPolicy/index.html new file mode 100644 index 0000000000..bdfe5ed1e9 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.NetworkPolicy/index.html @@ -0,0 +1,1712 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: NetworkPolicy - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: NetworkPolicy#

+

Renderer.K8sApi.NetworkPolicy

+

Hierarchy#

+ +

NetworkPolicy

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new NetworkPolicy(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

spec: NetworkPolicySpec

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: any

+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/networking.k8s.io/v1/networkpolicies"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "NetworkPolicy"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getMatchLabels#

+

getMatchLabels(): string[]

+

Returns#

+

string[]

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

getTypes#

+

getTypes(): string[]

+

Returns#

+

string[]

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<NetworkPolicy>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.NetworkPolicyStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.NetworkPolicyStore/index.html new file mode 100644 index 0000000000..607397c864 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.NetworkPolicyStore/index.html @@ -0,0 +1,2440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: NetworkPolicyStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: NetworkPolicyStore#

+

Renderer.K8sApi.NetworkPolicyStore

+

Hierarchy#

+ +

NetworkPolicyStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new NetworkPolicyStore(api?)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<NetworkPolicy>
+

Inherited from#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<NetworkPolicy> = networkPolicyApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<NetworkPolicy>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<NetworkPolicy, void, undefined>

+

Returns#

+

Generator<NetworkPolicy, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<NetworkPolicy>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<NetworkPolicy>
+

Returns#

+

Promise<NetworkPolicy>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<NetworkPolicy>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<NetworkPolicy>
+

Returns#

+

Promise<NetworkPolicy>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): NetworkPolicy[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsNetworkPolicy[]
+

Returns#

+

NetworkPolicy[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): NetworkPolicy[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

NetworkPolicy[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): NetworkPolicy

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

NetworkPolicy

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): NetworkPolicy[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

NetworkPolicy[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): NetworkPolicy

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

NetworkPolicy

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): NetworkPolicy

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

NetworkPolicy

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): NetworkPolicy[]

+

Returns#

+

NetworkPolicy[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsNetworkPolicy[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNetworkPolicy
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsNetworkPolicy[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<NetworkPolicy>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<NetworkPolicy>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | NetworkPolicy[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | NetworkPolicy[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<NetworkPolicy>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<NetworkPolicy>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<NetworkPolicy>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<NetworkPolicy>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<NetworkPolicy[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<NetworkPolicy[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): NetworkPolicy[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsNetworkPolicy[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

NetworkPolicy[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<NetworkPolicy>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemNetworkPolicy
patchPatch
+

Returns#

+

Promise<NetworkPolicy>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): NetworkPolicy[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsNetworkPolicy[]
+

Returns#

+

NetworkPolicy[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | NetworkPolicy[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | NetworkPolicy[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNetworkPolicy
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemNetworkPolicy
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsNetworkPolicy[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNetworkPolicy
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): NetworkPolicy[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsNetworkPolicy[]the items to be sorted (default: the current items in this store)
sorting(item: NetworkPolicy) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

NetworkPolicy[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNetworkPolicy
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsNetworkPolicy[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNetworkPolicy
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<NetworkPolicy>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemNetworkPolicy
dataPartial<NetworkPolicy>
+

Returns#

+

Promise<NetworkPolicy>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<NetworkPolicy>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemNetworkPolicy
request() => Promise<NetworkPolicy>
+

Returns#

+

Promise<NetworkPolicy>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.Node/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Node/index.html new file mode 100644 index 0000000000..d798bcb454 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Node/index.html @@ -0,0 +1,2009 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Node - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Node#

+

Renderer.K8sApi.Node

+

Hierarchy#

+ +

Node

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Node(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
externalID?string
podCIDR?string
podCIDRs?string[]
providerID?string
taints?NodeTaint[]
unschedulable?boolean
+

Inherited from#

+

KubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
addresses?{ address: string ; type: string }[]
allocatable?Object
allocatable.cpustring
allocatable.ephemeral-storagestring
allocatable.hugepages-1Gistring
allocatable.hugepages-2Mistring
allocatable.memorystring
allocatable.podsstring
capacity?Object
capacity.cpustring
capacity.ephemeral-storagestring
capacity.hugepages-1Gistring
capacity.hugepages-2Mistring
capacity.memorystring
capacity.podsstring
conditions?NodeCondition[]
daemonEndpoints?Object
daemonEndpoints.kubeletEndpointObject
daemonEndpoints.kubeletEndpoint.Portnumber
images?{ names: string[] ; sizeBytes?: number }[]
nodeInfo?Object
nodeInfo.architecturestring
nodeInfo.bootIDstring
nodeInfo.containerRuntimeVersionstring
nodeInfo.kernelVersionstring
nodeInfo.kubeProxyVersionstring
nodeInfo.kubeletVersionstring
nodeInfo.machineIDstring
nodeInfo.operatingSystemstring
nodeInfo.osImagestring
nodeInfo.systemUUIDstring
volumesAttached?{ devicePath: string ; name: string }[]
volumesInUse?string[]
+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/api/v1/nodes"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "Node"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = false

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getActiveConditions#

+

getActiveConditions(): NodeCondition[]

+

Returns#

+

NodeCondition[]

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getConditions#

+

getConditions(): NodeCondition[]

+

Returns#

+

NodeCondition[]

+
+

getCpuCapacity#

+

getCpuCapacity(): number

+

Returns#

+

number

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getKubeletVersion#

+

getKubeletVersion(): string

+

Returns#

+

string

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getMemoryCapacity#

+

getMemoryCapacity(): number

+

Returns#

+

number

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNodeConditionText#

+

getNodeConditionText(): string

+

Returns the concatination of all current condition types which have a status +of "True"

+

Returns#

+

string

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOperatingSystem#

+

getOperatingSystem(): string

+

Returns#

+

string

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getRoleLabels#

+

getRoleLabels(): string

+

Returns#

+

string

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getTaints#

+

getTaints(): NodeTaint[]

+

Returns#

+

NodeTaint[]

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

getWarningConditions#

+

getWarningConditions(): NodeCondition[]

+

Returns#

+

NodeCondition[]

+
+

isUnschedulable#

+

isUnschedulable(): boolean

+

Returns#

+

boolean

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<Node>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.NodesApi/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.NodesApi/index.html new file mode 100644 index 0000000000..fa521a1c77 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.NodesApi/index.html @@ -0,0 +1,1656 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: NodesApi - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: NodesApi#

+

Renderer.K8sApi.NodesApi

+

Hierarchy#

+ +

NodesApi

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new NodesApi(options)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
optionsIKubeApiOptions<Node>
+

Inherited from#

+

KubeApi.constructor

+

Properties#

+

apiBase#

+

apiBase: string

+

Inherited from#

+

KubeApi.apiBase

+
+

apiGroup#

+

apiGroup: string

+

Inherited from#

+

KubeApi.apiGroup

+
+

apiPrefix#

+

apiPrefix: string

+

Inherited from#

+

KubeApi.apiPrefix

+
+

apiResource#

+

Readonly apiResource: string

+

Inherited from#

+

KubeApi.apiResource

+
+

apiVersion#

+

Readonly apiVersion: string

+

Inherited from#

+

KubeApi.apiVersion

+
+

apiVersionPreferred#

+

Optional apiVersionPreferred: string

+

Inherited from#

+

KubeApi.apiVersionPreferred

+
+

isNamespaced#

+

Readonly isNamespaced: boolean

+

Inherited from#

+

KubeApi.isNamespaced

+
+

kind#

+

Readonly kind: string

+

Inherited from#

+

KubeApi.kind

+
+

objectConstructor#

+

objectConstructor: KubeObjectConstructor<Node>

+

Inherited from#

+

KubeApi.objectConstructor

+
+

options#

+

Protected options: IKubeApiOptions<Node>

+

Inherited from#

+

KubeApi.options

+
+

request#

+

Protected request: KubeJsonApi

+

Inherited from#

+

KubeApi.request

+
+

resourceVersions#

+

Protected resourceVersions: Map<string, string>

+

Inherited from#

+

KubeApi.resourceVersions

+
+

watchDisposer#

+

Protected watchDisposer: () => void

+

Type declaration#

+

▸ (): void

+
Returns#
+

void

+

Inherited from#

+

KubeApi.watchDisposer

+

Accessors#

+

apiVersionWithGroup#

+

get apiVersionWithGroup(): string

+

Returns#

+

string

+

Inherited from#

+

KubeApi.apiVersionWithGroup

+

Methods#

+

checkPreferredVersion#

+

Protected checkPreferredVersion(): Promise<void>

+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeApi.checkPreferredVersion

+
+

create#

+

create(__namedParameters, data?): Promise<Node>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersPartial<ResourceDescriptor>
data?PartialKubeObject<Node>
+

Returns#

+

Promise<Node>

+

Inherited from#

+

KubeApi.create

+
+

delete#

+

delete(__namedParameters): Promise<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersDeleteResourceDescriptor
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeApi.delete

+
+

get#

+

get(desc, query?): Promise<Node>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
descResourceDescriptor
query?IKubeApiQueryParams
+

Returns#

+

Promise<Node>

+

Inherited from#

+

KubeApi.get

+
+

getResourceVersion#

+

getResourceVersion(namespace?): string

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getResourceVersion

+
+

getUrl#

+

getUrl(__namedParameters?, query?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersPartial<ResourceDescriptor>
query?Partial<IKubeApiQueryParams>
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getUrl

+
+

getWatchUrl#

+

getWatchUrl(namespace?, query?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
queryIKubeApiQueryParams{}
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getWatchUrl

+
+

list#

+

list(__namedParameters?, query?): Promise<Node[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersKubeApiListOptions
query?IKubeApiQueryParams
+

Returns#

+

Promise<Node[]>

+

Inherited from#

+

KubeApi.list

+
+

modifyWatchEvent#

+

Protected modifyWatchEvent(event): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
eventIKubeWatchEvent<KubeJsonApiData>
+

Returns#

+

void

+

Inherited from#

+

KubeApi.modifyWatchEvent

+
+

normalizeQuery#

+

Protected normalizeQuery(query?): Partial<IKubeApiQueryParams>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
queryPartial<IKubeApiQueryParams>
+

Returns#

+

Partial<IKubeApiQueryParams>

+

Inherited from#

+

KubeApi.normalizeQuery

+
+

parseResponse#

+

Protected parseResponse(data, namespace?): Node | Node[]

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
dataunknown
namespace?string
+

Returns#

+

Node | Node[]

+

Inherited from#

+

KubeApi.parseResponse

+
+

patch#

+

patch(desc, data?, strategy?): Promise<Node>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
descResourceDescriptorundefined
data?Patch | PartialKubeObject<Node>undefined
strategyKubeApiPatchType"strategic"
+

Returns#

+

Promise<Node>

+

Inherited from#

+

KubeApi.patch

+
+

refreshResourceVersion#

+

refreshResourceVersion(params?): Promise<Node[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?KubeApiListOptions
+

Returns#

+

Promise<Node[]>

+

Inherited from#

+

KubeApi.refreshResourceVersion

+
+

setResourceVersion#

+

setResourceVersion(namespace?, newVersion): void

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
newVersionstringundefined
+

Returns#

+

void

+

Inherited from#

+

KubeApi.setResourceVersion

+
+

update#

+

update(__namedParameters, data): Promise<Node>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersResourceDescriptor
dataPartialKubeObject<Node>
+

Returns#

+

Promise<Node>

+

Inherited from#

+

KubeApi.update

+
+

watch#

+

watch(opts?): () => void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
optsKubeApiWatchOptions
+

Returns#

+

fn

+

▸ (): void

+
Returns#
+

void

+

Inherited from#

+

KubeApi.watch

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.NodesStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.NodesStore/index.html new file mode 100644 index 0000000000..e40a5f1047 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.NodesStore/index.html @@ -0,0 +1,2464 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: NodesStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: NodesStore#

+

Renderer.K8sApi.NodesStore

+

Hierarchy#

+ +

NodesStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new NodesStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: NodesApi = nodesApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<Node>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

masterNodes#

+

get masterNodes(): Node[]

+

Returns#

+

Node[]

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+
+

workerNodes#

+

get workerNodes(): Node[]

+

Returns#

+

Node[]

+

Methods#

+

[iterator]#

+

[iterator](): Generator<Node, void, undefined>

+

Returns#

+

Generator<Node, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<Node>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Node>
+

Returns#

+

Promise<Node>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<Node>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Node>
+

Returns#

+

Promise<Node>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): Node[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsNode[]
+

Returns#

+

Node[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): Node[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

Node[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): Node

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

Node

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): Node[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

Node[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): Node

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

Node

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): Node

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

Node

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): Node[]

+

Returns#

+

Node[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsNode[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

getWarningsCount#

+

getWarningsCount(): number

+

Returns#

+

number

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNode
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsNode[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<Node>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Node>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | Node[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | Node[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<Node>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<Node>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<Node>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Node>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<Node[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<Node[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): Node[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsNode[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

Node[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<Node>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemNode
patchPatch
+

Returns#

+

Promise<Node>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): Node[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsNode[]
+

Returns#

+

Node[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | Node[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | Node[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNode
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemNode
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsNode[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNode
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): Node[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsNode[]the items to be sorted (default: the current items in this store)
sorting(item: Node) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

Node[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNode
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsNode[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemNode
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<Node>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemNode
dataPartial<Node>
+

Returns#

+

Promise<Node>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<Node>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemNode
request() => Promise<Node>
+

Returns#

+

Promise<Node>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolume/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolume/index.html new file mode 100644 index 0000000000..88c27c7acf --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolume/index.html @@ -0,0 +1,1890 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: PersistentVolume - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: PersistentVolume#

+

Renderer.K8sApi.PersistentVolume

+

Hierarchy#

+ +

PersistentVolume

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new PersistentVolume(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
accessModesstring[]
capacityObject
capacity.storagestring
claimRefObject
claimRef.apiVersionstring
claimRef.kindstring
claimRef.namestring
claimRef.namespacestring
claimRef.resourceVersionstring
claimRef.uidstring
flexVolumeObject
flexVolume.driverstring
flexVolume.optionsObject
flexVolume.options.clusterNamespacestring
flexVolume.options.imagestring
flexVolume.options.poolstring
flexVolume.options.storageClassstring
mountOptions?string[]
nfs?Object
nfs.pathstring
nfs.serverstring
persistentVolumeReclaimPolicystring
storageClassNamestring
+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + +
NameType
phasestring
reason?string
+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/api/v1/persistentvolumes"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "PersistentVolume"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = false

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getCapacity#

+

getCapacity(inBytes?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
inBytesbooleanfalse
+

Returns#

+

string | number

+
+

getClaimRefName#

+

getClaimRefName(): string

+

Returns#

+

string

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getStatus#

+

getStatus(): string

+

Returns#

+

string

+
+

getStorageClass#

+

getStorageClass(): string

+

Returns#

+

string

+
+

getStorageClassName#

+

getStorageClassName(): string

+

Returns#

+

string

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<PersistentVolume>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaim/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaim/index.html new file mode 100644 index 0000000000..f7045401cd --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaim/index.html @@ -0,0 +1,1816 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: PersistentVolumeClaim - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+ +
+
+ + +
+
+ + + + +

Class: PersistentVolumeClaim#

+

Renderer.K8sApi.PersistentVolumeClaim

+

Hierarchy#

+ +

PersistentVolumeClaim

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new PersistentVolumeClaim(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
accessModesstring[]
resourcesObject
resources.requestsObject
resources.requests.storagestring
selectorLabelSelector
storageClassNamestring
+

Inherited from#

+

KubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
phasestring
+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/api/v1/persistentvolumeclaims"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "PersistentVolumeClaim"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getMatchExpressions#

+

getMatchExpressions(): LabelMatchExpression[]

+

Returns#

+

LabelMatchExpression[]

+
+

getMatchLabels#

+

getMatchLabels(): string[]

+

Returns#

+

string[]

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getPods#

+

getPods(allPods): Pod[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
allPodsPod[]
+

Returns#

+

Pod[]

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getStatus#

+

getStatus(): string

+

Returns#

+

string

+
+

getStorage#

+

getStorage(): string

+

Returns#

+

string

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<PersistentVolumeClaim>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaimsApi/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaimsApi/index.html new file mode 100644 index 0000000000..4b2bc72387 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumeClaimsApi/index.html @@ -0,0 +1,1656 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: PersistentVolumeClaimsApi - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: PersistentVolumeClaimsApi#

+

Renderer.K8sApi.PersistentVolumeClaimsApi

+

Hierarchy#

+ +

PersistentVolumeClaimsApi

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new PersistentVolumeClaimsApi(options)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
optionsIKubeApiOptions<PersistentVolumeClaim>
+

Inherited from#

+

KubeApi.constructor

+

Properties#

+

apiBase#

+

apiBase: string

+

Inherited from#

+

KubeApi.apiBase

+
+

apiGroup#

+

apiGroup: string

+

Inherited from#

+

KubeApi.apiGroup

+
+

apiPrefix#

+

apiPrefix: string

+

Inherited from#

+

KubeApi.apiPrefix

+
+

apiResource#

+

Readonly apiResource: string

+

Inherited from#

+

KubeApi.apiResource

+
+

apiVersion#

+

Readonly apiVersion: string

+

Inherited from#

+

KubeApi.apiVersion

+
+

apiVersionPreferred#

+

Optional apiVersionPreferred: string

+

Inherited from#

+

KubeApi.apiVersionPreferred

+
+

isNamespaced#

+

Readonly isNamespaced: boolean

+

Inherited from#

+

KubeApi.isNamespaced

+
+

kind#

+

Readonly kind: string

+

Inherited from#

+

KubeApi.kind

+
+

objectConstructor#

+

objectConstructor: KubeObjectConstructor<PersistentVolumeClaim>

+

Inherited from#

+

KubeApi.objectConstructor

+
+

options#

+

Protected options: IKubeApiOptions<PersistentVolumeClaim>

+

Inherited from#

+

KubeApi.options

+
+

request#

+

Protected request: KubeJsonApi

+

Inherited from#

+

KubeApi.request

+
+

resourceVersions#

+

Protected resourceVersions: Map<string, string>

+

Inherited from#

+

KubeApi.resourceVersions

+
+

watchDisposer#

+

Protected watchDisposer: () => void

+

Type declaration#

+

▸ (): void

+
Returns#
+

void

+

Inherited from#

+

KubeApi.watchDisposer

+

Accessors#

+

apiVersionWithGroup#

+

get apiVersionWithGroup(): string

+

Returns#

+

string

+

Inherited from#

+

KubeApi.apiVersionWithGroup

+

Methods#

+

checkPreferredVersion#

+

Protected checkPreferredVersion(): Promise<void>

+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeApi.checkPreferredVersion

+
+

create#

+

create(__namedParameters, data?): Promise<PersistentVolumeClaim>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersPartial<ResourceDescriptor>
data?PartialKubeObject<PersistentVolumeClaim>
+

Returns#

+

Promise<PersistentVolumeClaim>

+

Inherited from#

+

KubeApi.create

+
+

delete#

+

delete(__namedParameters): Promise<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersDeleteResourceDescriptor
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeApi.delete

+
+

get#

+

get(desc, query?): Promise<PersistentVolumeClaim>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
descResourceDescriptor
query?IKubeApiQueryParams
+

Returns#

+

Promise<PersistentVolumeClaim>

+

Inherited from#

+

KubeApi.get

+
+

getResourceVersion#

+

getResourceVersion(namespace?): string

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getResourceVersion

+
+

getUrl#

+

getUrl(__namedParameters?, query?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersPartial<ResourceDescriptor>
query?Partial<IKubeApiQueryParams>
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getUrl

+
+

getWatchUrl#

+

getWatchUrl(namespace?, query?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
queryIKubeApiQueryParams{}
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getWatchUrl

+
+

list#

+

list(__namedParameters?, query?): Promise<PersistentVolumeClaim[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersKubeApiListOptions
query?IKubeApiQueryParams
+

Returns#

+

Promise<PersistentVolumeClaim[]>

+

Inherited from#

+

KubeApi.list

+
+

modifyWatchEvent#

+

Protected modifyWatchEvent(event): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
eventIKubeWatchEvent<KubeJsonApiData>
+

Returns#

+

void

+

Inherited from#

+

KubeApi.modifyWatchEvent

+
+

normalizeQuery#

+

Protected normalizeQuery(query?): Partial<IKubeApiQueryParams>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
queryPartial<IKubeApiQueryParams>
+

Returns#

+

Partial<IKubeApiQueryParams>

+

Inherited from#

+

KubeApi.normalizeQuery

+
+

parseResponse#

+

Protected parseResponse(data, namespace?): PersistentVolumeClaim | PersistentVolumeClaim[]

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
dataunknown
namespace?string
+

Returns#

+

PersistentVolumeClaim | PersistentVolumeClaim[]

+

Inherited from#

+

KubeApi.parseResponse

+
+

patch#

+

patch(desc, data?, strategy?): Promise<PersistentVolumeClaim>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
descResourceDescriptorundefined
data?Patch | PartialKubeObject<PersistentVolumeClaim>undefined
strategyKubeApiPatchType"strategic"
+

Returns#

+

Promise<PersistentVolumeClaim>

+

Inherited from#

+

KubeApi.patch

+
+

refreshResourceVersion#

+

refreshResourceVersion(params?): Promise<PersistentVolumeClaim[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?KubeApiListOptions
+

Returns#

+

Promise<PersistentVolumeClaim[]>

+

Inherited from#

+

KubeApi.refreshResourceVersion

+
+

setResourceVersion#

+

setResourceVersion(namespace?, newVersion): void

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
newVersionstringundefined
+

Returns#

+

void

+

Inherited from#

+

KubeApi.setResourceVersion

+
+

update#

+

update(__namedParameters, data): Promise<PersistentVolumeClaim>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersResourceDescriptor
dataPartialKubeObject<PersistentVolumeClaim>
+

Returns#

+

Promise<PersistentVolumeClaim>

+

Inherited from#

+

KubeApi.update

+
+

watch#

+

watch(opts?): () => void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
optsKubeApiWatchOptions
+

Returns#

+

fn

+

▸ (): void

+
Returns#
+

void

+

Inherited from#

+

KubeApi.watch

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumesStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumesStore/index.html new file mode 100644 index 0000000000..4bc3b1d2c3 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PersistentVolumesStore/index.html @@ -0,0 +1,2453 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: PersistentVolumesStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: PersistentVolumesStore#

+

Renderer.K8sApi.PersistentVolumesStore

+

Hierarchy#

+ +

PersistentVolumesStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new PersistentVolumesStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<PersistentVolume> = persistentVolumeApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<PersistentVolume>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<PersistentVolume, void, undefined>

+

Returns#

+

Generator<PersistentVolume, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<PersistentVolume>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<PersistentVolume>
+

Returns#

+

Promise<PersistentVolume>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<PersistentVolume>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<PersistentVolume>
+

Returns#

+

Promise<PersistentVolume>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): PersistentVolume[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPersistentVolume[]
+

Returns#

+

PersistentVolume[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): PersistentVolume[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

PersistentVolume[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): PersistentVolume

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

PersistentVolume

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): PersistentVolume[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

PersistentVolume[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): PersistentVolume

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

PersistentVolume

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): PersistentVolume

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

PersistentVolume

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getByStorageClass#

+

getByStorageClass(storageClass): PersistentVolume[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
storageClassStorageClass
+

Returns#

+

PersistentVolume[]

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): PersistentVolume[]

+

Returns#

+

PersistentVolume[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPersistentVolume[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPersistentVolume
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsPersistentVolume[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<PersistentVolume>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<PersistentVolume>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | PersistentVolume[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | PersistentVolume[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<PersistentVolume>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<PersistentVolume>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<PersistentVolume>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<PersistentVolume>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<PersistentVolume[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<PersistentVolume[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): PersistentVolume[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsPersistentVolume[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

PersistentVolume[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<PersistentVolume>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPersistentVolume
patchPatch
+

Returns#

+

Promise<PersistentVolume>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): PersistentVolume[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPersistentVolume[]
+

Returns#

+

PersistentVolume[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | PersistentVolume[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | PersistentVolume[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPersistentVolume
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPersistentVolume
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPersistentVolume[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPersistentVolume
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): PersistentVolume[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsPersistentVolume[]the items to be sorted (default: the current items in this store)
sorting(item: PersistentVolume) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

PersistentVolume[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPersistentVolume
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsPersistentVolume[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPersistentVolume
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<PersistentVolume>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPersistentVolume
dataPartial<PersistentVolume>
+

Returns#

+

Promise<PersistentVolume>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<PersistentVolume>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPersistentVolume
request() => Promise<PersistentVolume>
+

Returns#

+

Promise<PersistentVolume>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.Pod/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Pod/index.html new file mode 100644 index 0000000000..37cdffa97a --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Pod/index.html @@ -0,0 +1,2300 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Pod - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Pod#

+

Renderer.K8sApi.Pod

+

Hierarchy#

+
    +
  • WorkloadKubeObject
  • +
+

Pod

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Pod(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Overrides#

+

WorkloadKubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

WorkloadKubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

WorkloadKubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

WorkloadKubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

WorkloadKubeObject.metadata

+
+

spec#

+

Optional spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
activeDeadlineSeconds?number
affinity?IAffinity
automountServiceAccountToken?boolean
containersIPodContainer[]
dnsPolicy?string
hostAliases?Object
hostAliases.hostnamesstring[]
hostAliases.ipstring
hostIPC?boolean
hostNetwork?boolean
hostPID?boolean
hostname?string
imagePullSecrets?{ name: string }[]
initContainersIPodContainer[]
nodeName?string
nodeSelector?Object
priority?number
priorityClassName?string
restartPolicy?string
schedulerName?string
securityContext?Object
serviceAccountstring
serviceAccountNamestring
shareProcessNamespace?boolean
subdomain?string
terminationGracePeriodSeconds?number
tolerations?{ effect?: string ; key?: string ; operator?: string ; tolerationSeconds?: number ; value?: string }[]
volumes?{ configMap: { name: string } ; emptyDir: { medium?: string ; sizeLimit?: string } ; name: string ; persistentVolumeClaim: { claimName: string } ; secret: { defaultMode: number ; secretName: string } }[]
+

Overrides#

+

WorkloadKubeObject.spec

+
+

status#

+

Optional status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
conditions{ lastProbeTime: number ; lastTransitionTime: string ; status: string ; type: string }[]
containerStatuses?IPodContainerStatus[]
hostIPstring
initContainerStatuses?IPodContainerStatus[]
phasestring
podIPstring
podIPs?{ ip: string }[]
qosClass?string
reason?string
startTimestring
+

Overrides#

+

WorkloadKubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/api/v1/pods"

+

Overrides#

+

WorkloadKubeObject.apiBase

+
+

kind#

+

Static kind: string = "Pod"

+

Overrides#

+

WorkloadKubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Overrides#

+

WorkloadKubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.selfLink

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.delete

+
+

getAffinity#

+

getAffinity(): IAffinity

+

Returns#

+

IAffinity

+

Overrides#

+

WorkloadKubeObject.getAffinity

+
+

getAffinityNumber#

+

getAffinityNumber(): number

+

Returns#

+

number

+

Inherited from#

+

WorkloadKubeObject.getAffinityNumber

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

WorkloadKubeObject.getAge

+
+

getAllContainers#

+

getAllContainers(): IPodContainer[]

+

Returns#

+

IPodContainer[]

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getAnnotations

+
+

getConditions#

+

getConditions(): { lastProbeTime: number ; lastTransitionTime: string ; status: string ; type: string }[]

+

Returns#

+

{ lastProbeTime: number ; lastTransitionTime: string ; status: string ; type: string }[]

+
+

getContainerStatuses#

+

getContainerStatuses(includeInitContainers?): IPodContainerStatus[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
includeInitContainersbooleantrue
+

Returns#

+

IPodContainerStatus[]

+
+

getContainers#

+

getContainers(): IPodContainer[]

+

Returns#

+

IPodContainer[]

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getFinalizers

+
+

getIPs#

+

getIPs(): string[]

+

Returns#

+

string[]

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getId

+
+

getInitContainers#

+

getInitContainers(): IPodContainer[]

+

Returns#

+

IPodContainer[]

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getLabels

+
+

getLivenessProbe#

+

getLivenessProbe(container): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
containerIPodContainer
+

Returns#

+

string[]

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getName

+
+

getNodeName#

+

getNodeName(): string

+

Returns#

+

string

+
+

getNodeSelectors#

+

getNodeSelectors(): string[]

+

Returns#

+

string[]

+

Overrides#

+

WorkloadKubeObject.getNodeSelectors

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

WorkloadKubeObject.getOwnerRefs

+
+

getPriorityClassName#

+

getPriorityClassName(): string

+

Returns#

+

string

+
+

getQosClass#

+

getQosClass(): string

+

Returns#

+

string

+
+

getReadinessProbe#

+

getReadinessProbe(container): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
containerIPodContainer
+

Returns#

+

string[]

+
+

getReason#

+

getReason(): string

+

Returns#

+

string

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getResourceVersion

+
+

getRestartsCount#

+

getRestartsCount(): number

+

Returns#

+

number

+
+

getRunningContainers#

+

getRunningContainers(): IPodContainer[]

+

Returns#

+

IPodContainer[]

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getSearchFields

+
+

getSecrets#

+

getSecrets(): string[]

+

Returns#

+

string[]

+
+

getSelectedNodeOs#

+

getSelectedNodeOs(): string

+

Returns#

+

string

+
+

getSelectors#

+

getSelectors(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getSelectors

+
+

getStartupProbe#

+

getStartupProbe(container): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
containerIPodContainer
+

Returns#

+

string[]

+
+

getStatus#

+

getStatus(): PodStatus

+

Returns#

+

PodStatus

+
+

getStatusMessage#

+

getStatusMessage(): string

+

Returns#

+

string

+
+

getStatusPhase#

+

getStatusPhase(): string

+

Returns#

+

string

+
+

getTemplateLabels#

+

getTemplateLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getTemplateLabels

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

WorkloadKubeObject.getTimeDiffFromNow

+
+

getTolerations#

+

getTolerations(): { effect?: string ; key?: string ; operator?: string ; tolerationSeconds?: number ; value?: string }[]

+

Returns#

+

{ effect?: string ; key?: string ; operator?: string ; tolerationSeconds?: number ; value?: string }[]

+

Overrides#

+

WorkloadKubeObject.getTolerations

+
+

getVolumes#

+

getVolumes(): { configMap: { name: string } ; emptyDir: { medium?: string ; sizeLimit?: string } ; name: string ; persistentVolumeClaim: { claimName: string } ; secret: { defaultMode: number ; secretName: string } }[]

+

Returns#

+

{ configMap: { name: string } ; emptyDir: { medium?: string ; sizeLimit?: string } ; name: string ; persistentVolumeClaim: { claimName: string } ; secret: { defaultMode: number ; secretName: string } }[]

+
+

hasIssues#

+

hasIssues(): boolean

+

Returns#

+

boolean

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

WorkloadKubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<Pod>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

WorkloadKubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

WorkloadKubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

WorkloadKubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

WorkloadKubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

WorkloadKubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

WorkloadKubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

WorkloadKubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudget/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudget/index.html new file mode 100644 index 0000000000..e089d71ab2 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudget/index.html @@ -0,0 +1,1801 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: PodDisruptionBudget - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Class: PodDisruptionBudget#

+

Renderer.K8sApi.PodDisruptionBudget

+

Hierarchy#

+ +

PodDisruptionBudget

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new PodDisruptionBudget(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
maxUnavailablestring
minAvailablestring
selectorLabelSelector
+

Inherited from#

+

KubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
currentHealthynumber
desiredHealthynumber
disruptionsAllowednumber
expectedPodsnumber
+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/policy/v1beta1/poddisruptionbudgets"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "PodDisruptionBudget"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getCurrentHealthy#

+

getCurrentHealthy(): number

+

Returns#

+

number

+
+

getDesiredHealthy#

+

getDesiredHealthy(): number

+

Returns#

+

number

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getMaxUnavailable#

+

getMaxUnavailable(): string

+

Returns#

+

string

+
+

getMinAvailable#

+

getMinAvailable(): string

+

Returns#

+

string

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getSelectors#

+

getSelectors(): string[]

+

Returns#

+

string[]

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<PodDisruptionBudget>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudgetsStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudgetsStore/index.html new file mode 100644 index 0000000000..da7feb0852 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PodDisruptionBudgetsStore/index.html @@ -0,0 +1,2440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: PodDisruptionBudgetsStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: PodDisruptionBudgetsStore#

+

Renderer.K8sApi.PodDisruptionBudgetsStore

+

Hierarchy#

+ +

PodDisruptionBudgetsStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new PodDisruptionBudgetsStore(api?)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<PodDisruptionBudget>
+

Inherited from#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<PodDisruptionBudget> = pdbApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<PodDisruptionBudget>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<PodDisruptionBudget, void, undefined>

+

Returns#

+

Generator<PodDisruptionBudget, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<PodDisruptionBudget>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<PodDisruptionBudget>
+

Returns#

+

Promise<PodDisruptionBudget>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<PodDisruptionBudget>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<PodDisruptionBudget>
+

Returns#

+

Promise<PodDisruptionBudget>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): PodDisruptionBudget[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPodDisruptionBudget[]
+

Returns#

+

PodDisruptionBudget[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): PodDisruptionBudget[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

PodDisruptionBudget[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): PodDisruptionBudget

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

PodDisruptionBudget

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): PodDisruptionBudget[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

PodDisruptionBudget[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): PodDisruptionBudget

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

PodDisruptionBudget

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): PodDisruptionBudget

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

PodDisruptionBudget

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): PodDisruptionBudget[]

+

Returns#

+

PodDisruptionBudget[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPodDisruptionBudget[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPodDisruptionBudget
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsPodDisruptionBudget[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<PodDisruptionBudget>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<PodDisruptionBudget>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | PodDisruptionBudget[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | PodDisruptionBudget[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<PodDisruptionBudget>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<PodDisruptionBudget>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<PodDisruptionBudget>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<PodDisruptionBudget>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<PodDisruptionBudget[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<PodDisruptionBudget[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): PodDisruptionBudget[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsPodDisruptionBudget[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

PodDisruptionBudget[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<PodDisruptionBudget>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPodDisruptionBudget
patchPatch
+

Returns#

+

Promise<PodDisruptionBudget>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): PodDisruptionBudget[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPodDisruptionBudget[]
+

Returns#

+

PodDisruptionBudget[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | PodDisruptionBudget[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | PodDisruptionBudget[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPodDisruptionBudget
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPodDisruptionBudget
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPodDisruptionBudget[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPodDisruptionBudget
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): PodDisruptionBudget[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsPodDisruptionBudget[]the items to be sorted (default: the current items in this store)
sorting(item: PodDisruptionBudget) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

PodDisruptionBudget[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPodDisruptionBudget
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsPodDisruptionBudget[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPodDisruptionBudget
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<PodDisruptionBudget>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPodDisruptionBudget
dataPartial<PodDisruptionBudget>
+

Returns#

+

Promise<PodDisruptionBudget>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<PodDisruptionBudget>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPodDisruptionBudget
request() => Promise<PodDisruptionBudget>
+

Returns#

+

Promise<PodDisruptionBudget>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.PodsApi/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PodsApi/index.html new file mode 100644 index 0000000000..23259026ee --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PodsApi/index.html @@ -0,0 +1,1696 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: PodsApi - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: PodsApi#

+

Renderer.K8sApi.PodsApi

+

Hierarchy#

+ +

PodsApi

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new PodsApi(options)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
optionsIKubeApiOptions<Pod>
+

Inherited from#

+

KubeApi.constructor

+

Properties#

+

apiBase#

+

apiBase: string

+

Inherited from#

+

KubeApi.apiBase

+
+

apiGroup#

+

apiGroup: string

+

Inherited from#

+

KubeApi.apiGroup

+
+

apiPrefix#

+

apiPrefix: string

+

Inherited from#

+

KubeApi.apiPrefix

+
+

apiResource#

+

Readonly apiResource: string

+

Inherited from#

+

KubeApi.apiResource

+
+

apiVersion#

+

Readonly apiVersion: string

+

Inherited from#

+

KubeApi.apiVersion

+
+

apiVersionPreferred#

+

Optional apiVersionPreferred: string

+

Inherited from#

+

KubeApi.apiVersionPreferred

+
+

isNamespaced#

+

Readonly isNamespaced: boolean

+

Inherited from#

+

KubeApi.isNamespaced

+
+

kind#

+

Readonly kind: string

+

Inherited from#

+

KubeApi.kind

+
+

objectConstructor#

+

objectConstructor: KubeObjectConstructor<Pod>

+

Inherited from#

+

KubeApi.objectConstructor

+
+

options#

+

Protected options: IKubeApiOptions<Pod>

+

Inherited from#

+

KubeApi.options

+
+

request#

+

Protected request: KubeJsonApi

+

Inherited from#

+

KubeApi.request

+
+

resourceVersions#

+

Protected resourceVersions: Map<string, string>

+

Inherited from#

+

KubeApi.resourceVersions

+
+

watchDisposer#

+

Protected watchDisposer: () => void

+

Type declaration#

+

▸ (): void

+
Returns#
+

void

+

Inherited from#

+

KubeApi.watchDisposer

+

Accessors#

+

apiVersionWithGroup#

+

get apiVersionWithGroup(): string

+

Returns#

+

string

+

Inherited from#

+

KubeApi.apiVersionWithGroup

+

Methods#

+

checkPreferredVersion#

+

Protected checkPreferredVersion(): Promise<void>

+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeApi.checkPreferredVersion

+
+

create#

+

create(__namedParameters, data?): Promise<Pod>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersPartial<ResourceDescriptor>
data?PartialKubeObject<Pod>
+

Returns#

+

Promise<Pod>

+

Inherited from#

+

KubeApi.create

+
+

delete#

+

delete(__namedParameters): Promise<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersDeleteResourceDescriptor
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeApi.delete

+
+

get#

+

get(desc, query?): Promise<Pod>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
descResourceDescriptor
query?IKubeApiQueryParams
+

Returns#

+

Promise<Pod>

+

Inherited from#

+

KubeApi.get

+
+

getLogs#

+

getLogs(params, query?): Promise<string>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespacestring
query?IPodLogsQuery
+

Returns#

+

Promise<string>

+
+

getResourceVersion#

+

getResourceVersion(namespace?): string

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getResourceVersion

+
+

getUrl#

+

getUrl(__namedParameters?, query?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersPartial<ResourceDescriptor>
query?Partial<IKubeApiQueryParams>
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getUrl

+
+

getWatchUrl#

+

getWatchUrl(namespace?, query?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
queryIKubeApiQueryParams{}
+

Returns#

+

string

+

Inherited from#

+

KubeApi.getWatchUrl

+
+

list#

+

list(__namedParameters?, query?): Promise<Pod[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersKubeApiListOptions
query?IKubeApiQueryParams
+

Returns#

+

Promise<Pod[]>

+

Inherited from#

+

KubeApi.list

+
+

modifyWatchEvent#

+

Protected modifyWatchEvent(event): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
eventIKubeWatchEvent<KubeJsonApiData>
+

Returns#

+

void

+

Inherited from#

+

KubeApi.modifyWatchEvent

+
+

normalizeQuery#

+

Protected normalizeQuery(query?): Partial<IKubeApiQueryParams>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
queryPartial<IKubeApiQueryParams>
+

Returns#

+

Partial<IKubeApiQueryParams>

+

Inherited from#

+

KubeApi.normalizeQuery

+
+

parseResponse#

+

Protected parseResponse(data, namespace?): Pod | Pod[]

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
dataunknown
namespace?string
+

Returns#

+

Pod | Pod[]

+

Inherited from#

+

KubeApi.parseResponse

+
+

patch#

+

patch(desc, data?, strategy?): Promise<Pod>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
descResourceDescriptorundefined
data?Patch | PartialKubeObject<Pod>undefined
strategyKubeApiPatchType"strategic"
+

Returns#

+

Promise<Pod>

+

Inherited from#

+

KubeApi.patch

+
+

refreshResourceVersion#

+

refreshResourceVersion(params?): Promise<Pod[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?KubeApiListOptions
+

Returns#

+

Promise<Pod[]>

+

Inherited from#

+

KubeApi.refreshResourceVersion

+
+

setResourceVersion#

+

setResourceVersion(namespace?, newVersion): void

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring""
newVersionstringundefined
+

Returns#

+

void

+

Inherited from#

+

KubeApi.setResourceVersion

+
+

update#

+

update(__namedParameters, data): Promise<Pod>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
__namedParametersResourceDescriptor
dataPartialKubeObject<Pod>
+

Returns#

+

Promise<Pod>

+

Inherited from#

+

KubeApi.update

+
+

watch#

+

watch(opts?): () => void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
optsKubeApiWatchOptions
+

Returns#

+

fn

+

▸ (): void

+
Returns#
+

void

+

Inherited from#

+

KubeApi.watch

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.PodsStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PodsStore/index.html new file mode 100644 index 0000000000..702aaceacb --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.PodsStore/index.html @@ -0,0 +1,2594 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: PodsStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: PodsStore#

+

Renderer.K8sApi.PodsStore

+

Hierarchy#

+ +

PodsStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new PodsStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: PodsApi = podsApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<Pod>

+

Inherited from#

+

KubeObjectStore.items

+
+

kubeMetrics#

+

kubeMetrics: IObservableArray<PodMetrics>

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<Pod, void, undefined>

+

Returns#

+

Generator<Pod, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<Pod>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Pod>
+

Returns#

+

Promise<Pod>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<Pod>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Pod>
+

Returns#

+

Promise<Pod>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): Pod[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPod[]
+

Returns#

+

Pod[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): Pod[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

Pod[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): Pod

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

Pod

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): Pod[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

Pod[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): Pod

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

Pod

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): Pod

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

Pod

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): Pod[]

+

Returns#

+

Pod[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getPodKubeMetrics#

+

getPodKubeMetrics(pod): Object

+

Parameters#

+ + + + + + + + + + + + + +
NameType
podPod
+

Returns#

+

Object

+ + + + + + + + + + + + + + + + + +
NameType
cpunumber
memorynumber
+
+

getPodsByNode#

+

getPodsByNode(node): Pod[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
nodestring
+

Returns#

+

Pod[]

+
+

getPodsByOwner#

+

getPodsByOwner(workload): Pod[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
workloadWorkloadKubeObject
+

Returns#

+

Pod[]

+
+

getPodsByOwnerId#

+

getPodsByOwnerId(workloadId): Pod[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
workloadIdstring
+

Returns#

+

Pod[]

+
+

getStatuses#

+

getStatuses(pods): Dictionary<number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
podsPod[]
+

Returns#

+

Dictionary<number>

+

Overrides#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPod
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsPod[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<Pod>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Pod>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | Pod[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | Pod[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<Pod>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<Pod>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<Pod>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Pod>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<Pod[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<Pod[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

loadKubeMetrics#

+

loadKubeMetrics(namespace?): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
namespace?string
+

Returns#

+

Promise<void>

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): Pod[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsPod[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

Pod[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<Pod>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPod
patchPatch
+

Returns#

+

Promise<Pod>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): Pod[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPod[]
+

Returns#

+

Pod[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | Pod[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | Pod[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPod
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPod
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPod[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPod
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): Pod[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsPod[]the items to be sorted (default: the current items in this store)
sorting(item: Pod) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

Pod[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPod
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsPod[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPod
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<Pod>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPod
dataPartial<Pod>
+

Returns#

+

Promise<Pod>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<Pod>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPod
request() => Promise<Pod>
+

Returns#

+

Promise<Pod>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.ReplicaSet/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ReplicaSet/index.html new file mode 100644 index 0000000000..81907d77d9 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ReplicaSet/index.html @@ -0,0 +1,2020 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ReplicaSet - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: ReplicaSet#

+

Renderer.K8sApi.ReplicaSet

+

Hierarchy#

+
    +
  • WorkloadKubeObject
  • +
+

ReplicaSet

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ReplicaSet(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Overrides#

+

WorkloadKubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

WorkloadKubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

WorkloadKubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

WorkloadKubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

WorkloadKubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
minReadySeconds?number
replicas?number
selectorLabelSelector
template?Object
template.metadataObject
template.metadata.labelsObject
template.metadata.labels.appstring
template.spec?Object
template.spec.activeDeadlineSeconds?number
template.spec.affinity?IAffinity
template.spec.automountServiceAccountToken?boolean
template.spec.containersIPodContainer[]
template.spec.dnsPolicy?string
template.spec.hostAliases?Object
template.spec.hostAliases.hostnamesstring[]
template.spec.hostAliases.ipstring
template.spec.hostIPC?boolean
template.spec.hostNetwork?boolean
template.spec.hostPID?boolean
template.spec.hostname?string
template.spec.imagePullSecrets?{ name: string }[]
template.spec.initContainersIPodContainer[]
template.spec.nodeName?string
template.spec.nodeSelector?Object
template.spec.priority?number
template.spec.priorityClassName?string
template.spec.restartPolicy?string
template.spec.schedulerName?string
template.spec.securityContext?Object
template.spec.serviceAccountstring
template.spec.serviceAccountNamestring
template.spec.shareProcessNamespace?boolean
template.spec.subdomain?string
template.spec.terminationGracePeriodSeconds?number
template.spec.tolerations?{ effect?: string ; key?: string ; operator?: string ; tolerationSeconds?: number ; value?: string }[]
template.spec.volumes?{ configMap: { name: string } ; emptyDir: { medium?: string ; sizeLimit?: string } ; name: string ; persistentVolumeClaim: { claimName: string } ; secret: { defaultMode: number ; secretName: string } }[]
+

Overrides#

+

WorkloadKubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
availableReplicas?number
conditions?{ lastTransitionTime: string ; lastUpdateTime: string ; message: string ; reason: string ; status: string ; type: string }[]
fullyLabeledReplicas?number
observedGeneration?number
readyReplicas?number
replicasnumber
+

Overrides#

+

WorkloadKubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/apps/v1/replicasets"

+

Overrides#

+

WorkloadKubeObject.apiBase

+
+

kind#

+

Static kind: string = "ReplicaSet"

+

Overrides#

+

WorkloadKubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Overrides#

+

WorkloadKubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.selfLink

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.delete

+
+

getAffinity#

+

getAffinity(): IAffinity

+

Returns#

+

IAffinity

+

Inherited from#

+

WorkloadKubeObject.getAffinity

+
+

getAffinityNumber#

+

getAffinityNumber(): number

+

Returns#

+

number

+

Inherited from#

+

WorkloadKubeObject.getAffinityNumber

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

WorkloadKubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getAnnotations

+
+

getCurrent#

+

getCurrent(): number

+

Returns#

+

number

+
+

getDesired#

+

getDesired(): number

+

Returns#

+

number

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getId

+
+

getImages#

+

getImages(): string[]

+

Returns#

+

string[]

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getName

+
+

getNodeSelectors#

+

getNodeSelectors(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getNodeSelectors

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

WorkloadKubeObject.getOwnerRefs

+
+

getReady#

+

getReady(): number

+

Returns#

+

number

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getSearchFields

+
+

getSelectors#

+

getSelectors(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getSelectors

+
+

getTemplateLabels#

+

getTemplateLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getTemplateLabels

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

WorkloadKubeObject.getTimeDiffFromNow

+
+

getTolerations#

+

getTolerations(): IToleration[]

+

Returns#

+

IToleration[]

+

Inherited from#

+

WorkloadKubeObject.getTolerations

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

WorkloadKubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<ReplicaSet>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

WorkloadKubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

WorkloadKubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

WorkloadKubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

WorkloadKubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

WorkloadKubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

WorkloadKubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

WorkloadKubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.ReplicaSetStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ReplicaSetStore/index.html new file mode 100644 index 0000000000..52efaff19d --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ReplicaSetStore/index.html @@ -0,0 +1,2503 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ReplicaSetStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: ReplicaSetStore#

+

Renderer.K8sApi.ReplicaSetStore

+

Hierarchy#

+ +

ReplicaSetStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ReplicaSetStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: ReplicaSetApi = replicaSetApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<ReplicaSet>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<ReplicaSet, void, undefined>

+

Returns#

+

Generator<ReplicaSet, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<ReplicaSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<ReplicaSet>
+

Returns#

+

Promise<ReplicaSet>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<ReplicaSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<ReplicaSet>
+

Returns#

+

Promise<ReplicaSet>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): ReplicaSet[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsReplicaSet[]
+

Returns#

+

ReplicaSet[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): ReplicaSet[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

ReplicaSet[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): ReplicaSet

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

ReplicaSet

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): ReplicaSet[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

ReplicaSet[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): ReplicaSet

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

ReplicaSet

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): ReplicaSet

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

ReplicaSet

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getChildPods#

+

getChildPods(replicaSet): Pod[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
replicaSetReplicaSet
+

Returns#

+

Pod[]

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): ReplicaSet[]

+

Returns#

+

ReplicaSet[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getReplicaSetsByOwner#

+

getReplicaSetsByOwner(deployment): ReplicaSet[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
deploymentDeployment
+

Returns#

+

ReplicaSet[]

+
+

getStatuses#

+

getStatuses(replicaSets): Object

+

Parameters#

+ + + + + + + + + + + + + +
NameType
replicaSetsReplicaSet[]
+

Returns#

+

Object

+ + + + + + + + + + + + + + + + + + + + + +
NameType
failednumber
pendingnumber
runningnumber
+

Overrides#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemReplicaSet
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsReplicaSet[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<ReplicaSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<ReplicaSet>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | ReplicaSet[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | ReplicaSet[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<ReplicaSet>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<ReplicaSet>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<ReplicaSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<ReplicaSet>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<ReplicaSet[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<ReplicaSet[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): ReplicaSet[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsReplicaSet[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

ReplicaSet[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<ReplicaSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemReplicaSet
patchPatch
+

Returns#

+

Promise<ReplicaSet>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): ReplicaSet[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsReplicaSet[]
+

Returns#

+

ReplicaSet[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | ReplicaSet[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | ReplicaSet[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemReplicaSet
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemReplicaSet
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsReplicaSet[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemReplicaSet
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): ReplicaSet[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsReplicaSet[]the items to be sorted (default: the current items in this store)
sorting(item: ReplicaSet) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

ReplicaSet[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemReplicaSet
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsReplicaSet[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemReplicaSet
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<ReplicaSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemReplicaSet
dataPartial<ReplicaSet>
+

Returns#

+

Promise<ReplicaSet>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<ReplicaSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemReplicaSet
request() => Promise<ReplicaSet>
+

Returns#

+

Promise<ReplicaSet>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceQuota/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceQuota/index.html new file mode 100644 index 0000000000..3737391f2d --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceQuota/index.html @@ -0,0 +1,1741 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ResourceQuota - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: ResourceQuota#

+

Renderer.K8sApi.ResourceQuota

+

Hierarchy#

+ +

ResourceQuota

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ResourceQuota(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
hardIResourceQuotaValues
scopeSelector?Object
scopeSelector.matchExpressions{ operator: string ; scopeName: string ; values: string[] }[]
+

Inherited from#

+

KubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + +
NameType
hardIResourceQuotaValues
usedIResourceQuotaValues
+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/api/v1/resourcequotas"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "ResourceQuota"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getScopeSelector#

+

getScopeSelector(): { operator: string ; scopeName: string ; values: string[] }[]

+

Returns#

+

{ operator: string ; scopeName: string ; values: string[] }[]

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<ResourceQuota>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceQuotasStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceQuotasStore/index.html new file mode 100644 index 0000000000..d0ab6fc155 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceQuotasStore/index.html @@ -0,0 +1,2440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ResourceQuotasStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: ResourceQuotasStore#

+

Renderer.K8sApi.ResourceQuotasStore

+

Hierarchy#

+ +

ResourceQuotasStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ResourceQuotasStore(api?)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<ResourceQuota>
+

Inherited from#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<ResourceQuota> = resourceQuotaApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<ResourceQuota>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<ResourceQuota, void, undefined>

+

Returns#

+

Generator<ResourceQuota, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<ResourceQuota>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<ResourceQuota>
+

Returns#

+

Promise<ResourceQuota>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<ResourceQuota>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<ResourceQuota>
+

Returns#

+

Promise<ResourceQuota>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): ResourceQuota[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsResourceQuota[]
+

Returns#

+

ResourceQuota[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): ResourceQuota[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

ResourceQuota[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): ResourceQuota

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

ResourceQuota

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): ResourceQuota[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

ResourceQuota[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): ResourceQuota

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

ResourceQuota

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): ResourceQuota

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

ResourceQuota

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): ResourceQuota[]

+

Returns#

+

ResourceQuota[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsResourceQuota[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemResourceQuota
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsResourceQuota[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<ResourceQuota>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<ResourceQuota>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | ResourceQuota[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | ResourceQuota[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<ResourceQuota>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<ResourceQuota>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<ResourceQuota>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<ResourceQuota>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<ResourceQuota[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<ResourceQuota[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): ResourceQuota[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsResourceQuota[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

ResourceQuota[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<ResourceQuota>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemResourceQuota
patchPatch
+

Returns#

+

Promise<ResourceQuota>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): ResourceQuota[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsResourceQuota[]
+

Returns#

+

ResourceQuota[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | ResourceQuota[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | ResourceQuota[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemResourceQuota
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemResourceQuota
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsResourceQuota[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemResourceQuota
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): ResourceQuota[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsResourceQuota[]the items to be sorted (default: the current items in this store)
sorting(item: ResourceQuota) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

ResourceQuota[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemResourceQuota
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsResourceQuota[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemResourceQuota
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<ResourceQuota>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemResourceQuota
dataPartial<ResourceQuota>
+

Returns#

+

Promise<ResourceQuota>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<ResourceQuota>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemResourceQuota
request() => Promise<ResourceQuota>
+

Returns#

+

Promise<ResourceQuota>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceStack/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceStack/index.html new file mode 100644 index 0000000000..28ea083e25 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ResourceStack/index.html @@ -0,0 +1,1141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ResourceStack - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: ResourceStack#

+

Renderer.K8sApi.ResourceStack

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ResourceStack(cluster, name)

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
clusterKubernetesCluster<KubernetesClusterMetadata, KubernetesClusterStatus, KubernetesClusterSpec>
namestring
+

Properties#

+

cluster#

+

Protected cluster: KubernetesCluster<KubernetesClusterMetadata, KubernetesClusterStatus, KubernetesClusterSpec>

+
+

name#

+

Protected name: string

+

Methods#

+

appendKubectlArgs#

+

Protected appendKubectlArgs(kubectlArgs): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
kubectlArgsstring[]
+

Returns#

+

string[]

+
+

applyResources#

+

Protected applyResources(resources, extraArgs?): Promise<string>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
resourcesstring[]
extraArgs?string[]
+

Returns#

+

Promise<string>

+
+

deleteResources#

+

Protected deleteResources(resources, extraArgs?): Promise<string>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
resourcesstring[]
extraArgs?string[]
+

Returns#

+

Promise<string>

+
+

kubectlApplyFolder#

+

kubectlApplyFolder(folderPath, templateContext?, extraArgs?): Promise<string>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
folderPathstringfolder path that is searched for files defining kubernetes resources.
templateContext?anysets the template parameters that are to be applied to any templated kubernetes resources that are to be applied.
extraArgs?string[]-
+

Returns#

+

Promise<string>

+
+

kubectlDeleteFolder#

+

kubectlDeleteFolder(folderPath, templateContext?, extraArgs?): Promise<string>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
folderPathstringfolder path that is searched for files defining kubernetes resources.
templateContext?anysets the template parameters that are to be applied to any templated kubernetes resources that are to be applied.
extraArgs?string[]-
+

Returns#

+

Promise<string>

+
+

renderTemplates#

+

Protected renderTemplates(folderPath, templateContext): Promise<string[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
folderPathstring
templateContextany
+

Returns#

+

Promise<string[]>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.Role/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Role/index.html new file mode 100644 index 0000000000..67361a93c7 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Role/index.html @@ -0,0 +1,1710 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Role - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Role#

+

Renderer.K8sApi.Role

+

Hierarchy#

+ +

Role

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Role(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

rules#

+

rules: { apiGroups: string[] ; resourceNames?: string[] ; resources: string[] ; verbs: string[] }[]

+
+

spec#

+

Optional spec: any

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: any

+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/rbac.authorization.k8s.io/v1/roles"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "Role"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getRules#

+

getRules(): { apiGroups: string[] ; resourceNames?: string[] ; resources: string[] ; verbs: string[] }[]

+

Returns#

+

{ apiGroups: string[] ; resourceNames?: string[] ; resources: string[] ; verbs: string[] }[]

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<Role>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.RoleBinding/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.RoleBinding/index.html new file mode 100644 index 0000000000..3baca1f376 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.RoleBinding/index.html @@ -0,0 +1,1757 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: RoleBinding - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: RoleBinding#

+

Renderer.K8sApi.RoleBinding

+

Hierarchy#

+ +

RoleBinding

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new RoleBinding(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

roleRef#

+

roleRef: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
apiGroup?string
kindstring
namestring
+
+

spec#

+

Optional spec: any

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: any

+

Inherited from#

+

KubeObject.status

+
+

subjects#

+

Optional subjects: RoleBindingSubject[]

+
+

apiBase#

+

Static apiBase: string = "/apis/rbac.authorization.k8s.io/v1/rolebindings"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "RoleBinding"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getSubjectNames#

+

getSubjectNames(): string

+

Returns#

+

string

+
+

getSubjects#

+

getSubjects(): RoleBindingSubject[]

+

Returns#

+

RoleBindingSubject[]

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<RoleBinding>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.RoleBindingsStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.RoleBindingsStore/index.html new file mode 100644 index 0000000000..c8cc4d6e31 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.RoleBindingsStore/index.html @@ -0,0 +1,2492 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: RoleBindingsStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: RoleBindingsStore#

+

Renderer.K8sApi.RoleBindingsStore

+

Hierarchy#

+ +

RoleBindingsStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new RoleBindingsStore(api?)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<RoleBinding>
+

Inherited from#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<RoleBinding> = roleBindingApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<RoleBinding>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<RoleBinding, void, undefined>

+

Returns#

+

Generator<RoleBinding, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<RoleBinding>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<RoleBinding>
+

Returns#

+

Promise<RoleBinding>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<RoleBinding>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespacestring
data?Partial<RoleBinding>
+

Returns#

+

Promise<RoleBinding>

+

Overrides#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): RoleBinding[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsRoleBinding[]
+

Returns#

+

RoleBinding[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): RoleBinding[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

RoleBinding[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): RoleBinding

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

RoleBinding

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): RoleBinding[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

RoleBinding[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): RoleBinding

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

RoleBinding

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): RoleBinding

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

RoleBinding

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): RoleBinding[]

+

Returns#

+

RoleBinding[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsRoleBinding[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemRoleBinding
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsRoleBinding[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<RoleBinding>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<RoleBinding>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | RoleBinding[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | RoleBinding[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<RoleBinding>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<RoleBinding>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<RoleBinding>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<RoleBinding>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<RoleBinding[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<RoleBinding[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): RoleBinding[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsRoleBinding[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

RoleBinding[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<RoleBinding>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemRoleBinding
patchPatch
+

Returns#

+

Promise<RoleBinding>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): RoleBinding[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsRoleBinding[]
+

Returns#

+

RoleBinding[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | RoleBinding[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | RoleBinding[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemRoleBinding
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemRoleBinding
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsRoleBinding[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

removeSubjects#

+

removeSubjects(roleBinding, subjectsToRemove): Promise<RoleBinding>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
roleBindingRoleBinding
subjectsToRemoveIterable<RoleBindingSubject>
+

Returns#

+

Promise<RoleBinding>

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemRoleBinding
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items): RoleBinding[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsRoleBinding[]
+

Returns#

+

RoleBinding[]

+

Overrides#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemRoleBinding
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsRoleBinding[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemRoleBinding
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<RoleBinding>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemRoleBinding
dataPartial<RoleBinding>
+

Returns#

+

Promise<RoleBinding>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<RoleBinding>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemRoleBinding
request() => Promise<RoleBinding>
+

Returns#

+

Promise<RoleBinding>

+

Inherited from#

+

KubeObjectStore.updateItem

+
+

updateSubjects#

+

updateSubjects(roleBinding, subjects): Promise<RoleBinding>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
roleBindingRoleBinding
subjectsRoleBindingSubject[]
+

Returns#

+

Promise<RoleBinding>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.RolesStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.RolesStore/index.html new file mode 100644 index 0000000000..52dfadb916 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.RolesStore/index.html @@ -0,0 +1,2413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: RolesStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: RolesStore#

+

Renderer.K8sApi.RolesStore

+

Hierarchy#

+ +

RolesStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new RolesStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<Role> = roleApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<Role>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<Role, void, undefined>

+

Returns#

+

Generator<Role, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<Role>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Role>
+

Returns#

+

Promise<Role>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<Role>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Role>
+

Returns#

+

Promise<Role>

+

Overrides#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): Role[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsRole[]
+

Returns#

+

Role[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): Role[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

Role[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): Role

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

Role

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): Role[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

Role[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): Role

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

Role

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): Role

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

Role

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): Role[]

+

Returns#

+

Role[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsRole[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemRole
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsRole[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<Role>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Role>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | Role[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | Role[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<Role>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<Role>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<Role>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Role>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<Role[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<Role[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): Role[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsRole[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

Role[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<Role>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemRole
patchPatch
+

Returns#

+

Promise<Role>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): Role[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsRole[]
+

Returns#

+

Role[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | Role[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | Role[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemRole
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemRole
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsRole[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemRole
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items): Role[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsRole[]
+

Returns#

+

Role[]

+

Overrides#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemRole
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsRole[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemRole
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<Role>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemRole
dataPartial<Role>
+

Returns#

+

Promise<Role>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<Role>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemRole
request() => Promise<Role>
+

Returns#

+

Promise<Role>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.Secret/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Secret/index.html new file mode 100644 index 0000000000..e89aa86694 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Secret/index.html @@ -0,0 +1,1736 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Secret - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Secret#

+

Renderer.K8sApi.Secret

+

Hierarchy#

+ +

Secret

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Secret(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataSecretData
+

Overrides#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

data#

+

data: Record<string, string>

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

Optional spec: any

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: any

+

Inherited from#

+

KubeObject.status

+
+

type#

+

type: SecretType

+
+

apiBase#

+

Static apiBase: string = "/api/v1/secrets"

+

Overrides#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "Secret"

+

Overrides#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Overrides#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.selfLink

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getKeys#

+

getKeys(): string[]

+

Returns#

+

string[]

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

getToken#

+

getToken(): string

+

Returns#

+

string

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<Secret>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.SecretsStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.SecretsStore/index.html new file mode 100644 index 0000000000..1677baacb3 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.SecretsStore/index.html @@ -0,0 +1,2440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: SecretsStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: SecretsStore#

+

Renderer.K8sApi.SecretsStore

+

Hierarchy#

+ +

SecretsStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new SecretsStore(api?)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<Secret>
+

Inherited from#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<Secret> = secretsApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<Secret>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<Secret, void, undefined>

+

Returns#

+

Generator<Secret, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<Secret>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Secret>
+

Returns#

+

Promise<Secret>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<Secret>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Secret>
+

Returns#

+

Promise<Secret>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): Secret[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsSecret[]
+

Returns#

+

Secret[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): Secret[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

Secret[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): Secret

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

Secret

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): Secret[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

Secret[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): Secret

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

Secret

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): Secret

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

Secret

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): Secret[]

+

Returns#

+

Secret[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsSecret[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemSecret
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsSecret[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<Secret>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Secret>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | Secret[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | Secret[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<Secret>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<Secret>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<Secret>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Secret>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<Secret[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<Secret[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): Secret[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsSecret[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

Secret[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<Secret>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemSecret
patchPatch
+

Returns#

+

Promise<Secret>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): Secret[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsSecret[]
+

Returns#

+

Secret[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | Secret[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | Secret[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemSecret
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemSecret
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsSecret[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemSecret
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): Secret[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsSecret[]the items to be sorted (default: the current items in this store)
sorting(item: Secret) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

Secret[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemSecret
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsSecret[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemSecret
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<Secret>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemSecret
dataPartial<Secret>
+

Returns#

+

Promise<Secret>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<Secret>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemSecret
request() => Promise<Secret>
+

Returns#

+

Promise<Secret>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.Service/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Service/index.html new file mode 100644 index 0000000000..45305e4e4c --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.Service/index.html @@ -0,0 +1,1945 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: Service - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: Service#

+

Renderer.K8sApi.Service

+

Hierarchy#

+ +

Service

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new Service(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
allocateLoadBalancerNodePorts?boolean
clusterIPstring
clusterIPs?string[]
externalIPs?string[]
externalName?string
externalTrafficPolicy?string
healthCheckNodePort?number
internalTrafficPolicy?string
ipFamilies?string[]
ipFamilyPolicy?string
loadBalancerClass?string
loadBalancerIP?string
loadBalancerSourceRanges?string[]
portsServicePort[]
selectorObject
sessionAffinitystring
topologyKeys?string[]
typestring
+

Inherited from#

+

KubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + +
NameType
loadBalancer?Object
loadBalancer.ingress?{ hostname?: string ; ip?: string }[]
+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/api/v1/services"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "Service"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getClusterIp#

+

getClusterIp(): string

+

Returns#

+

string

+
+

getClusterIps#

+

getClusterIps(): string[]

+

Returns#

+

string[]

+
+

getExternalIps#

+

getExternalIps(): string[]

+

Returns#

+

string[]

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getIpFamilies#

+

getIpFamilies(): string[]

+

Returns#

+

string[]

+
+

getIpFamilyPolicy#

+

getIpFamilyPolicy(): string

+

Returns#

+

string

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getLoadBalancer#

+

getLoadBalancer(): Object

+

Returns#

+

Object

+ + + + + + + + + + + + + +
NameType
ingress?{ hostname?: string ; ip?: string }[]
+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getPorts#

+

getPorts(): ServicePort[]

+

Returns#

+

ServicePort[]

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getSelector#

+

getSelector(): string[]

+

Returns#

+

string[]

+
+

getStatus#

+

getStatus(): "Active" | "Pending"

+

Returns#

+

"Active" | "Pending"

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

getType#

+

getType(): string

+

Returns#

+

string

+
+

isActive#

+

isActive(): boolean

+

Returns#

+

boolean

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<Service>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceAccount/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceAccount/index.html new file mode 100644 index 0000000000..cd99e23b7e --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceAccount/index.html @@ -0,0 +1,1734 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ServiceAccount - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+ +
+
+ + +
+
+ + + + +

Class: ServiceAccount#

+

Renderer.K8sApi.ServiceAccount

+

Hierarchy#

+ +

ServiceAccount

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ServiceAccount(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

imagePullSecrets#

+

Optional imagePullSecrets: { name: string }[]

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

secrets#

+

Optional secrets: { name: string }[]

+
+

spec#

+

Optional spec: any

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: any

+

Inherited from#

+

KubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/api/v1/serviceaccounts"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "ServiceAccount"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getImagePullSecrets#

+

getImagePullSecrets(): { name: string }[]

+

Returns#

+

{ name: string }[]

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getSecrets#

+

getSecrets(): { name: string }[]

+

Returns#

+

{ name: string }[]

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<ServiceAccount>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceAccountsStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceAccountsStore/index.html new file mode 100644 index 0000000000..3dcf742d4b --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceAccountsStore/index.html @@ -0,0 +1,2421 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ServiceAccountsStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: ServiceAccountsStore#

+

Renderer.K8sApi.ServiceAccountsStore

+

Hierarchy#

+ +

ServiceAccountsStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ServiceAccountsStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<ServiceAccount> = serviceAccountsApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<ServiceAccount>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<ServiceAccount, void, undefined>

+

Returns#

+

Generator<ServiceAccount, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<ServiceAccount>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<ServiceAccount>
+

Returns#

+

Promise<ServiceAccount>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params): Promise<ServiceAccount>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<ServiceAccount>

+

Overrides#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): ServiceAccount[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsServiceAccount[]
+

Returns#

+

ServiceAccount[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): ServiceAccount[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

ServiceAccount[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): ServiceAccount

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

ServiceAccount

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): ServiceAccount[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

ServiceAccount[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): ServiceAccount

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

ServiceAccount

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): ServiceAccount

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

ServiceAccount

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): ServiceAccount[]

+

Returns#

+

ServiceAccount[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsServiceAccount[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemServiceAccount
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsServiceAccount[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<ServiceAccount>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<ServiceAccount>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | ServiceAccount[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | ServiceAccount[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<ServiceAccount>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<ServiceAccount>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<ServiceAccount>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<ServiceAccount>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<ServiceAccount[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<ServiceAccount[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): ServiceAccount[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsServiceAccount[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

ServiceAccount[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<ServiceAccount>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemServiceAccount
patchPatch
+

Returns#

+

Promise<ServiceAccount>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): ServiceAccount[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsServiceAccount[]
+

Returns#

+

ServiceAccount[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | ServiceAccount[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | ServiceAccount[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemServiceAccount
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemServiceAccount
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsServiceAccount[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemServiceAccount
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): ServiceAccount[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsServiceAccount[]the items to be sorted (default: the current items in this store)
sorting(item: ServiceAccount) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

ServiceAccount[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemServiceAccount
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsServiceAccount[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemServiceAccount
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<ServiceAccount>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemServiceAccount
dataPartial<ServiceAccount>
+

Returns#

+

Promise<ServiceAccount>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<ServiceAccount>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemServiceAccount
request() => Promise<ServiceAccount>
+

Returns#

+

Promise<ServiceAccount>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceStore/index.html new file mode 100644 index 0000000000..1c472c1f52 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.ServiceStore/index.html @@ -0,0 +1,2440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: ServiceStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: ServiceStore#

+

Renderer.K8sApi.ServiceStore

+

Hierarchy#

+ +

ServiceStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new ServiceStore(api?)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<Service>
+

Inherited from#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<Service> = serviceApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<Service>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<Service, void, undefined>

+

Returns#

+

Generator<Service, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<Service>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Service>
+

Returns#

+

Promise<Service>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<Service>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<Service>
+

Returns#

+

Promise<Service>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): Service[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsService[]
+

Returns#

+

Service[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): Service[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

Service[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): Service

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

Service

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): Service[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

Service[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): Service

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

Service

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): Service

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

Service

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): Service[]

+

Returns#

+

Service[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsService[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemService
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsService[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<Service>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Service>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | Service[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | Service[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<Service>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<Service>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<Service>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<Service>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<Service[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<Service[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): Service[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsService[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

Service[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<Service>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemService
patchPatch
+

Returns#

+

Promise<Service>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): Service[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsService[]
+

Returns#

+

Service[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | Service[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | Service[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemService
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemService
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsService[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemService
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): Service[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsService[]the items to be sorted (default: the current items in this store)
sorting(item: Service) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

Service[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemService
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsService[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemService
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<Service>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemService
dataPartial<Service>
+

Returns#

+

Promise<Service>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<Service>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemService
request() => Promise<Service>
+

Returns#

+

Promise<Service>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.StatefulSet/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.StatefulSet/index.html new file mode 100644 index 0000000000..ddf650b663 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.StatefulSet/index.html @@ -0,0 +1,1906 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: StatefulSet - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: StatefulSet#

+

Renderer.K8sApi.StatefulSet

+

Hierarchy#

+
    +
  • WorkloadKubeObject
  • +
+

StatefulSet

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new StatefulSet(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Overrides#

+

WorkloadKubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

WorkloadKubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

WorkloadKubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

WorkloadKubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

WorkloadKubeObject.metadata

+
+

spec#

+

spec: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
replicasnumber
selectorLabelSelector
serviceNamestring
templateObject
template.metadataObject
template.metadata.labelsObject
template.metadata.labels.appstring
template.specObject
template.spec.affinity?IAffinity
template.spec.containers{ image: string ; name: string ; ports: { containerPort: number ; name: string }[] ; volumeMounts: { mountPath: string ; name: string }[] }[]
template.spec.nodeSelector?Object
template.spec.tolerations{ effect: string ; key: string ; operator: string ; tolerationSeconds: number }[]
volumeClaimTemplates{ metadata: { name: string } ; spec: { accessModes: string[] ; resources: { requests: { storage: string } } } }[]
+

Overrides#

+

WorkloadKubeObject.spec

+
+

status#

+

status: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
collisionCountnumber
currentReplicasnumber
currentRevisionstring
observedGenerationnumber
readyReplicasnumber
replicasnumber
updateRevisionstring
+

Overrides#

+

WorkloadKubeObject.status

+
+

apiBase#

+

Static apiBase: string = "/apis/apps/v1/statefulsets"

+

Overrides#

+

WorkloadKubeObject.apiBase

+
+

kind#

+

Static kind: string = "StatefulSet"

+

Overrides#

+

WorkloadKubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = true

+

Overrides#

+

WorkloadKubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.selfLink

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.delete

+
+

getAffinity#

+

getAffinity(): IAffinity

+

Returns#

+

IAffinity

+

Inherited from#

+

WorkloadKubeObject.getAffinity

+
+

getAffinityNumber#

+

getAffinityNumber(): number

+

Returns#

+

number

+

Inherited from#

+

WorkloadKubeObject.getAffinityNumber

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

WorkloadKubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getId

+
+

getImages#

+

getImages(): string[]

+

Returns#

+

string[]

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getName

+
+

getNodeSelectors#

+

getNodeSelectors(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getNodeSelectors

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

WorkloadKubeObject.getOwnerRefs

+
+

getReplicas#

+

getReplicas(): number

+

Returns#

+

number

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

WorkloadKubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getSearchFields

+
+

getSelectors#

+

getSelectors(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getSelectors

+
+

getTemplateLabels#

+

getTemplateLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.getTemplateLabels

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

WorkloadKubeObject.getTimeDiffFromNow

+
+

getTolerations#

+

getTolerations(): IToleration[]

+

Returns#

+

IToleration[]

+

Inherited from#

+

WorkloadKubeObject.getTolerations

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

WorkloadKubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<StatefulSet>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

WorkloadKubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

WorkloadKubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

WorkloadKubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

WorkloadKubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

WorkloadKubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

WorkloadKubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

WorkloadKubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

WorkloadKubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

WorkloadKubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.StatefulSetStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.StatefulSetStore/index.html new file mode 100644 index 0000000000..a282ed0d9b --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.StatefulSetStore/index.html @@ -0,0 +1,2475 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: StatefulSetStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: StatefulSetStore#

+

Renderer.K8sApi.StatefulSetStore

+

Hierarchy#

+ +

StatefulSetStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new StatefulSetStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: StatefulSetApi = statefulSetApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<StatefulSet>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<StatefulSet, void, undefined>

+

Returns#

+

Generator<StatefulSet, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<StatefulSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<StatefulSet>
+

Returns#

+

Promise<StatefulSet>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<StatefulSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<StatefulSet>
+

Returns#

+

Promise<StatefulSet>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): StatefulSet[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsStatefulSet[]
+

Returns#

+

StatefulSet[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): StatefulSet[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

StatefulSet[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): StatefulSet

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

StatefulSet

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): StatefulSet[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

StatefulSet[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): StatefulSet

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

StatefulSet

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): StatefulSet

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

StatefulSet

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getChildPods#

+

getChildPods(statefulSet): Pod[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
statefulSetStatefulSet
+

Returns#

+

Pod[]

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): StatefulSet[]

+

Returns#

+

StatefulSet[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

getStatuses(statefulSets): Object

+

Parameters#

+ + + + + + + + + + + + + +
NameType
statefulSetsStatefulSet[]
+

Returns#

+

Object

+ + + + + + + + + + + + + + + + + + + + + +
NameType
failednumber
pendingnumber
runningnumber
+

Overrides#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemStatefulSet
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsStatefulSet[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<StatefulSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<StatefulSet>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | StatefulSet[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | StatefulSet[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<StatefulSet>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<StatefulSet>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<StatefulSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<StatefulSet>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<StatefulSet[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<StatefulSet[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): StatefulSet[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsStatefulSet[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

StatefulSet[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<StatefulSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemStatefulSet
patchPatch
+

Returns#

+

Promise<StatefulSet>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): StatefulSet[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsStatefulSet[]
+

Returns#

+

StatefulSet[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | StatefulSet[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | StatefulSet[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemStatefulSet
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemStatefulSet
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsStatefulSet[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemStatefulSet
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): StatefulSet[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsStatefulSet[]the items to be sorted (default: the current items in this store)
sorting(item: StatefulSet) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

StatefulSet[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemStatefulSet
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsStatefulSet[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemStatefulSet
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<StatefulSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemStatefulSet
dataPartial<StatefulSet>
+

Returns#

+

Promise<StatefulSet>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<StatefulSet>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemStatefulSet
request() => Promise<StatefulSet>
+

Returns#

+

Promise<StatefulSet>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.StorageClass/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.StorageClass/index.html new file mode 100644 index 0000000000..25dab3fdc4 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.StorageClass/index.html @@ -0,0 +1,1782 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: StorageClass - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: StorageClass#

+

Renderer.K8sApi.StorageClass

+

Hierarchy#

+ +

StorageClass

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new StorageClass(data)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Inherited from#

+

KubeObject.constructor

+

Properties#

+

apiVersion#

+

apiVersion: string

+

Inherited from#

+

KubeObject.apiVersion

+
+

kind#

+

kind: string

+

Inherited from#

+

KubeObject.kind

+
+

managedFields#

+

Optional managedFields: any

+

Inherited from#

+

KubeObject.managedFields

+
+

metadata#

+

metadata: KubeObjectMetadata

+

Inherited from#

+

KubeObject.metadata

+
+

mountOptions#

+

Optional mountOptions: string[]

+
+

parameters#

+

parameters: Object

+

Index signature#

+

▪ [param: string]: string

+
+

provisioner#

+

provisioner: string

+
+

reclaimPolicy#

+

reclaimPolicy: string

+
+

spec#

+

Optional spec: any

+

Inherited from#

+

KubeObject.spec

+
+

status#

+

Optional status: any

+

Inherited from#

+

KubeObject.status

+
+

volumeBindingMode#

+

volumeBindingMode: string

+
+

apiBase#

+

Static apiBase: string = "/apis/storage.k8s.io/v1/storageclasses"

+

Inherited from#

+

KubeObject.apiBase

+
+

kind#

+

Static kind: string = "StorageClass"

+

Inherited from#

+

KubeObject.kind

+
+

namespaced#

+

Static namespaced: boolean = false

+

Inherited from#

+

KubeObject.namespaced

+

Accessors#

+ +

get selfLink(): string

+

Returns#

+

string

+

Methods#

+

delete#

+

delete(params?): Promise<KubeJsonApiData>

+

deprecated use KubeApi.delete instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
params?JsonApiParams<any>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.delete

+
+

getAge#

+

getAge(humanize?, compact?, fromNow?): string | number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
humanizebooleantrue
compactbooleantrue
fromNowbooleanfalse
+

Returns#

+

string | number

+

Inherited from#

+

KubeObject.getAge

+
+

getAnnotations#

+

getAnnotations(filter?): string[]

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
filterbooleanfalse
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getAnnotations

+
+

getFinalizers#

+

getFinalizers(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getFinalizers

+
+

getId#

+

getId(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getId

+
+

getLabels#

+

getLabels(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getLabels

+
+

getName#

+

getName(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getName

+
+

getNs#

+

getNs(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getNs

+
+

getOwnerRefs#

+

getOwnerRefs(): { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Returns#

+

{ apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; namespace: string ; uid: string }[]

+

Inherited from#

+

KubeObject.getOwnerRefs

+
+

getReclaimPolicy#

+

getReclaimPolicy(): string

+

Returns#

+

string

+
+

getResourceVersion#

+

getResourceVersion(): string

+

Returns#

+

string

+

Inherited from#

+

KubeObject.getResourceVersion

+
+

getSearchFields#

+

getSearchFields(): string[]

+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.getSearchFields

+
+

getTimeDiffFromNow#

+

getTimeDiffFromNow(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObject.getTimeDiffFromNow

+
+

getVolumeBindingMode#

+

getVolumeBindingMode(): string

+

Returns#

+

string

+
+

isDefault#

+

isDefault(): boolean

+

Returns#

+

boolean

+
+

patch#

+

patch(patch): Promise<KubeJsonApiData>

+

deprecated use KubeApi.patch instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
patchPatch
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.patch

+
+

toPlainObject#

+

toPlainObject(): object

+

Returns#

+

object

+

Inherited from#

+

KubeObject.toPlainObject

+
+

update#

+

update(data): Promise<KubeJsonApiData>

+

Perform a full update (or more specifically a replace)

+

Note: this is brittle if data is not actually partial (but instead whole). +As fields such as resourceVersion will probably out of date. This is a +common race condition.

+

deprecated use KubeApi.update instead

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataPartial<StorageClass>
+

Returns#

+

Promise<KubeJsonApiData>

+

Inherited from#

+

KubeObject.update

+
+

create#

+

Static create(data): KubeObject<KubeObjectMetadata, any, any>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dataKubeJsonApiData
+

Returns#

+

KubeObject<KubeObjectMetadata, any, any>

+

Inherited from#

+

KubeObject.create

+
+

isJsonApiData#

+

Static isJsonApiData(object): object is KubeJsonApiData

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiData

+

Inherited from#

+

KubeObject.isJsonApiData

+
+

isJsonApiDataList#

+

Static isJsonApiDataList<T>(object, verifyItem): object is KubeJsonApiDataList<T>

+

Type parameters#

+ + + + + + + + + + + +
Name
T
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objectunknown
verifyItem(val: unknown) => val is T
+

Returns#

+

object is KubeJsonApiDataList<T>

+

Inherited from#

+

KubeObject.isJsonApiDataList

+
+

isKubeJsonApiListMetadata#

+

Static isKubeJsonApiListMetadata(object): object is KubeJsonApiListMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiListMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiListMetadata

+
+

isKubeJsonApiMetadata#

+

Static isKubeJsonApiMetadata(object): object is KubeJsonApiMetadata

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is KubeJsonApiMetadata

+

Inherited from#

+

KubeObject.isKubeJsonApiMetadata

+
+

isNonSystem#

+

Static isNonSystem(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemKubeObject<KubeObjectMetadata, any, any> | KubeJsonApiData
+

Returns#

+

boolean

+

Inherited from#

+

KubeObject.isNonSystem

+
+

isPartialJsonApiData#

+

Static isPartialJsonApiData(object): object is Partial<KubeJsonApiData>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiData>

+

Inherited from#

+

KubeObject.isPartialJsonApiData

+
+

isPartialJsonApiMetadata#

+

Static isPartialJsonApiMetadata(object): object is Partial<KubeJsonApiMetadata>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
objectunknown
+

Returns#

+

object is Partial<KubeJsonApiMetadata>

+

Inherited from#

+

KubeObject.isPartialJsonApiMetadata

+
+

stringifyLabels#

+

Static stringifyLabels(labels?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labels?Object
+

Returns#

+

string[]

+

Inherited from#

+

KubeObject.stringifyLabels

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.StorageClassStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.StorageClassStore/index.html new file mode 100644 index 0000000000..e94a0d2069 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.StorageClassStore/index.html @@ -0,0 +1,2453 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: StorageClassStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: StorageClassStore#

+

Renderer.K8sApi.StorageClassStore

+

Hierarchy#

+ +

StorageClassStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new StorageClassStore()

+

Overrides#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: KubeApi<StorageClass> = storageClassApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<StorageClass>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<StorageClass, void, undefined>

+

Returns#

+

Generator<StorageClass, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<StorageClass>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<StorageClass>
+

Returns#

+

Promise<StorageClass>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<StorageClass>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<StorageClass>
+

Returns#

+

Promise<StorageClass>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): StorageClass[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsStorageClass[]
+

Returns#

+

StorageClass[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): StorageClass[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

StorageClass[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): StorageClass

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

StorageClass

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): StorageClass[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

StorageClass[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): StorageClass

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

StorageClass

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): StorageClass

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

StorageClass

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): StorageClass[]

+

Returns#

+

StorageClass[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getPersistentVolumes#

+

getPersistentVolumes(storageClass): PersistentVolume[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
storageClassStorageClass
+

Returns#

+

PersistentVolume[]

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsStorageClass[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemStorageClass
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsStorageClass[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<StorageClass>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<StorageClass>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | StorageClass[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | StorageClass[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<StorageClass>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<StorageClass>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<StorageClass>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<StorageClass>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<StorageClass[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<StorageClass[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): StorageClass[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsStorageClass[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

StorageClass[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<StorageClass>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemStorageClass
patchPatch
+

Returns#

+

Promise<StorageClass>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): StorageClass[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsStorageClass[]
+

Returns#

+

StorageClass[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | StorageClass[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | StorageClass[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemStorageClass
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemStorageClass
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsStorageClass[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemStorageClass
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): StorageClass[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsStorageClass[]the items to be sorted (default: the current items in this store)
sorting(item: StorageClass) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

StorageClass[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemStorageClass
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsStorageClass[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemStorageClass
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<StorageClass>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemStorageClass
dataPartial<StorageClass>
+

Returns#

+

Promise<StorageClass>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<StorageClass>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemStorageClass
request() => Promise<StorageClass>
+

Returns#

+

Promise<StorageClass>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.K8sApi.VolumeClaimStore/index.html b/v5.4.0/extensions/api/classes/Renderer.K8sApi.VolumeClaimStore/index.html new file mode 100644 index 0000000000..b2cebd6719 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.K8sApi.VolumeClaimStore/index.html @@ -0,0 +1,2440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: VolumeClaimStore - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: VolumeClaimStore#

+

Renderer.K8sApi.VolumeClaimStore

+

Hierarchy#

+ +

VolumeClaimStore

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new VolumeClaimStore(api?)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
api?KubeApi<PersistentVolumeClaim>
+

Inherited from#

+

KubeObjectStore.constructor

+

Properties#

+

api#

+

api: PersistentVolumeClaimsApi = pvcApi

+

Overrides#

+

KubeObjectStore.api

+
+

bufferSize#

+

Readonly bufferSize: number = 50000

+

Inherited from#

+

KubeObjectStore.bufferSize

+
+

eventsBuffer#

+

Protected eventsBuffer: IObservableArray<IKubeWatchEvent<KubeJsonApiData>>

+

Inherited from#

+

KubeObjectStore.eventsBuffer

+
+

failedLoading#

+

failedLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.failedLoading

+
+

isLoaded#

+

isLoaded: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoaded

+
+

isLoading#

+

isLoading: boolean = false

+

Inherited from#

+

KubeObjectStore.isLoading

+
+

items#

+

items: IObservableArray<PersistentVolumeClaim>

+

Inherited from#

+

KubeObjectStore.items

+
+

limit#

+

Optional Readonly limit: number

+

Inherited from#

+

KubeObjectStore.limit

+
+

selectedItemsIds#

+

selectedItemsIds: ObservableSet<string>

+

Inherited from#

+

KubeObjectStore.selectedItemsIds

+
+

defaultContext#

+

Static defaultContext: IObservableValue<ClusterContext>

+

Inherited from#

+

KubeObjectStore.defaultContext

+

Accessors#

+

context#

+

get context(): ClusterContext

+

Returns#

+

ClusterContext

+

Inherited from#

+

KubeObjectStore.context

+
+

contextItems#

+

get contextItems(): T[]

+

Returns#

+

T[]

+

Inherited from#

+

KubeObjectStore.contextItems

+
+

contextReady#

+

get contextReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.contextReady

+
+

namespacesReady#

+

get namespacesReady(): Promise<void> & { cancel: () => void }

+

Returns#

+

Promise<void> & { cancel: () => void }

+

Inherited from#

+

KubeObjectStore.namespacesReady

+
+

query#

+

get query(): IKubeApiQueryParams

+

Returns#

+

IKubeApiQueryParams

+

Inherited from#

+

KubeObjectStore.query

+
+

selectedItems#

+

get selectedItems(): Item[]

+

Returns#

+

Item[]

+

Inherited from#

+

KubeObjectStore.selectedItems

+

Methods#

+

[iterator]#

+

[iterator](): Generator<PersistentVolumeClaim, void, undefined>

+

Returns#

+

Generator<PersistentVolumeClaim, void, undefined>

+

Inherited from#

+

KubeObjectStore.[iterator]

+
+

bindWatchEventsUpdater#

+

Protected bindWatchEventsUpdater(delay?): void

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDefault value
delaynumber1000
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.bindWatchEventsUpdater

+
+

create#

+

create(params, data?): Promise<PersistentVolumeClaim>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<PersistentVolumeClaim>
+

Returns#

+

Promise<PersistentVolumeClaim>

+

Inherited from#

+

KubeObjectStore.create

+
+

createItem#

+

Protected createItem(params, data?): Promise<PersistentVolumeClaim>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
data?Partial<PersistentVolumeClaim>
+

Returns#

+

Promise<PersistentVolumeClaim>

+

Inherited from#

+

KubeObjectStore.createItem

+
+

defaultSorting#

+

Protected defaultSorting(item): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

string

+

Inherited from#

+

KubeObjectStore.defaultSorting

+
+

filterItemsOnLoad#

+

Protected filterItemsOnLoad(items): PersistentVolumeClaim[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPersistentVolumeClaim[]
+

Returns#

+

PersistentVolumeClaim[]

+

Inherited from#

+

KubeObjectStore.filterItemsOnLoad

+
+

getAllByNs#

+

getAllByNs(namespace, strict?): PersistentVolumeClaim[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
namespacestring | string[]undefined
strictbooleanfalse
+

Returns#

+

PersistentVolumeClaim[]

+

Inherited from#

+

KubeObjectStore.getAllByNs

+
+

getById#

+

getById(id): PersistentVolumeClaim

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

PersistentVolumeClaim

+

Inherited from#

+

KubeObjectStore.getById

+
+

getByLabel#

+

getByLabel(labels): PersistentVolumeClaim[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
labelsstring[] | { [label: string]: string; }
+

Returns#

+

PersistentVolumeClaim[]

+

Inherited from#

+

KubeObjectStore.getByLabel

+
+

getByName#

+

getByName(name, namespace?): PersistentVolumeClaim

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
namestring
namespace?string
+

Returns#

+

PersistentVolumeClaim

+

Inherited from#

+

KubeObjectStore.getByName

+
+

getByPath#

+

getByPath(path): PersistentVolumeClaim

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathstring
+

Returns#

+

PersistentVolumeClaim

+

Inherited from#

+

KubeObjectStore.getByPath

+
+

getIndexById#

+

getIndexById(id): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
idstring
+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getIndexById

+
+

getItems#

+

getItems(): PersistentVolumeClaim[]

+

Returns#

+

PersistentVolumeClaim[]

+

Inherited from#

+

KubeObjectStore.getItems

+
+

getStatuses#

+

Optional getStatuses(items): Record<string, number>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPersistentVolumeClaim[]
+

Returns#

+

Record<string, number>

+

Inherited from#

+

KubeObjectStore.getStatuses

+
+

getTotalCount#

+

getTotalCount(): number

+

Returns#

+

number

+

Inherited from#

+

KubeObjectStore.getTotalCount

+
+

isSelected#

+

isSelected(item): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPersistentVolumeClaim
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelected

+
+

isSelectedAll#

+

isSelectedAll(visibleItems?): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsPersistentVolumeClaim[]
+

Returns#

+

boolean

+

Inherited from#

+

KubeObjectStore.isSelectedAll

+
+

load#

+

load(params): Promise<PersistentVolumeClaim>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<PersistentVolumeClaim>

+

Inherited from#

+

KubeObjectStore.load

+
+

loadAll#

+

loadAll(__namedParameters?): Promise<void | PersistentVolumeClaim[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadAllParams
+

Returns#

+

Promise<void | PersistentVolumeClaim[]>

+

Inherited from#

+

KubeObjectStore.loadAll

+
+

loadFromPath#

+

loadFromPath(resourcePath): Promise<PersistentVolumeClaim>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourcePathstring
+

Returns#

+

Promise<PersistentVolumeClaim>

+

Inherited from#

+

KubeObjectStore.loadFromPath

+
+

loadItem#

+

Protected loadItem(params): Promise<PersistentVolumeClaim>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
paramsObject
params.namestring
params.namespace?string
+

Returns#

+

Promise<PersistentVolumeClaim>

+

Inherited from#

+

KubeObjectStore.loadItem

+
+

loadItems#

+

Protected loadItems(__namedParameters): Promise<PersistentVolumeClaim[]>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreLoadingParams
+

Returns#

+

Promise<PersistentVolumeClaim[]>

+

Inherited from#

+

KubeObjectStore.loadItems

+
+

mergeItems#

+

Protected mergeItems(partialItems, __namedParameters?): PersistentVolumeClaim[]

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
partialItemsPersistentVolumeClaim[]
__namedParametersObject
__namedParameters.filterboolean
__namedParameters.mergeboolean
__namedParameters.sortboolean
__namedParameters.updateStoreboolean
+

Returns#

+

PersistentVolumeClaim[]

+

Inherited from#

+

KubeObjectStore.mergeItems

+
+

patch#

+

patch(item, patch): Promise<PersistentVolumeClaim>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPersistentVolumeClaim
patchPatch
+

Returns#

+

Promise<PersistentVolumeClaim>

+

Inherited from#

+

KubeObjectStore.patch

+
+

pickOnlySelected#

+

pickOnlySelected(items): PersistentVolumeClaim[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPersistentVolumeClaim[]
+

Returns#

+

PersistentVolumeClaim[]

+

Inherited from#

+

KubeObjectStore.pickOnlySelected

+
+

reloadAll#

+

reloadAll(opts?): Promise<void | PersistentVolumeClaim[]>

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
optsObject
opts.force?boolean
opts.merge?boolean
opts.namespaces?string[]
+

Returns#

+

Promise<void | PersistentVolumeClaim[]>

+

Inherited from#

+

KubeObjectStore.reloadAll

+
+

remove#

+

remove(item): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPersistentVolumeClaim
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.remove

+
+

removeItem#

+

Protected removeItem(item, request): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPersistentVolumeClaim
request() => Promise<any>
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItem

+
+

removeItems#

+

removeItems(items): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemsPersistentVolumeClaim[]
+

Returns#

+

Promise<void>

+

Inherited from#

+

KubeObjectStore.removeItems

+
+

removeSelectedItems#

+

removeSelectedItems(): Promise<void[]>

+

Returns#

+

Promise<void[]>

+

Inherited from#

+

KubeObjectStore.removeSelectedItems

+
+

reset#

+

reset(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.reset

+
+

resetOnError#

+

Protected resetOnError(error): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errorany
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetOnError

+
+

resetSelection#

+

resetSelection(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.resetSelection

+
+

select#

+

select(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPersistentVolumeClaim
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.select

+
+

sortItems#

+

Protected sortItems(items?, sorting?, order?): PersistentVolumeClaim[]

+

Return items sorted by the given ordering functions. If two elements of +items are sorted to the same "index" then the next sorting function is used +to determine where to place them relative to each other. Once the sorting +functions have been all exhausted then the order is unchanged (ie a stable sort).

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
itemsPersistentVolumeClaim[]the items to be sorted (default: the current items in this store)
sorting(item: PersistentVolumeClaim) => any[]list of functions to determine sort order (default: sorting by name)
order?"desc" | "asc"whether to sort from least to greatest ("asc" (default)) or vice-versa ("desc")
+

Returns#

+

PersistentVolumeClaim[]

+

Inherited from#

+

KubeObjectStore.sortItems

+
+

subscribe#

+

subscribe(__namedParameters?): Disposer

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersKubeObjectStoreSubscribeParams
+

Returns#

+

Disposer

+

Inherited from#

+

KubeObjectStore.subscribe

+
+

toggleSelection#

+

toggleSelection(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPersistentVolumeClaim
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelection

+
+

toggleSelectionAll#

+

toggleSelectionAll(visibleItems?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
visibleItemsPersistentVolumeClaim[]
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.toggleSelectionAll

+
+

unselect#

+

unselect(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemPersistentVolumeClaim
+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.unselect

+
+

update#

+

update(item, data): Promise<PersistentVolumeClaim>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPersistentVolumeClaim
dataPartial<PersistentVolumeClaim>
+

Returns#

+

Promise<PersistentVolumeClaim>

+

Inherited from#

+

KubeObjectStore.update

+
+

updateFromEventsBuffer#

+

Protected updateFromEventsBuffer(): void

+

Returns#

+

void

+

Inherited from#

+

KubeObjectStore.updateFromEventsBuffer

+
+

updateItem#

+

Protected updateItem(item, request): Promise<PersistentVolumeClaim>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemPersistentVolumeClaim
request() => Promise<PersistentVolumeClaim>
+

Returns#

+

Promise<PersistentVolumeClaim>

+

Inherited from#

+

KubeObjectStore.updateItem

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.LensExtension/index.html b/v5.4.0/extensions/api/classes/Renderer.LensExtension/index.html new file mode 100644 index 0000000000..6cbb4bb7a7 --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.LensExtension/index.html @@ -0,0 +1,1554 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: LensExtension - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+ +
+ + +
+
+ + + + +

Class: LensExtension#

+

Renderer.LensExtension

+

Hierarchy#

+
    +
  • LensExtension
  • +
+

LensExtension

+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new LensExtension(__namedParameters)

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersInstalledExtension
+

Inherited from#

+

LensExtension.constructor

+

Properties#

+

[Disposers]#

+

[Disposers]: ExtendableDisposer

+

Inherited from#

+

LensExtension.__@Disposers@9922

+
+

additionalCategoryColumns#

+

additionalCategoryColumns: AdditionalCategoryColumnRegistration[] = []

+
+

appPreferences#

+

appPreferences: AppPreferenceRegistration[] = []

+
+

catalogEntityDetailItems#

+

catalogEntityDetailItems: CatalogEntityDetailRegistration<CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>>[] = []

+
+

clusterPageMenus#

+

clusterPageMenus: ClusterPageMenuRegistration[] = []

+
+

clusterPages#

+

clusterPages: PageRegistration[] = []

+
+

commands#

+

commands: CommandRegistration[] = []

+
+

customCategoryViews#

+

customCategoryViews: CustomCategoryViewRegistration[] = []

+
+

entitySettings#

+

entitySettings: EntitySettingRegistration[] = []

+
+

globalPages#

+

globalPages: PageRegistration[] = []

+
+

id#

+

Readonly id: string

+

Inherited from#

+

LensExtension.id

+
+

isBundled#

+

Readonly isBundled: boolean

+

Inherited from#

+

LensExtension.isBundled

+
+

kubeObjectDetailItems#

+

kubeObjectDetailItems: KubeObjectDetailRegistration[] = []

+
+

kubeObjectMenuItems#

+

kubeObjectMenuItems: KubeObjectMenuRegistration[] = []

+
+

kubeObjectStatusTexts#

+

kubeObjectStatusTexts: KubeObjectStatusRegistration[] = []

+
+

kubeWorkloadsOverviewItems#

+

kubeWorkloadsOverviewItems: WorkloadsOverviewDetailRegistration[] = []

+
+

manifest#

+

Readonly manifest: LensExtensionManifest

+

Inherited from#

+

LensExtension.manifest

+
+

manifestPath#

+

Readonly manifestPath: string

+

Inherited from#

+

LensExtension.manifestPath

+
+

protocolHandlers#

+

protocolHandlers: ProtocolHandlerRegistration[] = []

+

Inherited from#

+

LensExtension.protocolHandlers

+
+

statusBarItems#

+

statusBarItems: StatusBarRegistration[] = []

+
+

topBarItems#

+

topBarItems: TopBarRegistration[] = []

+
+

welcomeBanners#

+

welcomeBanners: WelcomeBannerRegistration[] = []

+
+

welcomeMenus#

+

welcomeMenus: WelcomeMenuRegistration[] = []

+

Accessors#

+

description#

+

get description(): string

+

Returns#

+

string

+

Inherited from#

+

LensExtension.description

+
+

isEnabled#

+

get isEnabled(): boolean

+

Returns#

+

boolean

+

Inherited from#

+

LensExtension.isEnabled

+
+

name#

+

get name(): string

+

Returns#

+

string

+

Inherited from#

+

LensExtension.name

+
+

version#

+

get version(): string

+

Returns#

+

string

+

Inherited from#

+

LensExtension.version

+

Methods#

+

[setLensExtensionDependencies]#

+

[setLensExtensionDependencies](dependencies): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
dependenciesLensExtensionDependencies
+

Returns#

+

void

+

Inherited from#

+

LensExtension.__@setLensExtensionDependencies@9926

+
+

activate#

+

activate(): Promise<void>

+

Returns#

+

Promise<void>

+

Inherited from#

+

LensExtension.activate

+
+

addCatalogCategoryFilter#

+

addCatalogCategoryFilter(fn): Disposer

+

Add a filtering function for the catalog categories. This will be removed if the extension is disabled.

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
fnCategoryFilterThe function which should return a truthy value for those categories which should be kept.
+

Returns#

+

Disposer

+

A function to clean up the filter

+
+

addCatalogFilter#

+

addCatalogFilter(fn): Disposer

+

Add a filtering function for the catalog entities. This will be removed if the extension is disabled.

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
fnEntityFilterThe function which should return a truthy value for those entities which should be kept.
+

Returns#

+

Disposer

+

A function to clean up the filter

+
+

disable#

+

disable(): Promise<void>

+

Returns#

+

Promise<void>

+

Inherited from#

+

LensExtension.disable

+
+

enable#

+

enable(register): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
register(ext: LensExtension) => Promise<Disposer[]>
+

Returns#

+

Promise<void>

+

Inherited from#

+

LensExtension.enable

+
+

getExtensionFileFolder#

+

getExtensionFileFolder(): Promise<string>

+

getExtensionFileFolder returns the path to an already created folder. This +folder is for the sole use of this extension.

+

Note: there is no security done on this folder, only obfuscation of the +folder name.

+

Returns#

+

Promise<string>

+

Inherited from#

+

LensExtension.getExtensionFileFolder

+
+

isEnabledForCluster#

+

isEnabledForCluster(cluster): Promise<Boolean>

+

Defines if extension is enabled for a given cluster. This method is only +called when the extension is created within a cluster frame.

+

The default implementation is to return true

+

Parameters#

+ + + + + + + + + + + + + +
NameType
clusterKubernetesCluster<KubernetesClusterMetadata, KubernetesClusterStatus, KubernetesClusterSpec>
+

Returns#

+

Promise<Boolean>

+
+ +

navigate<P>(pageId?, params?): Promise<void>

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Pextends object
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
pageId?string
params?P
+

Returns#

+

Promise<void>

+
+

onActivate#

+

Protected onActivate(): void | Promise<void>

+

Returns#

+

void | Promise<void>

+

Inherited from#

+

LensExtension.onActivate

+
+

onDeactivate#

+

Protected onDeactivate(): void | Promise<void>

+

Returns#

+

void | Promise<void>

+

Inherited from#

+

LensExtension.onDeactivate

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/classes/Renderer.Navigation.PageParam/index.html b/v5.4.0/extensions/api/classes/Renderer.Navigation.PageParam/index.html new file mode 100644 index 0000000000..21c40c5c1c --- /dev/null +++ b/v5.4.0/extensions/api/classes/Renderer.Navigation.PageParam/index.html @@ -0,0 +1,1215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Class: PageParam - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Class: PageParam<V>#

+

Renderer.Navigation.PageParam

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Vany
+

Table of contents#

+

Constructors#

+ +

Properties#

+ +

Accessors#

+ +

Methods#

+ +

Constructors#

+

constructor#

+

new PageParam<V>(init, history)

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Vany
+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
initPageParamInit<V>
historyObservableHistory<Object>
+

Properties#

+

isMulti#

+

Readonly isMulti: boolean

+
+

name#

+

Readonly name: string

+

Accessors#

+

defaultValue#

+

get defaultValue(): V

+

Returns#

+

V

+

Methods#

+

clear#

+

clear(): void

+

Returns#

+

void

+
+

get#

+

get(): V

+

Returns#

+

V

+
+

getRaw#

+

getRaw(): string | string[]

+

Get stringified raw value(s) from document.location.search

+

Returns#

+

string | string[]

+
+

parse#

+

parse(values): V

+

Parameters#

+ + + + + + + + + + + + + +
NameType
valuesstring | string[]
+

Returns#

+

V

+
+

set#

+

set(value, __namedParameters?): void

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
valueV
__namedParametersObject
__namedParameters.mergeGlobalsboolean
__namedParameters.replaceHistoryboolean
+

Returns#

+

void

+
+

setRaw#

+

setRaw(value): void

+

Set stringified raw value(s) and update document.location.search

+

Parameters#

+ + + + + + + + + + + + + +
NameType
valuestring | string[]
+

Returns#

+

void

+
+

stringify#

+

stringify(value?): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
valueV
+

Returns#

+

string[]

+
+

toString#

+

toString(__namedParameters?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
__namedParametersObject
__namedParameters.mergeGlobalsboolean
__namedParameters.valueV
__namedParameters.withPrefixboolean
+

Returns#

+

string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/enums/Renderer.Component.NotificationStatus/index.html b/v5.4.0/extensions/api/enums/Renderer.Component.NotificationStatus/index.html new file mode 100644 index 0000000000..86e1c7639b --- /dev/null +++ b/v5.4.0/extensions/api/enums/Renderer.Component.NotificationStatus/index.html @@ -0,0 +1,872 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Enumeration: NotificationStatus - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Enumeration: NotificationStatus#

+

Renderer.Component.NotificationStatus

+

Table of contents#

+

Enumeration members#

+ +

Enumeration members#

+

ERROR#

+

ERROR = "error"

+
+

INFO#

+

INFO = "info"

+
+

OK#

+

OK = "ok"

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/enums/Renderer.Component.TooltipPosition/index.html b/v5.4.0/extensions/api/enums/Renderer.Component.TooltipPosition/index.html new file mode 100644 index 0000000000..23fc894f1a --- /dev/null +++ b/v5.4.0/extensions/api/enums/Renderer.Component.TooltipPosition/index.html @@ -0,0 +1,927 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Enumeration: TooltipPosition - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Enumeration: TooltipPosition#

+

Renderer.Component.TooltipPosition

+

Table of contents#

+

Enumeration members#

+ +

Enumeration members#

+

BOTTOM#

+

BOTTOM = "bottom"

+
+

BOTTOM_LEFT#

+

BOTTOM_LEFT = "bottom_left"

+
+

BOTTOM_RIGHT#

+

BOTTOM_RIGHT = "bottom_right"

+
+

LEFT#

+

LEFT = "left"

+
+ +

RIGHT = "right"

+
+

TOP#

+

TOP = "top"

+
+

TOP_LEFT#

+

TOP_LEFT = "top_left"

+
+

TOP_RIGHT#

+

TOP_RIGHT = "top_right"

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/enums/Renderer.K8sApi.KubeObjectStatusLevel/index.html b/v5.4.0/extensions/api/enums/Renderer.K8sApi.KubeObjectStatusLevel/index.html new file mode 100644 index 0000000000..9a9d99dcec --- /dev/null +++ b/v5.4.0/extensions/api/enums/Renderer.K8sApi.KubeObjectStatusLevel/index.html @@ -0,0 +1,872 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Enumeration: KubeObjectStatusLevel - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Enumeration: KubeObjectStatusLevel#

+

Renderer.K8sApi.KubeObjectStatusLevel

+

Table of contents#

+

Enumeration members#

+ +

Enumeration members#

+

CRITICAL#

+

CRITICAL = 3

+
+

INFO#

+

INFO = 1

+
+

WARNING#

+

WARNING = 2

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/index.html b/v5.4.0/extensions/api/index.html new file mode 100644 index 0000000000..d23c184436 --- /dev/null +++ b/v5.4.0/extensions/api/index.html @@ -0,0 +1,874 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + API Reference - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategoryEvents/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategoryEvents/index.html new file mode 100644 index 0000000000..eb48aa785e --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategoryEvents/index.html @@ -0,0 +1,918 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogCategoryEvents - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogCategoryEvents#

+

Common.Catalog.CatalogCategoryEvents

+

Table of contents#

+

Methods#

+ +

Methods#

+

catalogAddMenu#

+

catalogAddMenu(context): void

+

This event will be emitted when the catalog add menu is opened and is the +way to added entries to that menu.

+

Parameters#

+ + + + + + + + + + + + + +
NameType
contextCatalogEntityAddMenuContext
+

Returns#

+

void

+
+

contextMenuOpen#

+

contextMenuOpen(entity, context): void

+

This event will be emitted when the context menu for an entity is declared +by this category is opened.

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
entityCatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>
contextCatalogEntityContextMenuContext
+

Returns#

+

void

+
+

load#

+

load(): void

+

This event will be emitted when the category is loaded in the catalog +view.

+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategorySpec/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategorySpec/index.html new file mode 100644 index 0000000000..f81e8da28f --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategorySpec/index.html @@ -0,0 +1,912 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogCategorySpec - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogCategorySpec#

+

Common.Catalog.CatalogCategorySpec

+

Table of contents#

+

Properties#

+ +

Properties#

+

displayColumns#

+

Optional displayColumns: CategoryColumnRegistration[]

+

These are the columns used for displaying entities when in the catalog.

+

If this is not provided then some default columns will be used, similar in +scope to the columns in the "Browse" view.

+

Even if you provide columns, a "Name" column will be provided as well with +priority: 0.

+

These columns will not be used in the "Browse" view.

+
+

group#

+

group: string

+

The grouping for for the category. This MUST be a DNS label.

+
+

names#

+

names: Object

+

This is the concerning the category

+

Type declaration#

+ + + + + + + + + + + + + + + +
NameTypeDescription
kindstringThe kind of entity that this category is for. This value MUST be a DNS label and MUST be equal to the kind fields that are produced by the .versions.[] | .entityClass fields.
+
+

versions#

+

versions: CatalogCategoryVersion<CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>>[]

+

The specific versions of the constructors.

+

NOTE: the field .apiVersion after construction MUST match {.group}/{.versions.[] | .name}. +For example, if group = "entity.k8slens.dev" and there is an entry in .versions with +name = "v1alpha1" then the resulting .apiVersion MUST be entity.k8slens.dev/v1alpha1

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategoryVersion/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategoryVersion/index.html new file mode 100644 index 0000000000..235e0a798e --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogCategoryVersion/index.html @@ -0,0 +1,892 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogCategoryVersion - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogCategoryVersion<Entity>#

+

Common.Catalog.CatalogCategoryVersion

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Entityextends CatalogEntity
+

Table of contents#

+

Properties#

+ +

Properties#

+

entityClass#

+

entityClass: CatalogEntityConstructor<Entity>

+

The constructor for the entities.

+
+

name#

+

name: string

+

The specific version that the associated constructor is for. This MUST be +a DNS label and SHOULD be of the form vN, vNalphaY, or vNbetaY where +N and Y are both integers greater than 0.

+

Examples: The following are valid values for this field. +- v1 +- v1beta1 +- v1alpha2 +- v3beta2

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityActionContext/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityActionContext/index.html new file mode 100644 index 0000000000..cf12e826d9 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityActionContext/index.html @@ -0,0 +1,895 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogEntityActionContext - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogEntityActionContext#

+

Common.Catalog.CatalogEntityActionContext

+

Table of contents#

+

Methods#

+ +

Methods#

+ +

navigate(url): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
urlstring
+

Returns#

+

void

+
+

setCommandPaletteContext#

+

setCommandPaletteContext(context?): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
context?CatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenu/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenu/index.html new file mode 100644 index 0000000000..ea3037f82b --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenu/index.html @@ -0,0 +1,958 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogEntityAddMenu - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogEntityAddMenu#

+

Common.Catalog.CatalogEntityAddMenu

+

Hierarchy#

+ +

CatalogEntityAddMenu

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

confirm#

+

Optional confirm: Object

+

Confirm click with a message

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
messagestring
+

Inherited from#

+

CatalogEntityContextMenu.confirm

+
+

defaultAction#

+

Optional defaultAction: boolean

+
+

icon#

+

icon: string

+

Menu icon

+

Overrides#

+

CatalogEntityContextMenu.icon

+
+

title#

+

title: string

+

Menu title

+

Inherited from#

+

CatalogEntityContextMenu.title

+

Methods#

+

onClick#

+

onClick(): void | Promise<void>

+

OnClick handler

+

Returns#

+

void | Promise<void>

+

Inherited from#

+

CatalogEntityContextMenu.onClick

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenuContext/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenuContext/index.html new file mode 100644 index 0000000000..4406a0585a --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityAddMenuContext/index.html @@ -0,0 +1,901 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogEntityAddMenuContext - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogEntityAddMenuContext#

+

Common.Catalog.CatalogEntityAddMenuContext

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+ +

menuItems: CatalogEntityAddMenu[]

+

Methods#

+ +

navigate(url): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
urlstring
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenu/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenu/index.html new file mode 100644 index 0000000000..8f5289be4e --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenu/index.html @@ -0,0 +1,939 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogEntityContextMenu - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogEntityContextMenu#

+

Common.Catalog.CatalogEntityContextMenu

+

Hierarchy#

+
    +
  • CatalogEntityContextMenu
  • +
+

CatalogEntityAddMenu

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

confirm#

+

Optional confirm: Object

+

Confirm click with a message

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
messagestring
+
+

icon#

+

Optional icon: string

+

Menu icon

+
+

title#

+

title: string

+

Menu title

+

Methods#

+

onClick#

+

onClick(): void | Promise<void>

+

OnClick handler

+

Returns#

+

void | Promise<void>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenuContext/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenuContext/index.html new file mode 100644 index 0000000000..607a7723bc --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityContextMenuContext/index.html @@ -0,0 +1,902 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogEntityContextMenuContext - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogEntityContextMenuContext#

+

Common.Catalog.CatalogEntityContextMenuContext

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+ +

menuItems: CatalogEntityContextMenu[]

+

Methods#

+ +

navigate(pathname): void

+

Navigate to the specified pathname

+

Parameters#

+ + + + + + + + + + + + + +
NameType
pathnamestring
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityData/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityData/index.html new file mode 100644 index 0000000000..1bb90ca01a --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityData/index.html @@ -0,0 +1,902 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogEntityData - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogEntityData<Metadata, Status, Spec>#

+

Common.Catalog.CatalogEntityData

+

Type parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
Metadataextends CatalogEntityMetadataCatalogEntityMetadata
Statusextends CatalogEntityStatusCatalogEntityStatus
Specextends CatalogEntitySpecCatalogEntitySpec
+

Table of contents#

+

Properties#

+ +

Properties#

+

metadata#

+

metadata: Metadata

+
+

spec#

+

spec: Spec

+
+

status#

+

status: Status

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityKindData/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityKindData/index.html new file mode 100644 index 0000000000..721dabb5c1 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityKindData/index.html @@ -0,0 +1,872 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogEntityKindData - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogEntityKindData#

+

Common.Catalog.CatalogEntityKindData

+

Implemented by#

+ +

Table of contents#

+

Properties#

+ +

Properties#

+

apiVersion#

+

Readonly apiVersion: string

+
+

kind#

+

Readonly kind: string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityMetadata/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityMetadata/index.html new file mode 100644 index 0000000000..2e37bdeb1e --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityMetadata/index.html @@ -0,0 +1,926 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogEntityMetadata - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogEntityMetadata#

+

Common.Catalog.CatalogEntityMetadata

+

Hierarchy#

+
    +
  • CatalogEntityMetadata
  • +
+

KubernetesClusterMetadata

+

Indexable#

+

▪ [key: string]: string | object

+

Table of contents#

+

Properties#

+ +

Properties#

+

description#

+

Optional description: string

+
+

labels#

+

labels: Record<string, string>

+
+

name#

+

name: string

+
+

shortName#

+

Optional shortName: string

+
+

source#

+

Optional source: string

+
+

uid#

+

uid: string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsContext/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsContext/index.html new file mode 100644 index 0000000000..4d3775f96c --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsContext/index.html @@ -0,0 +1,850 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogEntitySettingsContext - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsMenu/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsMenu/index.html new file mode 100644 index 0000000000..b2e171b6e7 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntitySettingsMenu/index.html @@ -0,0 +1,887 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogEntitySettingsMenu - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogEntitySettingsMenu#

+

Common.Catalog.CatalogEntitySettingsMenu

+

Table of contents#

+

Properties#

+ +

Properties#

+

components#

+

components: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
ViewComponentType<any>
+
+

group#

+

Optional group: string

+
+

title#

+

title: string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityStatus/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityStatus/index.html new file mode 100644 index 0000000000..e2a4404794 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.CatalogEntityStatus/index.html @@ -0,0 +1,908 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CatalogEntityStatus - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CatalogEntityStatus#

+

Common.Catalog.CatalogEntityStatus

+

Hierarchy#

+
    +
  • CatalogEntityStatus
  • +
+

WebLinkStatus

+

KubernetesClusterStatus

+

Table of contents#

+

Properties#

+ +

Properties#

+

active#

+

Optional active: boolean

+
+

enabled#

+

Optional enabled: boolean

+

default true

+
+

message#

+

Optional message: string

+
+

phase#

+

phase: string

+
+

reason#

+

Optional reason: string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterMetadata/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterMetadata/index.html new file mode 100644 index 0000000000..8d8e66d120 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterMetadata/index.html @@ -0,0 +1,951 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubernetesClusterMetadata - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: KubernetesClusterMetadata#

+

Common.Catalog.KubernetesClusterMetadata

+

Hierarchy#

+ +

KubernetesClusterMetadata

+

Table of contents#

+

Properties#

+ +

Properties#

+

description#

+

Optional description: string

+

Inherited from#

+

CatalogEntityMetadata.description

+
+

distro#

+

Optional distro: string

+
+

kubeVersion#

+

Optional kubeVersion: string

+
+

labels#

+

labels: Record<string, string>

+

Inherited from#

+

CatalogEntityMetadata.labels

+
+

name#

+

name: string

+

Inherited from#

+

CatalogEntityMetadata.name

+
+

shortName#

+

Optional shortName: string

+

Inherited from#

+

CatalogEntityMetadata.shortName

+
+

source#

+

Optional source: string

+

Inherited from#

+

CatalogEntityMetadata.source

+
+

uid#

+

uid: string

+

Inherited from#

+

CatalogEntityMetadata.uid

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterPrometheusMetrics/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterPrometheusMetrics/index.html new file mode 100644 index 0000000000..9228b38f0b --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterPrometheusMetrics/index.html @@ -0,0 +1,888 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubernetesClusterPrometheusMetrics - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: KubernetesClusterPrometheusMetrics#

+

Common.Catalog.KubernetesClusterPrometheusMetrics

+

Table of contents#

+

Properties#

+ +

Properties#

+

address#

+

Optional address: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
namespacestring
portnumber
prefixstring
servicestring
+
+

type#

+

Optional type: string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterSpec/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterSpec/index.html new file mode 100644 index 0000000000..c4322c4d78 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterSpec/index.html @@ -0,0 +1,948 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubernetesClusterSpec - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: KubernetesClusterSpec#

+

Common.Catalog.KubernetesClusterSpec

+

Hierarchy#

+ +

KubernetesClusterSpec

+

Table of contents#

+

Properties#

+ +

Properties#

+

accessibleNamespaces#

+

Optional accessibleNamespaces: string[]

+
+

icon#

+

Optional icon: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
background?string
material?string
src?string
+
+

kubeconfigContext#

+

kubeconfigContext: string

+
+

kubeconfigPath#

+

kubeconfigPath: string

+
+

metrics#

+

Optional metrics: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + +
NameType
prometheus?KubernetesClusterPrometheusMetrics
sourcestring
+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterStatus/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterStatus/index.html new file mode 100644 index 0000000000..8a50ebc59b --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.KubernetesClusterStatus/index.html @@ -0,0 +1,917 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubernetesClusterStatus - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: KubernetesClusterStatus#

+

Common.Catalog.KubernetesClusterStatus

+

Hierarchy#

+ +

KubernetesClusterStatus

+

Table of contents#

+

Properties#

+ +

Properties#

+

active#

+

Optional active: boolean

+

Inherited from#

+

CatalogEntityStatus.active

+
+

enabled#

+

Optional enabled: boolean

+

default true

+

Inherited from#

+

CatalogEntityStatus.enabled

+
+

message#

+

Optional message: string

+

Inherited from#

+

CatalogEntityStatus.message

+
+

phase#

+

phase: string

+

Inherited from#

+

CatalogEntityStatus.phase

+
+

reason#

+

Optional reason: string

+

Inherited from#

+

CatalogEntityStatus.reason

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Catalog.WebLinkStatus/index.html b/v5.4.0/extensions/api/interfaces/Common.Catalog.WebLinkStatus/index.html new file mode 100644 index 0000000000..0c05413216 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Catalog.WebLinkStatus/index.html @@ -0,0 +1,917 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: WebLinkStatus - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: WebLinkStatus#

+

Common.Catalog.WebLinkStatus

+

Hierarchy#

+ +

WebLinkStatus

+

Table of contents#

+

Properties#

+ +

Properties#

+

active#

+

Optional active: boolean

+

Inherited from#

+

CatalogEntityStatus.active

+
+

enabled#

+

Optional enabled: boolean

+

default true

+

Inherited from#

+

CatalogEntityStatus.enabled

+
+

message#

+

Optional message: string

+

Inherited from#

+

CatalogEntityStatus.message

+
+

phase#

+

phase: WebLinkStatusPhase

+

Overrides#

+

CatalogEntityStatus.phase

+
+

reason#

+

Optional reason: string

+

Inherited from#

+

CatalogEntityStatus.reason

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.AppPreferenceComponents/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.AppPreferenceComponents/index.html new file mode 100644 index 0000000000..af03eb8a62 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.AppPreferenceComponents/index.html @@ -0,0 +1,861 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: AppPreferenceComponents - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: AppPreferenceComponents#

+

Common.Types.AppPreferenceComponents

+

Table of contents#

+

Properties#

+ +

Properties#

+

Hint#

+

Hint: ComponentType<any>

+
+

Input#

+

Input: ComponentType<any>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.AppPreferenceRegistration/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.AppPreferenceRegistration/index.html new file mode 100644 index 0000000000..086d3ed327 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.AppPreferenceRegistration/index.html @@ -0,0 +1,883 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: AppPreferenceRegistration - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.ClusterPageMenuComponents/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.ClusterPageMenuComponents/index.html new file mode 100644 index 0000000000..bec8063a39 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.ClusterPageMenuComponents/index.html @@ -0,0 +1,850 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: ClusterPageMenuComponents - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: ClusterPageMenuComponents#

+

Common.Types.ClusterPageMenuComponents

+

Table of contents#

+

Properties#

+ +

Properties#

+

Icon#

+

Icon: ComponentType<IconProps>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.ClusterPageMenuRegistration/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.ClusterPageMenuRegistration/index.html new file mode 100644 index 0000000000..193f60a14c --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.ClusterPageMenuRegistration/index.html @@ -0,0 +1,894 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: ClusterPageMenuRegistration - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewComponents/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewComponents/index.html new file mode 100644 index 0000000000..977700c924 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewComponents/index.html @@ -0,0 +1,851 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CustomCategoryViewComponents - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CustomCategoryViewComponents#

+

Common.Types.CustomCategoryViewComponents

+

The components for the category view.

+

Table of contents#

+

Properties#

+ +

Properties#

+

View#

+

View: ComponentType<CustomCategoryViewProps>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewProps/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewProps/index.html new file mode 100644 index 0000000000..8872801b4b --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewProps/index.html @@ -0,0 +1,852 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CustomCategoryViewProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CustomCategoryViewProps#

+

Common.Types.CustomCategoryViewProps

+

The props for CustomCategoryViewComponents.View

+

Table of contents#

+

Properties#

+ +

Properties#

+

category#

+

category: CatalogCategory

+

The category instance itself

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewRegistration/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewRegistration/index.html new file mode 100644 index 0000000000..9c3fa064a4 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.CustomCategoryViewRegistration/index.html @@ -0,0 +1,893 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CustomCategoryViewRegistration - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CustomCategoryViewRegistration#

+

Common.Types.CustomCategoryViewRegistration

+

This is the type used to declare additional views for a specific category

+

Table of contents#

+

Properties#

+ +

Properties#

+

components#

+

components: CustomCategoryViewComponents

+

The components for this registration

+
+

group#

+

group: string

+

The catalog entity group that is declared by the category for this registration

+

e.g. +- "entity.k8slens.dev"

+
+

kind#

+

kind: string

+

The catalog entity kind that is declared by the category for this registration

+

e.g. +- "KubernetesCluster"

+
+

priority#

+

Optional priority: number

+

The sorting order value. Used to determine the total order of the views.

+

default 50

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectDetailComponents/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectDetailComponents/index.html new file mode 100644 index 0000000000..1a7372c0e4 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectDetailComponents/index.html @@ -0,0 +1,872 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectDetailComponents - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectDetailRegistration/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectDetailRegistration/index.html new file mode 100644 index 0000000000..0a2fb96136 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectDetailRegistration/index.html @@ -0,0 +1,883 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectDetailRegistration - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectMenuComponents/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectMenuComponents/index.html new file mode 100644 index 0000000000..c8efa78ceb --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectMenuComponents/index.html @@ -0,0 +1,850 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectMenuComponents - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: KubeObjectMenuComponents#

+

Common.Types.KubeObjectMenuComponents

+

Table of contents#

+

Properties#

+ +

Properties#

+ +

MenuItem: ComponentType<KubeObjectMenuItemProps>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectMenuRegistration/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectMenuRegistration/index.html new file mode 100644 index 0000000000..f9200cad27 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectMenuRegistration/index.html @@ -0,0 +1,872 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectMenuRegistration - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectStatusRegistration/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectStatusRegistration/index.html new file mode 100644 index 0000000000..53cd3fc4e4 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.KubeObjectStatusRegistration/index.html @@ -0,0 +1,912 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectStatusRegistration - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.PageComponentProps/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.PageComponentProps/index.html new file mode 100644 index 0000000000..c25605a017 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.PageComponentProps/index.html @@ -0,0 +1,872 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: PageComponentProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: PageComponentProps<P>#

+

Common.Types.PageComponentProps

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Pextends PageParams{}
+

Table of contents#

+

Properties#

+ +

Properties#

+

params#

+

Optional params: { [N in string | number | symbol]: PageParam<P[N]> }

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.PageComponents/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.PageComponents/index.html new file mode 100644 index 0000000000..120e015be1 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.PageComponents/index.html @@ -0,0 +1,850 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: PageComponents - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: PageComponents#

+

Common.Types.PageComponents

+

Table of contents#

+

Properties#

+ +

Properties#

+

Page#

+

Page: ComponentType<any>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.PageParams/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.PageParams/index.html new file mode 100644 index 0000000000..3b904f166e --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.PageParams/index.html @@ -0,0 +1,833 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: PageParams - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: PageParams<V>#

+

Common.Types.PageParams

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Vany
+

Indexable#

+

▪ [paramName: string]: V

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.PageRegistration/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.PageRegistration/index.html new file mode 100644 index 0000000000..8303f07d4a --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.PageRegistration/index.html @@ -0,0 +1,874 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: PageRegistration - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: PageRegistration#

+

Common.Types.PageRegistration

+

Table of contents#

+

Properties#

+ +

Properties#

+

components#

+

components: PageComponents

+
+

id#

+

Optional id: string

+

Page ID, part of extension's page url, must be unique within same extension +When not provided, first registered page without "id" would be used for page-menus without target.pageId for same extension

+
+

params#

+

Optional params: PageParams<string | Omit<PageParamInit<any>, "name" | "prefix">>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.PageTarget/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.PageTarget/index.html new file mode 100644 index 0000000000..b5270869c7 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.PageTarget/index.html @@ -0,0 +1,872 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: PageTarget - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: PageTarget#

+

Common.Types.PageTarget

+

Table of contents#

+

Properties#

+ +

Properties#

+

extensionId#

+

Optional extensionId: string

+
+

pageId#

+

Optional pageId: string

+
+

params#

+

Optional params: PageParams<any>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.ProtocolHandlerRegistration/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.ProtocolHandlerRegistration/index.html new file mode 100644 index 0000000000..d55536a85d --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.ProtocolHandlerRegistration/index.html @@ -0,0 +1,863 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: ProtocolHandlerRegistration - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: ProtocolHandlerRegistration#

+

Common.Types.ProtocolHandlerRegistration

+

ProtocolHandlerRegistration is the data required for an extension to register +a handler to a specific path or dynamic path.

+

Table of contents#

+

Properties#

+ +

Properties#

+

handler#

+

handler: ProtocolRouteHandler

+
+

pathSchema#

+

pathSchema: string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.ProtocolRouteHandler/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.ProtocolRouteHandler/index.html new file mode 100644 index 0000000000..5abfea0d1a --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.ProtocolRouteHandler/index.html @@ -0,0 +1,844 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: ProtocolRouteHandler - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: ProtocolRouteHandler#

+

Common.Types.ProtocolRouteHandler

+

Callable#

+

ProtocolRouteHandler#

+

ProtocolRouteHandler(params): void

+

RouteHandler represents the function signature of the handler function for +lens:// protocol routing.

+

Parameters#

+ + + + + + + + + + + + + +
NameType
paramsProtocolRouteParams
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.ProtocolRouteParams/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.ProtocolRouteParams/index.html new file mode 100644 index 0000000000..2acd80f833 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.ProtocolRouteParams/index.html @@ -0,0 +1,882 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: ProtocolRouteParams - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: ProtocolRouteParams#

+

Common.Types.ProtocolRouteParams

+

The collection of the dynamic parts of a URI which initiated a lens:// +protocol request

+

Table of contents#

+

Properties#

+ +

Properties#

+

pathname#

+

pathname: Record<string, string>

+

the matching parts of the path. The dynamic parts of the URI path.

+
+ +

search: Record<string, string>

+

the parts of the URI query string

+
+

tail#

+

Optional tail: string

+

if the most specific path schema that is matched does not cover the whole +of the URI's path. Then this field will be set to the remaining path +segments.

+

Example:

+

If the path schema /landing/:type is the matched schema for the URI +/landing/soft/easy then this field will be set to "/easy".

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.RegisteredPage/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.RegisteredPage/index.html new file mode 100644 index 0000000000..f06ff35183 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.RegisteredPage/index.html @@ -0,0 +1,894 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: RegisteredPage - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.ShellEnvContext/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.ShellEnvContext/index.html new file mode 100644 index 0000000000..901d7ae0ba --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.ShellEnvContext/index.html @@ -0,0 +1,850 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: ShellEnvContext - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Common.Types.StatusBarRegistration/index.html b/v5.4.0/extensions/api/interfaces/Common.Types.StatusBarRegistration/index.html new file mode 100644 index 0000000000..e3880c367a --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Common.Types.StatusBarRegistration/index.html @@ -0,0 +1,865 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: StatusBarRegistration - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: StatusBarRegistration#

+

Common.Types.StatusBarRegistration

+

Copyright (c) OpenLens Authors. All rights reserved. +Licensed under MIT License. See LICENSE in root directory for more information.

+

Table of contents#

+

Properties#

+ +

Properties#

+

components#

+

Optional components: StatusBarComponents

+

The newer API, allows for registering a component instead of a ReactNode

+
+

item#

+

Optional item: ReactNode | () => ReactNode

+

deprecated use StatusBarRegistration.components instead

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.AdditionalCategoryColumnRegistration/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.AdditionalCategoryColumnRegistration/index.html new file mode 100644 index 0000000000..b780f8aff8 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.AdditionalCategoryColumnRegistration/index.html @@ -0,0 +1,1043 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: AdditionalCategoryColumnRegistration - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: AdditionalCategoryColumnRegistration#

+

Renderer.Component.AdditionalCategoryColumnRegistration

+

This is the type used to declare new catalog category columns

+

Hierarchy#

+ +

AdditionalCategoryColumnRegistration

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

group#

+

group: string

+

The catalog entity group that is declared by the category for this registration

+

e.g. +- "entity.k8slens.dev"

+
+

id#

+

id: string

+

This value MUST to be unique to your extension

+

Inherited from#

+

CategoryColumnRegistration.id

+
+

kind#

+

kind: string

+

The catalog entity kind that is declared by the category for this registration

+

e.g. +- "KubernetesCluster"

+
+

priority#

+

Optional priority: number

+

The sorting order value.

+

default 50

+

Inherited from#

+

CategoryColumnRegistration.priority

+
+

titleProps#

+

titleProps: TitleCellProps

+

This function will be used to generate the columns title cell.

+

Inherited from#

+

CategoryColumnRegistration.titleProps

+

Methods#

+

renderCell#

+

renderCell(entity): ReactNode

+

This function will be called to generate the cells (on demand) for the column

+

Parameters#

+ + + + + + + + + + + + + +
NameType
entityCatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>
+

Returns#

+

ReactNode

+

Inherited from#

+

CategoryColumnRegistration.renderCell

+
+

searchFilter#

+

Optional searchFilter(entity): string | string[]

+

If provided then searching is supported on this column and this function will be called +to determine if the current search string matches for this row.

+

Parameters#

+ + + + + + + + + + + + + +
NameType
entityCatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>
+

Returns#

+

string | string[]

+

Inherited from#

+

CategoryColumnRegistration.searchFilter

+
+

sortCallback#

+

Optional sortCallback(entity): string | number | (string | number)[]

+

If provided then the column will support sorting and this function will be called to +determine a row's ordering.

+

strings are sorted ahead of numbers, and arrays determine ordering between equal +elements of the previous index.

+

Parameters#

+ + + + + + + + + + + + + +
NameType
entityCatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>
+

Returns#

+

string | number | (string | number)[]

+

Inherited from#

+

CategoryColumnRegistration.sortCallback

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.BadgeProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.BadgeProps/index.html new file mode 100644 index 0000000000..fba2c0e6f3 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.BadgeProps/index.html @@ -0,0 +1,4349 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: BadgeProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: BadgeProps#

+

Renderer.Component.BadgeProps

+

Hierarchy#

+ +

BadgeProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

about#

+

Optional about: string

+

Inherited from#

+

React.HTMLAttributes.about

+
+

accessKey#

+

Optional accessKey: string

+

Inherited from#

+

React.HTMLAttributes.accessKey

+
+

aria-activedescendant#

+

Optional aria-activedescendant: string

+

Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

+

Inherited from#

+

React.HTMLAttributes.aria-activedescendant

+
+

aria-atomic#

+

Optional aria-atomic: Booleanish

+

Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

+

Inherited from#

+

React.HTMLAttributes.aria-atomic

+
+

aria-autocomplete#

+

Optional aria-autocomplete: "list" | "none" | "inline" | "both"

+

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be +presented if they are made.

+

Inherited from#

+

React.HTMLAttributes.aria-autocomplete

+
+

aria-busy#

+

Optional aria-busy: Booleanish

+

Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

+

Inherited from#

+

React.HTMLAttributes.aria-busy

+
+

aria-checked#

+

Optional aria-checked: boolean | "true" | "false" | "mixed"

+

Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

+

see aria-pressed @see aria-selected.

+

Inherited from#

+

React.HTMLAttributes.aria-checked

+
+

aria-colcount#

+

Optional aria-colcount: number

+

Defines the total number of columns in a table, grid, or treegrid.

+

see aria-colindex.

+

Inherited from#

+

React.HTMLAttributes.aria-colcount

+
+

aria-colindex#

+

Optional aria-colindex: number

+

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

+

see aria-colcount @see aria-colspan.

+

Inherited from#

+

React.HTMLAttributes.aria-colindex

+
+

aria-colspan#

+

Optional aria-colspan: number

+

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-colindex @see aria-rowspan.

+

Inherited from#

+

React.HTMLAttributes.aria-colspan

+
+

aria-controls#

+

Optional aria-controls: string

+

Identifies the element (or elements) whose contents or presence are controlled by the current element.

+

see aria-owns.

+

Inherited from#

+

React.HTMLAttributes.aria-controls

+
+

aria-current#

+

Optional aria-current: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date"

+

Indicates the element that represents the current item within a container or set of related elements.

+

Inherited from#

+

React.HTMLAttributes.aria-current

+
+

aria-describedby#

+

Optional aria-describedby: string

+

Identifies the element (or elements) that describes the object.

+

see aria-labelledby

+

Inherited from#

+

React.HTMLAttributes.aria-describedby

+
+

aria-details#

+

Optional aria-details: string

+

Identifies the element that provides a detailed, extended description for the object.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLAttributes.aria-details

+
+

aria-disabled#

+

Optional aria-disabled: Booleanish

+

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

+

see aria-hidden @see aria-readonly.

+

Inherited from#

+

React.HTMLAttributes.aria-disabled

+
+

aria-dropeffect#

+

Optional aria-dropeffect: "link" | "none" | "copy" | "execute" | "move" | "popup"

+

Indicates what functions can be performed when a dragged object is released on the drop target.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLAttributes.aria-dropeffect

+
+

aria-errormessage#

+

Optional aria-errormessage: string

+

Identifies the element that provides an error message for the object.

+

see aria-invalid @see aria-describedby.

+

Inherited from#

+

React.HTMLAttributes.aria-errormessage

+
+

aria-expanded#

+

Optional aria-expanded: Booleanish

+

Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

+

Inherited from#

+

React.HTMLAttributes.aria-expanded

+
+

aria-flowto#

+

Optional aria-flowto: string

+

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, +allows assistive technology to override the general default of reading in document source order.

+

Inherited from#

+

React.HTMLAttributes.aria-flowto

+
+

aria-grabbed#

+

Optional aria-grabbed: Booleanish

+

Indicates an element's "grabbed" state in a drag-and-drop operation.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLAttributes.aria-grabbed

+
+

aria-haspopup#

+

Optional aria-haspopup: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree"

+

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

+

Inherited from#

+

React.HTMLAttributes.aria-haspopup

+
+

aria-hidden#

+

Optional aria-hidden: Booleanish

+

Indicates whether the element is exposed to an accessibility API.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLAttributes.aria-hidden

+
+

aria-invalid#

+

Optional aria-invalid: boolean | "true" | "false" | "grammar" | "spelling"

+

Indicates the entered value does not conform to the format expected by the application.

+

see aria-errormessage.

+

Inherited from#

+

React.HTMLAttributes.aria-invalid

+
+

aria-keyshortcuts#

+

Optional aria-keyshortcuts: string

+

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

+

Inherited from#

+

React.HTMLAttributes.aria-keyshortcuts

+
+

aria-label#

+

Optional aria-label: string

+

Defines a string value that labels the current element.

+

see aria-labelledby.

+

Inherited from#

+

React.HTMLAttributes.aria-label

+
+

aria-labelledby#

+

Optional aria-labelledby: string

+

Identifies the element (or elements) that labels the current element.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLAttributes.aria-labelledby

+
+

aria-level#

+

Optional aria-level: number

+

Defines the hierarchical level of an element within a structure.

+

Inherited from#

+

React.HTMLAttributes.aria-level

+
+

aria-live#

+

Optional aria-live: "off" | "assertive" | "polite"

+

Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

+

Inherited from#

+

React.HTMLAttributes.aria-live

+
+

aria-modal#

+

Optional aria-modal: Booleanish

+

Indicates whether an element is modal when displayed.

+

Inherited from#

+

React.HTMLAttributes.aria-modal

+
+

aria-multiline#

+

Optional aria-multiline: Booleanish

+

Indicates whether a text box accepts multiple lines of input or only a single line.

+

Inherited from#

+

React.HTMLAttributes.aria-multiline

+
+

aria-multiselectable#

+

Optional aria-multiselectable: Booleanish

+

Indicates that the user may select more than one item from the current selectable descendants.

+

Inherited from#

+

React.HTMLAttributes.aria-multiselectable

+
+

aria-orientation#

+

Optional aria-orientation: "horizontal" | "vertical"

+

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

+

Inherited from#

+

React.HTMLAttributes.aria-orientation

+
+

aria-owns#

+

Optional aria-owns: string

+

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship +between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

+

see aria-controls.

+

Inherited from#

+

React.HTMLAttributes.aria-owns

+
+

aria-placeholder#

+

Optional aria-placeholder: string

+

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. +A hint could be a sample value or a brief description of the expected format.

+

Inherited from#

+

React.HTMLAttributes.aria-placeholder

+
+

aria-posinset#

+

Optional aria-posinset: number

+

Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-setsize.

+

Inherited from#

+

React.HTMLAttributes.aria-posinset

+
+

aria-pressed#

+

Optional aria-pressed: boolean | "true" | "false" | "mixed"

+

Indicates the current "pressed" state of toggle buttons.

+

see aria-checked @see aria-selected.

+

Inherited from#

+

React.HTMLAttributes.aria-pressed

+
+

aria-readonly#

+

Optional aria-readonly: Booleanish

+

Indicates that the element is not editable, but is otherwise operable.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLAttributes.aria-readonly

+
+

aria-relevant#

+

Optional aria-relevant: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals"

+

Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

+

see aria-atomic.

+

Inherited from#

+

React.HTMLAttributes.aria-relevant

+
+

aria-required#

+

Optional aria-required: Booleanish

+

Indicates that user input is required on the element before a form may be submitted.

+

Inherited from#

+

React.HTMLAttributes.aria-required

+
+

aria-roledescription#

+

Optional aria-roledescription: string

+

Defines a human-readable, author-localized description for the role of an element.

+

Inherited from#

+

React.HTMLAttributes.aria-roledescription

+
+

aria-rowcount#

+

Optional aria-rowcount: number

+

Defines the total number of rows in a table, grid, or treegrid.

+

see aria-rowindex.

+

Inherited from#

+

React.HTMLAttributes.aria-rowcount

+
+

aria-rowindex#

+

Optional aria-rowindex: number

+

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

+

see aria-rowcount @see aria-rowspan.

+

Inherited from#

+

React.HTMLAttributes.aria-rowindex

+
+

aria-rowspan#

+

Optional aria-rowspan: number

+

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-rowindex @see aria-colspan.

+

Inherited from#

+

React.HTMLAttributes.aria-rowspan

+
+

aria-selected#

+

Optional aria-selected: Booleanish

+

Indicates the current "selected" state of various widgets.

+

see aria-checked @see aria-pressed.

+

Inherited from#

+

React.HTMLAttributes.aria-selected

+
+

aria-setsize#

+

Optional aria-setsize: number

+

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-posinset.

+

Inherited from#

+

React.HTMLAttributes.aria-setsize

+
+

aria-sort#

+

Optional aria-sort: "none" | "ascending" | "descending" | "other"

+

Indicates if items in a table or grid are sorted in ascending or descending order.

+

Inherited from#

+

React.HTMLAttributes.aria-sort

+
+

aria-valuemax#

+

Optional aria-valuemax: number

+

Defines the maximum allowed value for a range widget.

+

Inherited from#

+

React.HTMLAttributes.aria-valuemax

+
+

aria-valuemin#

+

Optional aria-valuemin: number

+

Defines the minimum allowed value for a range widget.

+

Inherited from#

+

React.HTMLAttributes.aria-valuemin

+
+

aria-valuenow#

+

Optional aria-valuenow: number

+

Defines the current value for a range widget.

+

see aria-valuetext.

+

Inherited from#

+

React.HTMLAttributes.aria-valuenow

+
+

aria-valuetext#

+

Optional aria-valuetext: string

+

Defines the human readable text alternative of aria-valuenow for a range widget.

+

Inherited from#

+

React.HTMLAttributes.aria-valuetext

+
+

autoCapitalize#

+

Optional autoCapitalize: string

+

Inherited from#

+

React.HTMLAttributes.autoCapitalize

+
+

autoCorrect#

+

Optional autoCorrect: string

+

Inherited from#

+

React.HTMLAttributes.autoCorrect

+
+

autoSave#

+

Optional autoSave: string

+

Inherited from#

+

React.HTMLAttributes.autoSave

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.HTMLAttributes.children

+
+

className#

+

Optional className: string

+

Inherited from#

+

React.HTMLAttributes.className

+
+

color#

+

Optional color: string

+

Inherited from#

+

React.HTMLAttributes.color

+
+

contentEditable#

+

Optional contentEditable: Booleanish | "inherit"

+

Inherited from#

+

React.HTMLAttributes.contentEditable

+
+

contextMenu#

+

Optional contextMenu: string

+

Inherited from#

+

React.HTMLAttributes.contextMenu

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.HTMLAttributes.dangerouslySetInnerHTML

+
+

datatype#

+

Optional datatype: string

+

Inherited from#

+

React.HTMLAttributes.datatype

+
+

defaultChecked#

+

Optional defaultChecked: boolean

+

Inherited from#

+

React.HTMLAttributes.defaultChecked

+
+

defaultValue#

+

Optional defaultValue: string | number | readonly string[]

+

Inherited from#

+

React.HTMLAttributes.defaultValue

+
+

dir#

+

Optional dir: string

+

Inherited from#

+

React.HTMLAttributes.dir

+
+

disabled#

+

Optional disabled: boolean

+
+

draggable#

+

Optional draggable: Booleanish

+

Inherited from#

+

React.HTMLAttributes.draggable

+
+

expandable#

+

Optional expandable: boolean

+
+

flat#

+

Optional flat: boolean

+
+

hidden#

+

Optional hidden: boolean

+

Inherited from#

+

React.HTMLAttributes.hidden

+
+

id#

+

Optional id: string

+

Inherited from#

+

React.HTMLAttributes.id

+
+

inlist#

+

Optional inlist: any

+

Inherited from#

+

React.HTMLAttributes.inlist

+
+

inputMode#

+

Optional inputMode: "text" | "none" | "search" | "tel" | "url" | "email" | "numeric" | "decimal"

+

Hints at the type of data that might be entered by the user while editing the element or its contents

+

see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

+

Inherited from#

+

React.HTMLAttributes.inputMode

+
+

is#

+

Optional is: string

+

Specify that a standard HTML element should behave like a defined custom built-in element

+

see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

+

Inherited from#

+

React.HTMLAttributes.is

+
+

itemID#

+

Optional itemID: string

+

Inherited from#

+

React.HTMLAttributes.itemID

+
+

itemProp#

+

Optional itemProp: string

+

Inherited from#

+

React.HTMLAttributes.itemProp

+
+

itemRef#

+

Optional itemRef: string

+

Inherited from#

+

React.HTMLAttributes.itemRef

+
+

itemScope#

+

Optional itemScope: boolean

+

Inherited from#

+

React.HTMLAttributes.itemScope

+
+

itemType#

+

Optional itemType: string

+

Inherited from#

+

React.HTMLAttributes.itemType

+
+

label#

+

Optional label: ReactNode

+
+

lang#

+

Optional lang: string

+

Inherited from#

+

React.HTMLAttributes.lang

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWheelCapture

+
+

placeholder#

+

Optional placeholder: string

+

Inherited from#

+

React.HTMLAttributes.placeholder

+
+

prefix#

+

Optional prefix: string

+

Inherited from#

+

React.HTMLAttributes.prefix

+
+

property#

+

Optional property: string

+

Inherited from#

+

React.HTMLAttributes.property

+
+

radioGroup#

+

Optional radioGroup: string

+

Inherited from#

+

React.HTMLAttributes.radioGroup

+
+

resource#

+

Optional resource: string

+

Inherited from#

+

React.HTMLAttributes.resource

+
+

results#

+

Optional results: number

+

Inherited from#

+

React.HTMLAttributes.results

+
+

role#

+

Optional role: AriaRole

+

Inherited from#

+

React.HTMLAttributes.role

+
+

scrollable#

+

Optional scrollable: boolean

+
+

security#

+

Optional security: string

+

Inherited from#

+

React.HTMLAttributes.security

+
+

slot#

+

Optional slot: string

+

Inherited from#

+

React.HTMLAttributes.slot

+
+

small#

+

Optional small: boolean

+
+

spellCheck#

+

Optional spellCheck: Booleanish

+

Inherited from#

+

React.HTMLAttributes.spellCheck

+
+

style#

+

Optional style: CSSProperties

+

Inherited from#

+

React.HTMLAttributes.style

+
+

suppressContentEditableWarning#

+

Optional suppressContentEditableWarning: boolean

+

Inherited from#

+

React.HTMLAttributes.suppressContentEditableWarning

+
+

suppressHydrationWarning#

+

Optional suppressHydrationWarning: boolean

+

Inherited from#

+

React.HTMLAttributes.suppressHydrationWarning

+
+

tabIndex#

+

Optional tabIndex: number

+

Inherited from#

+

React.HTMLAttributes.tabIndex

+
+

title#

+

Optional title: string

+

Inherited from#

+

React.HTMLAttributes.title

+
+

tooltip#

+

Optional tooltip: ReactNode | Omit<TooltipProps, "targetId">

+

Inherited from#

+

TooltipDecoratorProps.tooltip

+
+

tooltipOverrideDisabled#

+

Optional tooltipOverrideDisabled: boolean

+

forces tooltip to detect the target's parent for mouse events. This is +useful for displaying tooltips even when the target is "disabled"

+

Inherited from#

+

TooltipDecoratorProps.tooltipOverrideDisabled

+
+

translate#

+

Optional translate: "yes" | "no"

+

Inherited from#

+

React.HTMLAttributes.translate

+
+

typeof#

+

Optional typeof: string

+

Inherited from#

+

React.HTMLAttributes.typeof

+
+

unselectable#

+

Optional unselectable: "on" | "off"

+

Inherited from#

+

React.HTMLAttributes.unselectable

+
+

vocab#

+

Optional vocab: string

+

Inherited from#

+

React.HTMLAttributes.vocab

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.ButtonProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.ButtonProps/index.html new file mode 100644 index 0000000000..c52e2aafa6 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.ButtonProps/index.html @@ -0,0 +1,4558 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: ButtonProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: ButtonProps#

+

Renderer.Component.ButtonProps

+

Hierarchy#

+ +

ButtonProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

about#

+

Optional about: string

+

Inherited from#

+

ButtonHTMLAttributes.about

+
+

accent#

+

Optional accent: boolean

+
+

accessKey#

+

Optional accessKey: string

+

Inherited from#

+

ButtonHTMLAttributes.accessKey

+
+

active#

+

Optional active: boolean

+
+

aria-activedescendant#

+

Optional aria-activedescendant: string

+

Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

+

Inherited from#

+

ButtonHTMLAttributes.aria-activedescendant

+
+

aria-atomic#

+

Optional aria-atomic: Booleanish

+

Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

+

Inherited from#

+

ButtonHTMLAttributes.aria-atomic

+
+

aria-autocomplete#

+

Optional aria-autocomplete: "list" | "none" | "inline" | "both"

+

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be +presented if they are made.

+

Inherited from#

+

ButtonHTMLAttributes.aria-autocomplete

+
+

aria-busy#

+

Optional aria-busy: Booleanish

+

Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

+

Inherited from#

+

ButtonHTMLAttributes.aria-busy

+
+

aria-checked#

+

Optional aria-checked: boolean | "true" | "false" | "mixed"

+

Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

+

see aria-pressed @see aria-selected.

+

Inherited from#

+

ButtonHTMLAttributes.aria-checked

+
+

aria-colcount#

+

Optional aria-colcount: number

+

Defines the total number of columns in a table, grid, or treegrid.

+

see aria-colindex.

+

Inherited from#

+

ButtonHTMLAttributes.aria-colcount

+
+

aria-colindex#

+

Optional aria-colindex: number

+

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

+

see aria-colcount @see aria-colspan.

+

Inherited from#

+

ButtonHTMLAttributes.aria-colindex

+
+

aria-colspan#

+

Optional aria-colspan: number

+

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-colindex @see aria-rowspan.

+

Inherited from#

+

ButtonHTMLAttributes.aria-colspan

+
+

aria-controls#

+

Optional aria-controls: string

+

Identifies the element (or elements) whose contents or presence are controlled by the current element.

+

see aria-owns.

+

Inherited from#

+

ButtonHTMLAttributes.aria-controls

+
+

aria-current#

+

Optional aria-current: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date"

+

Indicates the element that represents the current item within a container or set of related elements.

+

Inherited from#

+

ButtonHTMLAttributes.aria-current

+
+

aria-describedby#

+

Optional aria-describedby: string

+

Identifies the element (or elements) that describes the object.

+

see aria-labelledby

+

Inherited from#

+

ButtonHTMLAttributes.aria-describedby

+
+

aria-details#

+

Optional aria-details: string

+

Identifies the element that provides a detailed, extended description for the object.

+

see aria-describedby.

+

Inherited from#

+

ButtonHTMLAttributes.aria-details

+
+

aria-disabled#

+

Optional aria-disabled: Booleanish

+

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

+

see aria-hidden @see aria-readonly.

+

Inherited from#

+

ButtonHTMLAttributes.aria-disabled

+
+

aria-dropeffect#

+

Optional aria-dropeffect: "link" | "none" | "copy" | "execute" | "move" | "popup"

+

Indicates what functions can be performed when a dragged object is released on the drop target.

+

deprecated in ARIA 1.1

+

Inherited from#

+

ButtonHTMLAttributes.aria-dropeffect

+
+

aria-errormessage#

+

Optional aria-errormessage: string

+

Identifies the element that provides an error message for the object.

+

see aria-invalid @see aria-describedby.

+

Inherited from#

+

ButtonHTMLAttributes.aria-errormessage

+
+

aria-expanded#

+

Optional aria-expanded: Booleanish

+

Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

+

Inherited from#

+

ButtonHTMLAttributes.aria-expanded

+
+

aria-flowto#

+

Optional aria-flowto: string

+

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, +allows assistive technology to override the general default of reading in document source order.

+

Inherited from#

+

ButtonHTMLAttributes.aria-flowto

+
+

aria-grabbed#

+

Optional aria-grabbed: Booleanish

+

Indicates an element's "grabbed" state in a drag-and-drop operation.

+

deprecated in ARIA 1.1

+

Inherited from#

+

ButtonHTMLAttributes.aria-grabbed

+
+

aria-haspopup#

+

Optional aria-haspopup: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree"

+

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

+

Inherited from#

+

ButtonHTMLAttributes.aria-haspopup

+
+

aria-hidden#

+

Optional aria-hidden: Booleanish

+

Indicates whether the element is exposed to an accessibility API.

+

see aria-disabled.

+

Inherited from#

+

ButtonHTMLAttributes.aria-hidden

+
+

aria-invalid#

+

Optional aria-invalid: boolean | "true" | "false" | "grammar" | "spelling"

+

Indicates the entered value does not conform to the format expected by the application.

+

see aria-errormessage.

+

Inherited from#

+

ButtonHTMLAttributes.aria-invalid

+
+

aria-keyshortcuts#

+

Optional aria-keyshortcuts: string

+

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

+

Inherited from#

+

ButtonHTMLAttributes.aria-keyshortcuts

+
+

aria-label#

+

Optional aria-label: string

+

Defines a string value that labels the current element.

+

see aria-labelledby.

+

Inherited from#

+

ButtonHTMLAttributes.aria-label

+
+

aria-labelledby#

+

Optional aria-labelledby: string

+

Identifies the element (or elements) that labels the current element.

+

see aria-describedby.

+

Inherited from#

+

ButtonHTMLAttributes.aria-labelledby

+
+

aria-level#

+

Optional aria-level: number

+

Defines the hierarchical level of an element within a structure.

+

Inherited from#

+

ButtonHTMLAttributes.aria-level

+
+

aria-live#

+

Optional aria-live: "off" | "assertive" | "polite"

+

Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

+

Inherited from#

+

ButtonHTMLAttributes.aria-live

+
+

aria-modal#

+

Optional aria-modal: Booleanish

+

Indicates whether an element is modal when displayed.

+

Inherited from#

+

ButtonHTMLAttributes.aria-modal

+
+

aria-multiline#

+

Optional aria-multiline: Booleanish

+

Indicates whether a text box accepts multiple lines of input or only a single line.

+

Inherited from#

+

ButtonHTMLAttributes.aria-multiline

+
+

aria-multiselectable#

+

Optional aria-multiselectable: Booleanish

+

Indicates that the user may select more than one item from the current selectable descendants.

+

Inherited from#

+

ButtonHTMLAttributes.aria-multiselectable

+
+

aria-orientation#

+

Optional aria-orientation: "horizontal" | "vertical"

+

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

+

Inherited from#

+

ButtonHTMLAttributes.aria-orientation

+
+

aria-owns#

+

Optional aria-owns: string

+

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship +between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

+

see aria-controls.

+

Inherited from#

+

ButtonHTMLAttributes.aria-owns

+
+

aria-placeholder#

+

Optional aria-placeholder: string

+

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. +A hint could be a sample value or a brief description of the expected format.

+

Inherited from#

+

ButtonHTMLAttributes.aria-placeholder

+
+

aria-posinset#

+

Optional aria-posinset: number

+

Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-setsize.

+

Inherited from#

+

ButtonHTMLAttributes.aria-posinset

+
+

aria-pressed#

+

Optional aria-pressed: boolean | "true" | "false" | "mixed"

+

Indicates the current "pressed" state of toggle buttons.

+

see aria-checked @see aria-selected.

+

Inherited from#

+

ButtonHTMLAttributes.aria-pressed

+
+

aria-readonly#

+

Optional aria-readonly: Booleanish

+

Indicates that the element is not editable, but is otherwise operable.

+

see aria-disabled.

+

Inherited from#

+

ButtonHTMLAttributes.aria-readonly

+
+

aria-relevant#

+

Optional aria-relevant: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals"

+

Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

+

see aria-atomic.

+

Inherited from#

+

ButtonHTMLAttributes.aria-relevant

+
+

aria-required#

+

Optional aria-required: Booleanish

+

Indicates that user input is required on the element before a form may be submitted.

+

Inherited from#

+

ButtonHTMLAttributes.aria-required

+
+

aria-roledescription#

+

Optional aria-roledescription: string

+

Defines a human-readable, author-localized description for the role of an element.

+

Inherited from#

+

ButtonHTMLAttributes.aria-roledescription

+
+

aria-rowcount#

+

Optional aria-rowcount: number

+

Defines the total number of rows in a table, grid, or treegrid.

+

see aria-rowindex.

+

Inherited from#

+

ButtonHTMLAttributes.aria-rowcount

+
+

aria-rowindex#

+

Optional aria-rowindex: number

+

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

+

see aria-rowcount @see aria-rowspan.

+

Inherited from#

+

ButtonHTMLAttributes.aria-rowindex

+
+

aria-rowspan#

+

Optional aria-rowspan: number

+

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-rowindex @see aria-colspan.

+

Inherited from#

+

ButtonHTMLAttributes.aria-rowspan

+
+

aria-selected#

+

Optional aria-selected: Booleanish

+

Indicates the current "selected" state of various widgets.

+

see aria-checked @see aria-pressed.

+

Inherited from#

+

ButtonHTMLAttributes.aria-selected

+
+

aria-setsize#

+

Optional aria-setsize: number

+

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-posinset.

+

Inherited from#

+

ButtonHTMLAttributes.aria-setsize

+
+

aria-sort#

+

Optional aria-sort: "none" | "ascending" | "descending" | "other"

+

Indicates if items in a table or grid are sorted in ascending or descending order.

+

Inherited from#

+

ButtonHTMLAttributes.aria-sort

+
+

aria-valuemax#

+

Optional aria-valuemax: number

+

Defines the maximum allowed value for a range widget.

+

Inherited from#

+

ButtonHTMLAttributes.aria-valuemax

+
+

aria-valuemin#

+

Optional aria-valuemin: number

+

Defines the minimum allowed value for a range widget.

+

Inherited from#

+

ButtonHTMLAttributes.aria-valuemin

+
+

aria-valuenow#

+

Optional aria-valuenow: number

+

Defines the current value for a range widget.

+

see aria-valuetext.

+

Inherited from#

+

ButtonHTMLAttributes.aria-valuenow

+
+

aria-valuetext#

+

Optional aria-valuetext: string

+

Defines the human readable text alternative of aria-valuenow for a range widget.

+

Inherited from#

+

ButtonHTMLAttributes.aria-valuetext

+
+

autoCapitalize#

+

Optional autoCapitalize: string

+

Inherited from#

+

ButtonHTMLAttributes.autoCapitalize

+
+

autoCorrect#

+

Optional autoCorrect: string

+

Inherited from#

+

ButtonHTMLAttributes.autoCorrect

+
+

autoFocus#

+

Optional autoFocus: boolean

+

Inherited from#

+

ButtonHTMLAttributes.autoFocus

+
+

autoSave#

+

Optional autoSave: string

+

Inherited from#

+

ButtonHTMLAttributes.autoSave

+
+

big#

+

Optional big: boolean

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

ButtonHTMLAttributes.children

+
+

className#

+

Optional className: string

+

Inherited from#

+

ButtonHTMLAttributes.className

+
+

color#

+

Optional color: string

+

Inherited from#

+

ButtonHTMLAttributes.color

+
+

contentEditable#

+

Optional contentEditable: Booleanish | "inherit"

+

Inherited from#

+

ButtonHTMLAttributes.contentEditable

+
+

contextMenu#

+

Optional contextMenu: string

+

Inherited from#

+

ButtonHTMLAttributes.contextMenu

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

ButtonHTMLAttributes.dangerouslySetInnerHTML

+
+

datatype#

+

Optional datatype: string

+

Inherited from#

+

ButtonHTMLAttributes.datatype

+
+

defaultChecked#

+

Optional defaultChecked: boolean

+

Inherited from#

+

ButtonHTMLAttributes.defaultChecked

+
+

defaultValue#

+

Optional defaultValue: string | number | readonly string[]

+

Inherited from#

+

ButtonHTMLAttributes.defaultValue

+
+

dir#

+

Optional dir: string

+

Inherited from#

+

ButtonHTMLAttributes.dir

+
+

disabled#

+

Optional disabled: boolean

+

Inherited from#

+

ButtonHTMLAttributes.disabled

+
+

draggable#

+

Optional draggable: Booleanish

+

Inherited from#

+

ButtonHTMLAttributes.draggable

+
+

form#

+

Optional form: string

+

Inherited from#

+

ButtonHTMLAttributes.form

+
+

formAction#

+

Optional formAction: string

+

Inherited from#

+

ButtonHTMLAttributes.formAction

+
+

formEncType#

+

Optional formEncType: string

+

Inherited from#

+

ButtonHTMLAttributes.formEncType

+
+

formMethod#

+

Optional formMethod: string

+

Inherited from#

+

ButtonHTMLAttributes.formMethod

+
+

formNoValidate#

+

Optional formNoValidate: boolean

+

Inherited from#

+

ButtonHTMLAttributes.formNoValidate

+
+

formTarget#

+

Optional formTarget: string

+

Inherited from#

+

ButtonHTMLAttributes.formTarget

+
+

hidden#

+

Optional hidden: boolean

+

Overrides#

+

ButtonHTMLAttributes.hidden

+
+

href#

+

Optional href: string

+
+

id#

+

Optional id: string

+

Inherited from#

+

ButtonHTMLAttributes.id

+
+

inlist#

+

Optional inlist: any

+

Inherited from#

+

ButtonHTMLAttributes.inlist

+
+

inputMode#

+

Optional inputMode: "text" | "none" | "search" | "tel" | "url" | "email" | "numeric" | "decimal"

+

Hints at the type of data that might be entered by the user while editing the element or its contents

+

see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

+

Inherited from#

+

ButtonHTMLAttributes.inputMode

+
+

is#

+

Optional is: string

+

Specify that a standard HTML element should behave like a defined custom built-in element

+

see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

+

Inherited from#

+

ButtonHTMLAttributes.is

+
+

itemID#

+

Optional itemID: string

+

Inherited from#

+

ButtonHTMLAttributes.itemID

+
+

itemProp#

+

Optional itemProp: string

+

Inherited from#

+

ButtonHTMLAttributes.itemProp

+
+

itemRef#

+

Optional itemRef: string

+

Inherited from#

+

ButtonHTMLAttributes.itemRef

+
+

itemScope#

+

Optional itemScope: boolean

+

Inherited from#

+

ButtonHTMLAttributes.itemScope

+
+

itemType#

+

Optional itemType: string

+

Inherited from#

+

ButtonHTMLAttributes.itemType

+
+

label#

+

Optional label: ReactNode

+
+

lang#

+

Optional lang: string

+

Inherited from#

+

ButtonHTMLAttributes.lang

+
+

light#

+

Optional light: boolean

+
+

name#

+

Optional name: string

+

Inherited from#

+

ButtonHTMLAttributes.name

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<any>

+

Inherited from#

+

ButtonHTMLAttributes.onWheelCapture

+
+

outlined#

+

Optional outlined: boolean

+
+

placeholder#

+

Optional placeholder: string

+

Inherited from#

+

ButtonHTMLAttributes.placeholder

+
+

plain#

+

Optional plain: boolean

+
+

prefix#

+

Optional prefix: string

+

Inherited from#

+

ButtonHTMLAttributes.prefix

+
+

primary#

+

Optional primary: boolean

+
+

property#

+

Optional property: string

+

Inherited from#

+

ButtonHTMLAttributes.property

+
+

radioGroup#

+

Optional radioGroup: string

+

Inherited from#

+

ButtonHTMLAttributes.radioGroup

+
+

resource#

+

Optional resource: string

+

Inherited from#

+

ButtonHTMLAttributes.resource

+
+

results#

+

Optional results: number

+

Inherited from#

+

ButtonHTMLAttributes.results

+
+

role#

+

Optional role: AriaRole

+

Inherited from#

+

ButtonHTMLAttributes.role

+
+

round#

+

Optional round: boolean

+
+

security#

+

Optional security: string

+

Inherited from#

+

ButtonHTMLAttributes.security

+
+

slot#

+

Optional slot: string

+

Inherited from#

+

ButtonHTMLAttributes.slot

+
+

spellCheck#

+

Optional spellCheck: Booleanish

+

Inherited from#

+

ButtonHTMLAttributes.spellCheck

+
+

style#

+

Optional style: CSSProperties

+

Inherited from#

+

ButtonHTMLAttributes.style

+
+

suppressContentEditableWarning#

+

Optional suppressContentEditableWarning: boolean

+

Inherited from#

+

ButtonHTMLAttributes.suppressContentEditableWarning

+
+

suppressHydrationWarning#

+

Optional suppressHydrationWarning: boolean

+

Inherited from#

+

ButtonHTMLAttributes.suppressHydrationWarning

+
+

tabIndex#

+

Optional tabIndex: number

+

Inherited from#

+

ButtonHTMLAttributes.tabIndex

+
+

target#

+

Optional target: "_blank"

+
+

title#

+

Optional title: string

+

Inherited from#

+

ButtonHTMLAttributes.title

+
+

tooltip#

+

Optional tooltip: ReactNode | Omit<TooltipProps, "targetId">

+

Inherited from#

+

TooltipDecoratorProps.tooltip

+
+

tooltipOverrideDisabled#

+

Optional tooltipOverrideDisabled: boolean

+

forces tooltip to detect the target's parent for mouse events. This is +useful for displaying tooltips even when the target is "disabled"

+

Inherited from#

+

TooltipDecoratorProps.tooltipOverrideDisabled

+
+

translate#

+

Optional translate: "yes" | "no"

+

Inherited from#

+

ButtonHTMLAttributes.translate

+
+

type#

+

Optional type: "button" | "submit" | "reset"

+

Inherited from#

+

ButtonHTMLAttributes.type

+
+

typeof#

+

Optional typeof: string

+

Inherited from#

+

ButtonHTMLAttributes.typeof

+
+

unselectable#

+

Optional unselectable: "on" | "off"

+

Inherited from#

+

ButtonHTMLAttributes.unselectable

+
+

value#

+

Optional value: string | number | readonly string[]

+

Inherited from#

+

ButtonHTMLAttributes.value

+
+

vocab#

+

Optional vocab: string

+

Inherited from#

+

ButtonHTMLAttributes.vocab

+
+

waiting#

+

Optional waiting: boolean

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.CategoryColumnRegistration/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.CategoryColumnRegistration/index.html new file mode 100644 index 0000000000..573f5217d1 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.CategoryColumnRegistration/index.html @@ -0,0 +1,1002 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CategoryColumnRegistration - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CategoryColumnRegistration#

+

Renderer.Component.CategoryColumnRegistration

+

Hierarchy#

+
    +
  • CategoryColumnRegistration
  • +
+

AdditionalCategoryColumnRegistration

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

id#

+

id: string

+

This value MUST to be unique to your extension

+
+

priority#

+

Optional priority: number

+

The sorting order value.

+

default 50

+
+

titleProps#

+

titleProps: TitleCellProps

+

This function will be used to generate the columns title cell.

+

Methods#

+

renderCell#

+

renderCell(entity): ReactNode

+

This function will be called to generate the cells (on demand) for the column

+

Parameters#

+ + + + + + + + + + + + + +
NameType
entityCatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>
+

Returns#

+

ReactNode

+
+

searchFilter#

+

Optional searchFilter(entity): string | string[]

+

If provided then searching is supported on this column and this function will be called +to determine if the current search string matches for this row.

+

Parameters#

+ + + + + + + + + + + + + +
NameType
entityCatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>
+

Returns#

+

string | string[]

+
+

sortCallback#

+

Optional sortCallback(entity): string | number | (string | number)[]

+

If provided then the column will support sorting and this function will be called to +determine a row's ordering.

+

strings are sorted ahead of numbers, and arrays determine ordering between equal +elements of the previous index.

+

Parameters#

+ + + + + + + + + + + + + +
NameType
entityCatalogEntity<CatalogEntityMetadata, CatalogEntityStatus, CatalogEntitySpec>
+

Returns#

+

string | number | (string | number)[]

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.CheckboxProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.CheckboxProps/index.html new file mode 100644 index 0000000000..9c9d42ec3a --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.CheckboxProps/index.html @@ -0,0 +1,971 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: CheckboxProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: CheckboxProps<T>#

+

Renderer.Component.CheckboxProps

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Tboolean
+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

className#

+

Optional className: string

+
+

disabled#

+

Optional disabled: boolean

+
+

inline#

+

Optional inline: boolean

+
+

label#

+

Optional label: ReactNode

+
+

value#

+

Optional value: T

+

Methods#

+

onChange#

+

Optional onChange(value, evt): void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
valueT
evtChangeEvent<HTMLInputElement>
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogBooleanParams/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogBooleanParams/index.html new file mode 100644 index 0000000000..66c7dc92f4 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogBooleanParams/index.html @@ -0,0 +1,917 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: ConfirmDialogBooleanParams - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: ConfirmDialogBooleanParams#

+

Renderer.Component.ConfirmDialogBooleanParams

+

Hierarchy#

+
    +
  • ConfirmDialogBooleanParams
  • +
+

ConfirmDialogParams

+

Table of contents#

+

Properties#

+ +

Properties#

+

cancelButtonProps#

+

Optional cancelButtonProps: Partial<ButtonProps>

+
+

icon#

+

Optional icon: ReactNode

+
+

labelCancel#

+

Optional labelCancel: ReactNode

+
+

labelOk#

+

Optional labelOk: ReactNode

+
+

message#

+

message: ReactNode

+
+

okButtonProps#

+

Optional okButtonProps: Partial<ButtonProps>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogParams/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogParams/index.html new file mode 100644 index 0000000000..ae93301ace --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogParams/index.html @@ -0,0 +1,978 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: ConfirmDialogParams - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: ConfirmDialogParams#

+

Renderer.Component.ConfirmDialogParams

+

Hierarchy#

+ +

ConfirmDialogParams

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

cancelButtonProps#

+

Optional cancelButtonProps: Partial<ButtonProps>

+

Inherited from#

+

ConfirmDialogBooleanParams.cancelButtonProps

+
+

icon#

+

Optional icon: ReactNode

+

Inherited from#

+

ConfirmDialogBooleanParams.icon

+
+

labelCancel#

+

Optional labelCancel: ReactNode

+

Inherited from#

+

ConfirmDialogBooleanParams.labelCancel

+
+

labelOk#

+

Optional labelOk: ReactNode

+

Inherited from#

+

ConfirmDialogBooleanParams.labelOk

+
+

message#

+

message: ReactNode

+

Inherited from#

+

ConfirmDialogBooleanParams.message

+
+

okButtonProps#

+

Optional okButtonProps: Partial<ButtonProps>

+

Inherited from#

+

ConfirmDialogBooleanParams.okButtonProps

+

Methods#

+

cancel#

+

Optional cancel(): any

+

Returns#

+

any

+
+

ok#

+

Optional ok(): any

+

Returns#

+

any

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogProps/index.html new file mode 100644 index 0000000000..64181ef7e7 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.ConfirmDialogProps/index.html @@ -0,0 +1,1012 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: ConfirmDialogProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: ConfirmDialogProps#

+

Renderer.Component.ConfirmDialogProps

+

Hierarchy#

+ +

ConfirmDialogProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

animated#

+

Optional animated: boolean

+

Inherited from#

+

Partial.animated

+
+

className#

+

Optional className: string

+

Inherited from#

+

Partial.className

+
+

data-testid#

+

Optional data-testid: string

+

Inherited from#

+

Partial.data-testid

+
+

isOpen#

+

Optional isOpen: boolean

+

Inherited from#

+

Partial.isOpen

+
+ +

Optional modal: boolean

+

Inherited from#

+

Partial.modal

+
+

pinned#

+

Optional pinned: boolean

+

Inherited from#

+

Partial.pinned

+

Methods#

+

close#

+

Optional close(): void

+

Returns#

+

void

+

Inherited from#

+

Partial.close

+
+

onClose#

+

Optional onClose(): void

+

Returns#

+

void

+

Inherited from#

+

Partial.onClose

+
+

onOpen#

+

Optional onOpen(): void

+

Returns#

+

void

+

Inherited from#

+

Partial.onOpen

+
+

open#

+

Optional open(): void

+

Returns#

+

void

+

Inherited from#

+

Partial.open

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.DialogProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.DialogProps/index.html new file mode 100644 index 0000000000..63f8b12892 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.DialogProps/index.html @@ -0,0 +1,980 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: DialogProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: DialogProps#

+

Renderer.Component.DialogProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

animated#

+

Optional animated: boolean

+
+

className#

+

Optional className: string

+
+

data-testid#

+

Optional data-testid: string

+
+

isOpen#

+

Optional isOpen: boolean

+
+ +

Optional modal: boolean

+
+

pinned#

+

Optional pinned: boolean

+

Methods#

+

close#

+

Optional close(): void

+

Returns#

+

void

+
+

onClose#

+

Optional onClose(): void

+

Returns#

+

void

+
+

onOpen#

+

Optional onOpen(): void

+

Returns#

+

void

+
+

open#

+

Optional open(): void

+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerItemLabelsProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerItemLabelsProps/index.html new file mode 100644 index 0000000000..a5e471e5c7 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerItemLabelsProps/index.html @@ -0,0 +1,4300 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: DrawerItemLabelsProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: DrawerItemLabelsProps#

+

Renderer.Component.DrawerItemLabelsProps

+

Hierarchy#

+ +

DrawerItemLabelsProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

about#

+

Optional about: string

+

Inherited from#

+

DrawerItemProps.about

+
+

accessKey#

+

Optional accessKey: string

+

Inherited from#

+

DrawerItemProps.accessKey

+
+

aria-activedescendant#

+

Optional aria-activedescendant: string

+

Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

+

Inherited from#

+

DrawerItemProps.aria-activedescendant

+
+

aria-atomic#

+

Optional aria-atomic: Booleanish

+

Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

+

Inherited from#

+

DrawerItemProps.aria-atomic

+
+

aria-autocomplete#

+

Optional aria-autocomplete: "list" | "none" | "inline" | "both"

+

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be +presented if they are made.

+

Inherited from#

+

DrawerItemProps.aria-autocomplete

+
+

aria-busy#

+

Optional aria-busy: Booleanish

+

Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

+

Inherited from#

+

DrawerItemProps.aria-busy

+
+

aria-checked#

+

Optional aria-checked: boolean | "true" | "false" | "mixed"

+

Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

+

see aria-pressed @see aria-selected.

+

Inherited from#

+

DrawerItemProps.aria-checked

+
+

aria-colcount#

+

Optional aria-colcount: number

+

Defines the total number of columns in a table, grid, or treegrid.

+

see aria-colindex.

+

Inherited from#

+

DrawerItemProps.aria-colcount

+
+

aria-colindex#

+

Optional aria-colindex: number

+

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

+

see aria-colcount @see aria-colspan.

+

Inherited from#

+

DrawerItemProps.aria-colindex

+
+

aria-colspan#

+

Optional aria-colspan: number

+

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-colindex @see aria-rowspan.

+

Inherited from#

+

DrawerItemProps.aria-colspan

+
+

aria-controls#

+

Optional aria-controls: string

+

Identifies the element (or elements) whose contents or presence are controlled by the current element.

+

see aria-owns.

+

Inherited from#

+

DrawerItemProps.aria-controls

+
+

aria-current#

+

Optional aria-current: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date"

+

Indicates the element that represents the current item within a container or set of related elements.

+

Inherited from#

+

DrawerItemProps.aria-current

+
+

aria-describedby#

+

Optional aria-describedby: string

+

Identifies the element (or elements) that describes the object.

+

see aria-labelledby

+

Inherited from#

+

DrawerItemProps.aria-describedby

+
+

aria-details#

+

Optional aria-details: string

+

Identifies the element that provides a detailed, extended description for the object.

+

see aria-describedby.

+

Inherited from#

+

DrawerItemProps.aria-details

+
+

aria-disabled#

+

Optional aria-disabled: Booleanish

+

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

+

see aria-hidden @see aria-readonly.

+

Inherited from#

+

DrawerItemProps.aria-disabled

+
+

aria-dropeffect#

+

Optional aria-dropeffect: "link" | "none" | "copy" | "execute" | "move" | "popup"

+

Indicates what functions can be performed when a dragged object is released on the drop target.

+

deprecated in ARIA 1.1

+

Inherited from#

+

DrawerItemProps.aria-dropeffect

+
+

aria-errormessage#

+

Optional aria-errormessage: string

+

Identifies the element that provides an error message for the object.

+

see aria-invalid @see aria-describedby.

+

Inherited from#

+

DrawerItemProps.aria-errormessage

+
+

aria-expanded#

+

Optional aria-expanded: Booleanish

+

Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

+

Inherited from#

+

DrawerItemProps.aria-expanded

+
+

aria-flowto#

+

Optional aria-flowto: string

+

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, +allows assistive technology to override the general default of reading in document source order.

+

Inherited from#

+

DrawerItemProps.aria-flowto

+
+

aria-grabbed#

+

Optional aria-grabbed: Booleanish

+

Indicates an element's "grabbed" state in a drag-and-drop operation.

+

deprecated in ARIA 1.1

+

Inherited from#

+

DrawerItemProps.aria-grabbed

+
+

aria-haspopup#

+

Optional aria-haspopup: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree"

+

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

+

Inherited from#

+

DrawerItemProps.aria-haspopup

+
+

aria-hidden#

+

Optional aria-hidden: Booleanish

+

Indicates whether the element is exposed to an accessibility API.

+

see aria-disabled.

+

Inherited from#

+

DrawerItemProps.aria-hidden

+
+

aria-invalid#

+

Optional aria-invalid: boolean | "true" | "false" | "grammar" | "spelling"

+

Indicates the entered value does not conform to the format expected by the application.

+

see aria-errormessage.

+

Inherited from#

+

DrawerItemProps.aria-invalid

+
+

aria-keyshortcuts#

+

Optional aria-keyshortcuts: string

+

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

+

Inherited from#

+

DrawerItemProps.aria-keyshortcuts

+
+

aria-label#

+

Optional aria-label: string

+

Defines a string value that labels the current element.

+

see aria-labelledby.

+

Inherited from#

+

DrawerItemProps.aria-label

+
+

aria-labelledby#

+

Optional aria-labelledby: string

+

Identifies the element (or elements) that labels the current element.

+

see aria-describedby.

+

Inherited from#

+

DrawerItemProps.aria-labelledby

+
+

aria-level#

+

Optional aria-level: number

+

Defines the hierarchical level of an element within a structure.

+

Inherited from#

+

DrawerItemProps.aria-level

+
+

aria-live#

+

Optional aria-live: "off" | "assertive" | "polite"

+

Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

+

Inherited from#

+

DrawerItemProps.aria-live

+
+

aria-modal#

+

Optional aria-modal: Booleanish

+

Indicates whether an element is modal when displayed.

+

Inherited from#

+

DrawerItemProps.aria-modal

+
+

aria-multiline#

+

Optional aria-multiline: Booleanish

+

Indicates whether a text box accepts multiple lines of input or only a single line.

+

Inherited from#

+

DrawerItemProps.aria-multiline

+
+

aria-multiselectable#

+

Optional aria-multiselectable: Booleanish

+

Indicates that the user may select more than one item from the current selectable descendants.

+

Inherited from#

+

DrawerItemProps.aria-multiselectable

+
+

aria-orientation#

+

Optional aria-orientation: "horizontal" | "vertical"

+

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

+

Inherited from#

+

DrawerItemProps.aria-orientation

+
+

aria-owns#

+

Optional aria-owns: string

+

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship +between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

+

see aria-controls.

+

Inherited from#

+

DrawerItemProps.aria-owns

+
+

aria-placeholder#

+

Optional aria-placeholder: string

+

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. +A hint could be a sample value or a brief description of the expected format.

+

Inherited from#

+

DrawerItemProps.aria-placeholder

+
+

aria-posinset#

+

Optional aria-posinset: number

+

Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-setsize.

+

Inherited from#

+

DrawerItemProps.aria-posinset

+
+

aria-pressed#

+

Optional aria-pressed: boolean | "true" | "false" | "mixed"

+

Indicates the current "pressed" state of toggle buttons.

+

see aria-checked @see aria-selected.

+

Inherited from#

+

DrawerItemProps.aria-pressed

+
+

aria-readonly#

+

Optional aria-readonly: Booleanish

+

Indicates that the element is not editable, but is otherwise operable.

+

see aria-disabled.

+

Inherited from#

+

DrawerItemProps.aria-readonly

+
+

aria-relevant#

+

Optional aria-relevant: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals"

+

Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

+

see aria-atomic.

+

Inherited from#

+

DrawerItemProps.aria-relevant

+
+

aria-required#

+

Optional aria-required: Booleanish

+

Indicates that user input is required on the element before a form may be submitted.

+

Inherited from#

+

DrawerItemProps.aria-required

+
+

aria-roledescription#

+

Optional aria-roledescription: string

+

Defines a human-readable, author-localized description for the role of an element.

+

Inherited from#

+

DrawerItemProps.aria-roledescription

+
+

aria-rowcount#

+

Optional aria-rowcount: number

+

Defines the total number of rows in a table, grid, or treegrid.

+

see aria-rowindex.

+

Inherited from#

+

DrawerItemProps.aria-rowcount

+
+

aria-rowindex#

+

Optional aria-rowindex: number

+

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

+

see aria-rowcount @see aria-rowspan.

+

Inherited from#

+

DrawerItemProps.aria-rowindex

+
+

aria-rowspan#

+

Optional aria-rowspan: number

+

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-rowindex @see aria-colspan.

+

Inherited from#

+

DrawerItemProps.aria-rowspan

+
+

aria-selected#

+

Optional aria-selected: Booleanish

+

Indicates the current "selected" state of various widgets.

+

see aria-checked @see aria-pressed.

+

Inherited from#

+

DrawerItemProps.aria-selected

+
+

aria-setsize#

+

Optional aria-setsize: number

+

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-posinset.

+

Inherited from#

+

DrawerItemProps.aria-setsize

+
+

aria-sort#

+

Optional aria-sort: "none" | "ascending" | "descending" | "other"

+

Indicates if items in a table or grid are sorted in ascending or descending order.

+

Inherited from#

+

DrawerItemProps.aria-sort

+
+

aria-valuemax#

+

Optional aria-valuemax: number

+

Defines the maximum allowed value for a range widget.

+

Inherited from#

+

DrawerItemProps.aria-valuemax

+
+

aria-valuemin#

+

Optional aria-valuemin: number

+

Defines the minimum allowed value for a range widget.

+

Inherited from#

+

DrawerItemProps.aria-valuemin

+
+

aria-valuenow#

+

Optional aria-valuenow: number

+

Defines the current value for a range widget.

+

see aria-valuetext.

+

Inherited from#

+

DrawerItemProps.aria-valuenow

+
+

aria-valuetext#

+

Optional aria-valuetext: string

+

Defines the human readable text alternative of aria-valuenow for a range widget.

+

Inherited from#

+

DrawerItemProps.aria-valuetext

+
+

autoCapitalize#

+

Optional autoCapitalize: string

+

Inherited from#

+

DrawerItemProps.autoCapitalize

+
+

autoCorrect#

+

Optional autoCorrect: string

+

Inherited from#

+

DrawerItemProps.autoCorrect

+
+

autoSave#

+

Optional autoSave: string

+

Inherited from#

+

DrawerItemProps.autoSave

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

DrawerItemProps.children

+
+

className#

+

Optional className: string

+

Inherited from#

+

DrawerItemProps.className

+
+

color#

+

Optional color: string

+

Inherited from#

+

DrawerItemProps.color

+
+

contentEditable#

+

Optional contentEditable: Booleanish | "inherit"

+

Inherited from#

+

DrawerItemProps.contentEditable

+
+

contextMenu#

+

Optional contextMenu: string

+

Inherited from#

+

DrawerItemProps.contextMenu

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

DrawerItemProps.dangerouslySetInnerHTML

+
+

datatype#

+

Optional datatype: string

+

Inherited from#

+

DrawerItemProps.datatype

+
+

defaultChecked#

+

Optional defaultChecked: boolean

+

Inherited from#

+

DrawerItemProps.defaultChecked

+
+

defaultValue#

+

Optional defaultValue: string | number | readonly string[]

+

Inherited from#

+

DrawerItemProps.defaultValue

+
+

dir#

+

Optional dir: string

+

Inherited from#

+

DrawerItemProps.dir

+
+

draggable#

+

Optional draggable: Booleanish

+

Inherited from#

+

DrawerItemProps.draggable

+
+

hidden#

+

Optional hidden: boolean

+

Inherited from#

+

DrawerItemProps.hidden

+
+

id#

+

Optional id: string

+

Inherited from#

+

DrawerItemProps.id

+
+

inlist#

+

Optional inlist: any

+

Inherited from#

+

DrawerItemProps.inlist

+
+

inputMode#

+

Optional inputMode: "text" | "none" | "search" | "tel" | "url" | "email" | "numeric" | "decimal"

+

Hints at the type of data that might be entered by the user while editing the element or its contents

+

see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

+

Inherited from#

+

DrawerItemProps.inputMode

+
+

is#

+

Optional is: string

+

Specify that a standard HTML element should behave like a defined custom built-in element

+

see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

+

Inherited from#

+

DrawerItemProps.is

+
+

itemID#

+

Optional itemID: string

+

Inherited from#

+

DrawerItemProps.itemID

+
+

itemProp#

+

Optional itemProp: string

+

Inherited from#

+

DrawerItemProps.itemProp

+
+

itemRef#

+

Optional itemRef: string

+

Inherited from#

+

DrawerItemProps.itemRef

+
+

itemScope#

+

Optional itemScope: boolean

+

Inherited from#

+

DrawerItemProps.itemScope

+
+

itemType#

+

Optional itemType: string

+

Inherited from#

+

DrawerItemProps.itemType

+
+

labels#

+

labels: string[]

+
+

labelsOnly#

+

Optional labelsOnly: boolean

+

Inherited from#

+

DrawerItemProps.labelsOnly

+
+

lang#

+

Optional lang: string

+

Inherited from#

+

DrawerItemProps.lang

+
+

name#

+

name: ReactNode

+

Inherited from#

+

DrawerItemProps.name

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<any>

+

Inherited from#

+

DrawerItemProps.onWheelCapture

+
+

placeholder#

+

Optional placeholder: string

+

Inherited from#

+

DrawerItemProps.placeholder

+
+

prefix#

+

Optional prefix: string

+

Inherited from#

+

DrawerItemProps.prefix

+
+

property#

+

Optional property: string

+

Inherited from#

+

DrawerItemProps.property

+
+

radioGroup#

+

Optional radioGroup: string

+

Inherited from#

+

DrawerItemProps.radioGroup

+
+

renderBoolean#

+

Optional renderBoolean: boolean

+

Inherited from#

+

DrawerItemProps.renderBoolean

+
+

resource#

+

Optional resource: string

+

Inherited from#

+

DrawerItemProps.resource

+
+

results#

+

Optional results: number

+

Inherited from#

+

DrawerItemProps.results

+
+

role#

+

Optional role: AriaRole

+

Inherited from#

+

DrawerItemProps.role

+
+

security#

+

Optional security: string

+

Inherited from#

+

DrawerItemProps.security

+
+

slot#

+

Optional slot: string

+

Inherited from#

+

DrawerItemProps.slot

+
+

spellCheck#

+

Optional spellCheck: Booleanish

+

Inherited from#

+

DrawerItemProps.spellCheck

+
+

style#

+

Optional style: CSSProperties

+

Inherited from#

+

DrawerItemProps.style

+
+

suppressContentEditableWarning#

+

Optional suppressContentEditableWarning: boolean

+

Inherited from#

+

DrawerItemProps.suppressContentEditableWarning

+
+

suppressHydrationWarning#

+

Optional suppressHydrationWarning: boolean

+

Inherited from#

+

DrawerItemProps.suppressHydrationWarning

+
+

tabIndex#

+

Optional tabIndex: number

+

Inherited from#

+

DrawerItemProps.tabIndex

+
+

title#

+

Optional title: string

+

Inherited from#

+

DrawerItemProps.title

+
+

translate#

+

Optional translate: "yes" | "no"

+

Inherited from#

+

DrawerItemProps.translate

+
+

typeof#

+

Optional typeof: string

+

Inherited from#

+

DrawerItemProps.typeof

+
+

unselectable#

+

Optional unselectable: "on" | "off"

+

Inherited from#

+

DrawerItemProps.unselectable

+
+

vocab#

+

Optional vocab: string

+

Inherited from#

+

DrawerItemProps.vocab

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerItemProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerItemProps/index.html new file mode 100644 index 0000000000..e576110345 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerItemProps/index.html @@ -0,0 +1,4284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: DrawerItemProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: DrawerItemProps#

+

Renderer.Component.DrawerItemProps

+

Hierarchy#

+
    +
  • HTMLAttributes<any>
  • +
+

DrawerItemProps

+

↳↳ DrawerItemLabelsProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

about#

+

Optional about: string

+

Inherited from#

+

React.HTMLAttributes.about

+
+

accessKey#

+

Optional accessKey: string

+

Inherited from#

+

React.HTMLAttributes.accessKey

+
+

aria-activedescendant#

+

Optional aria-activedescendant: string

+

Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

+

Inherited from#

+

React.HTMLAttributes.aria-activedescendant

+
+

aria-atomic#

+

Optional aria-atomic: Booleanish

+

Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

+

Inherited from#

+

React.HTMLAttributes.aria-atomic

+
+

aria-autocomplete#

+

Optional aria-autocomplete: "list" | "none" | "inline" | "both"

+

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be +presented if they are made.

+

Inherited from#

+

React.HTMLAttributes.aria-autocomplete

+
+

aria-busy#

+

Optional aria-busy: Booleanish

+

Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

+

Inherited from#

+

React.HTMLAttributes.aria-busy

+
+

aria-checked#

+

Optional aria-checked: boolean | "true" | "false" | "mixed"

+

Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

+

see aria-pressed @see aria-selected.

+

Inherited from#

+

React.HTMLAttributes.aria-checked

+
+

aria-colcount#

+

Optional aria-colcount: number

+

Defines the total number of columns in a table, grid, or treegrid.

+

see aria-colindex.

+

Inherited from#

+

React.HTMLAttributes.aria-colcount

+
+

aria-colindex#

+

Optional aria-colindex: number

+

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

+

see aria-colcount @see aria-colspan.

+

Inherited from#

+

React.HTMLAttributes.aria-colindex

+
+

aria-colspan#

+

Optional aria-colspan: number

+

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-colindex @see aria-rowspan.

+

Inherited from#

+

React.HTMLAttributes.aria-colspan

+
+

aria-controls#

+

Optional aria-controls: string

+

Identifies the element (or elements) whose contents or presence are controlled by the current element.

+

see aria-owns.

+

Inherited from#

+

React.HTMLAttributes.aria-controls

+
+

aria-current#

+

Optional aria-current: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date"

+

Indicates the element that represents the current item within a container or set of related elements.

+

Inherited from#

+

React.HTMLAttributes.aria-current

+
+

aria-describedby#

+

Optional aria-describedby: string

+

Identifies the element (or elements) that describes the object.

+

see aria-labelledby

+

Inherited from#

+

React.HTMLAttributes.aria-describedby

+
+

aria-details#

+

Optional aria-details: string

+

Identifies the element that provides a detailed, extended description for the object.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLAttributes.aria-details

+
+

aria-disabled#

+

Optional aria-disabled: Booleanish

+

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

+

see aria-hidden @see aria-readonly.

+

Inherited from#

+

React.HTMLAttributes.aria-disabled

+
+

aria-dropeffect#

+

Optional aria-dropeffect: "link" | "none" | "copy" | "execute" | "move" | "popup"

+

Indicates what functions can be performed when a dragged object is released on the drop target.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLAttributes.aria-dropeffect

+
+

aria-errormessage#

+

Optional aria-errormessage: string

+

Identifies the element that provides an error message for the object.

+

see aria-invalid @see aria-describedby.

+

Inherited from#

+

React.HTMLAttributes.aria-errormessage

+
+

aria-expanded#

+

Optional aria-expanded: Booleanish

+

Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

+

Inherited from#

+

React.HTMLAttributes.aria-expanded

+
+

aria-flowto#

+

Optional aria-flowto: string

+

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, +allows assistive technology to override the general default of reading in document source order.

+

Inherited from#

+

React.HTMLAttributes.aria-flowto

+
+

aria-grabbed#

+

Optional aria-grabbed: Booleanish

+

Indicates an element's "grabbed" state in a drag-and-drop operation.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLAttributes.aria-grabbed

+
+

aria-haspopup#

+

Optional aria-haspopup: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree"

+

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

+

Inherited from#

+

React.HTMLAttributes.aria-haspopup

+
+

aria-hidden#

+

Optional aria-hidden: Booleanish

+

Indicates whether the element is exposed to an accessibility API.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLAttributes.aria-hidden

+
+

aria-invalid#

+

Optional aria-invalid: boolean | "true" | "false" | "grammar" | "spelling"

+

Indicates the entered value does not conform to the format expected by the application.

+

see aria-errormessage.

+

Inherited from#

+

React.HTMLAttributes.aria-invalid

+
+

aria-keyshortcuts#

+

Optional aria-keyshortcuts: string

+

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

+

Inherited from#

+

React.HTMLAttributes.aria-keyshortcuts

+
+

aria-label#

+

Optional aria-label: string

+

Defines a string value that labels the current element.

+

see aria-labelledby.

+

Inherited from#

+

React.HTMLAttributes.aria-label

+
+

aria-labelledby#

+

Optional aria-labelledby: string

+

Identifies the element (or elements) that labels the current element.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLAttributes.aria-labelledby

+
+

aria-level#

+

Optional aria-level: number

+

Defines the hierarchical level of an element within a structure.

+

Inherited from#

+

React.HTMLAttributes.aria-level

+
+

aria-live#

+

Optional aria-live: "off" | "assertive" | "polite"

+

Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

+

Inherited from#

+

React.HTMLAttributes.aria-live

+
+

aria-modal#

+

Optional aria-modal: Booleanish

+

Indicates whether an element is modal when displayed.

+

Inherited from#

+

React.HTMLAttributes.aria-modal

+
+

aria-multiline#

+

Optional aria-multiline: Booleanish

+

Indicates whether a text box accepts multiple lines of input or only a single line.

+

Inherited from#

+

React.HTMLAttributes.aria-multiline

+
+

aria-multiselectable#

+

Optional aria-multiselectable: Booleanish

+

Indicates that the user may select more than one item from the current selectable descendants.

+

Inherited from#

+

React.HTMLAttributes.aria-multiselectable

+
+

aria-orientation#

+

Optional aria-orientation: "horizontal" | "vertical"

+

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

+

Inherited from#

+

React.HTMLAttributes.aria-orientation

+
+

aria-owns#

+

Optional aria-owns: string

+

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship +between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

+

see aria-controls.

+

Inherited from#

+

React.HTMLAttributes.aria-owns

+
+

aria-placeholder#

+

Optional aria-placeholder: string

+

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. +A hint could be a sample value or a brief description of the expected format.

+

Inherited from#

+

React.HTMLAttributes.aria-placeholder

+
+

aria-posinset#

+

Optional aria-posinset: number

+

Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-setsize.

+

Inherited from#

+

React.HTMLAttributes.aria-posinset

+
+

aria-pressed#

+

Optional aria-pressed: boolean | "true" | "false" | "mixed"

+

Indicates the current "pressed" state of toggle buttons.

+

see aria-checked @see aria-selected.

+

Inherited from#

+

React.HTMLAttributes.aria-pressed

+
+

aria-readonly#

+

Optional aria-readonly: Booleanish

+

Indicates that the element is not editable, but is otherwise operable.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLAttributes.aria-readonly

+
+

aria-relevant#

+

Optional aria-relevant: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals"

+

Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

+

see aria-atomic.

+

Inherited from#

+

React.HTMLAttributes.aria-relevant

+
+

aria-required#

+

Optional aria-required: Booleanish

+

Indicates that user input is required on the element before a form may be submitted.

+

Inherited from#

+

React.HTMLAttributes.aria-required

+
+

aria-roledescription#

+

Optional aria-roledescription: string

+

Defines a human-readable, author-localized description for the role of an element.

+

Inherited from#

+

React.HTMLAttributes.aria-roledescription

+
+

aria-rowcount#

+

Optional aria-rowcount: number

+

Defines the total number of rows in a table, grid, or treegrid.

+

see aria-rowindex.

+

Inherited from#

+

React.HTMLAttributes.aria-rowcount

+
+

aria-rowindex#

+

Optional aria-rowindex: number

+

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

+

see aria-rowcount @see aria-rowspan.

+

Inherited from#

+

React.HTMLAttributes.aria-rowindex

+
+

aria-rowspan#

+

Optional aria-rowspan: number

+

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-rowindex @see aria-colspan.

+

Inherited from#

+

React.HTMLAttributes.aria-rowspan

+
+

aria-selected#

+

Optional aria-selected: Booleanish

+

Indicates the current "selected" state of various widgets.

+

see aria-checked @see aria-pressed.

+

Inherited from#

+

React.HTMLAttributes.aria-selected

+
+

aria-setsize#

+

Optional aria-setsize: number

+

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-posinset.

+

Inherited from#

+

React.HTMLAttributes.aria-setsize

+
+

aria-sort#

+

Optional aria-sort: "none" | "ascending" | "descending" | "other"

+

Indicates if items in a table or grid are sorted in ascending or descending order.

+

Inherited from#

+

React.HTMLAttributes.aria-sort

+
+

aria-valuemax#

+

Optional aria-valuemax: number

+

Defines the maximum allowed value for a range widget.

+

Inherited from#

+

React.HTMLAttributes.aria-valuemax

+
+

aria-valuemin#

+

Optional aria-valuemin: number

+

Defines the minimum allowed value for a range widget.

+

Inherited from#

+

React.HTMLAttributes.aria-valuemin

+
+

aria-valuenow#

+

Optional aria-valuenow: number

+

Defines the current value for a range widget.

+

see aria-valuetext.

+

Inherited from#

+

React.HTMLAttributes.aria-valuenow

+
+

aria-valuetext#

+

Optional aria-valuetext: string

+

Defines the human readable text alternative of aria-valuenow for a range widget.

+

Inherited from#

+

React.HTMLAttributes.aria-valuetext

+
+

autoCapitalize#

+

Optional autoCapitalize: string

+

Inherited from#

+

React.HTMLAttributes.autoCapitalize

+
+

autoCorrect#

+

Optional autoCorrect: string

+

Inherited from#

+

React.HTMLAttributes.autoCorrect

+
+

autoSave#

+

Optional autoSave: string

+

Inherited from#

+

React.HTMLAttributes.autoSave

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.HTMLAttributes.children

+
+

className#

+

Optional className: string

+

Overrides#

+

React.HTMLAttributes.className

+
+

color#

+

Optional color: string

+

Inherited from#

+

React.HTMLAttributes.color

+
+

contentEditable#

+

Optional contentEditable: Booleanish | "inherit"

+

Inherited from#

+

React.HTMLAttributes.contentEditable

+
+

contextMenu#

+

Optional contextMenu: string

+

Inherited from#

+

React.HTMLAttributes.contextMenu

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.HTMLAttributes.dangerouslySetInnerHTML

+
+

datatype#

+

Optional datatype: string

+

Inherited from#

+

React.HTMLAttributes.datatype

+
+

defaultChecked#

+

Optional defaultChecked: boolean

+

Inherited from#

+

React.HTMLAttributes.defaultChecked

+
+

defaultValue#

+

Optional defaultValue: string | number | readonly string[]

+

Inherited from#

+

React.HTMLAttributes.defaultValue

+
+

dir#

+

Optional dir: string

+

Inherited from#

+

React.HTMLAttributes.dir

+
+

draggable#

+

Optional draggable: Booleanish

+

Inherited from#

+

React.HTMLAttributes.draggable

+
+

hidden#

+

Optional hidden: boolean

+

Overrides#

+

React.HTMLAttributes.hidden

+
+

id#

+

Optional id: string

+

Inherited from#

+

React.HTMLAttributes.id

+
+

inlist#

+

Optional inlist: any

+

Inherited from#

+

React.HTMLAttributes.inlist

+
+

inputMode#

+

Optional inputMode: "text" | "none" | "search" | "tel" | "url" | "email" | "numeric" | "decimal"

+

Hints at the type of data that might be entered by the user while editing the element or its contents

+

see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

+

Inherited from#

+

React.HTMLAttributes.inputMode

+
+

is#

+

Optional is: string

+

Specify that a standard HTML element should behave like a defined custom built-in element

+

see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

+

Inherited from#

+

React.HTMLAttributes.is

+
+

itemID#

+

Optional itemID: string

+

Inherited from#

+

React.HTMLAttributes.itemID

+
+

itemProp#

+

Optional itemProp: string

+

Inherited from#

+

React.HTMLAttributes.itemProp

+
+

itemRef#

+

Optional itemRef: string

+

Inherited from#

+

React.HTMLAttributes.itemRef

+
+

itemScope#

+

Optional itemScope: boolean

+

Inherited from#

+

React.HTMLAttributes.itemScope

+
+

itemType#

+

Optional itemType: string

+

Inherited from#

+

React.HTMLAttributes.itemType

+
+

labelsOnly#

+

Optional labelsOnly: boolean

+
+

lang#

+

Optional lang: string

+

Inherited from#

+

React.HTMLAttributes.lang

+
+

name#

+

name: ReactNode

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWheelCapture

+
+

placeholder#

+

Optional placeholder: string

+

Inherited from#

+

React.HTMLAttributes.placeholder

+
+

prefix#

+

Optional prefix: string

+

Inherited from#

+

React.HTMLAttributes.prefix

+
+

property#

+

Optional property: string

+

Inherited from#

+

React.HTMLAttributes.property

+
+

radioGroup#

+

Optional radioGroup: string

+

Inherited from#

+

React.HTMLAttributes.radioGroup

+
+

renderBoolean#

+

Optional renderBoolean: boolean

+
+

resource#

+

Optional resource: string

+

Inherited from#

+

React.HTMLAttributes.resource

+
+

results#

+

Optional results: number

+

Inherited from#

+

React.HTMLAttributes.results

+
+

role#

+

Optional role: AriaRole

+

Inherited from#

+

React.HTMLAttributes.role

+
+

security#

+

Optional security: string

+

Inherited from#

+

React.HTMLAttributes.security

+
+

slot#

+

Optional slot: string

+

Inherited from#

+

React.HTMLAttributes.slot

+
+

spellCheck#

+

Optional spellCheck: Booleanish

+

Inherited from#

+

React.HTMLAttributes.spellCheck

+
+

style#

+

Optional style: CSSProperties

+

Inherited from#

+

React.HTMLAttributes.style

+
+

suppressContentEditableWarning#

+

Optional suppressContentEditableWarning: boolean

+

Inherited from#

+

React.HTMLAttributes.suppressContentEditableWarning

+
+

suppressHydrationWarning#

+

Optional suppressHydrationWarning: boolean

+

Inherited from#

+

React.HTMLAttributes.suppressHydrationWarning

+
+

tabIndex#

+

Optional tabIndex: number

+

Inherited from#

+

React.HTMLAttributes.tabIndex

+
+

title#

+

Optional title: string

+

Overrides#

+

React.HTMLAttributes.title

+
+

translate#

+

Optional translate: "yes" | "no"

+

Inherited from#

+

React.HTMLAttributes.translate

+
+

typeof#

+

Optional typeof: string

+

Inherited from#

+

React.HTMLAttributes.typeof

+
+

unselectable#

+

Optional unselectable: "on" | "off"

+

Inherited from#

+

React.HTMLAttributes.unselectable

+
+

vocab#

+

Optional vocab: string

+

Inherited from#

+

React.HTMLAttributes.vocab

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerParamTogglerProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerParamTogglerProps/index.html new file mode 100644 index 0000000000..96c8755091 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerParamTogglerProps/index.html @@ -0,0 +1,850 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: DrawerParamTogglerProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: DrawerParamTogglerProps#

+

Renderer.Component.DrawerParamTogglerProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

label#

+

label: string | number

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerProps/index.html new file mode 100644 index 0000000000..3a5a0ba275 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerProps/index.html @@ -0,0 +1,976 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: DrawerProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: DrawerProps#

+

Renderer.Component.DrawerProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

animation#

+

Optional animation: string

+
+

className#

+

Optional className: string | object

+
+

contentClass#

+

Optional contentClass: string | object

+
+

open#

+

open: boolean

+
+

position#

+

Optional position: DrawerPosition

+
+

size#

+

Optional size: string

+

The width or heigh (depending on position) of the Drawer.

+

If not set then the Drawer will be resizable.

+
+

title#

+

title: ReactNode

+
+

toolbar#

+

Optional toolbar: ReactNode

+
+

usePortal#

+

Optional usePortal: boolean

+

Methods#

+

onClose#

+

Optional onClose(): void

+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerTitleProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerTitleProps/index.html new file mode 100644 index 0000000000..31f88b6293 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.DrawerTitleProps/index.html @@ -0,0 +1,861 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: DrawerTitleProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: DrawerTitleProps#

+

Renderer.Component.DrawerTitleProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

className#

+

Optional className: string

+
+

title#

+

Optional title: ReactNode

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.GroupSelectOption/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.GroupSelectOption/index.html new file mode 100644 index 0000000000..3c8e9477ca --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.GroupSelectOption/index.html @@ -0,0 +1,883 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: GroupSelectOption - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: GroupSelectOption<T>#

+

Renderer.Component.GroupSelectOption

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Textends SelectOptionSelectOption
+

Table of contents#

+

Properties#

+ +

Properties#

+

label#

+

label: ReactNode

+
+

options#

+

options: T[]

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.IconDataFnArg/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.IconDataFnArg/index.html new file mode 100644 index 0000000000..251c821bda --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.IconDataFnArg/index.html @@ -0,0 +1,850 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: IconDataFnArg - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: IconDataFnArg#

+

Renderer.Component.IconDataFnArg

+

Table of contents#

+

Properties#

+ +

Properties#

+

isDirty#

+

isDirty: boolean

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.IconProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.IconProps/index.html new file mode 100644 index 0000000000..b564ab06c4 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.IconProps/index.html @@ -0,0 +1,4426 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: IconProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: IconProps#

+

Renderer.Component.IconProps

+

Hierarchy#

+ +

IconProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

about#

+

Optional about: string

+

Inherited from#

+

React.HTMLAttributes.about

+
+

accessKey#

+

Optional accessKey: string

+

Inherited from#

+

React.HTMLAttributes.accessKey

+
+

active#

+

Optional active: boolean

+
+

aria-activedescendant#

+

Optional aria-activedescendant: string

+

Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

+

Inherited from#

+

React.HTMLAttributes.aria-activedescendant

+
+

aria-atomic#

+

Optional aria-atomic: Booleanish

+

Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

+

Inherited from#

+

React.HTMLAttributes.aria-atomic

+
+

aria-autocomplete#

+

Optional aria-autocomplete: "list" | "none" | "inline" | "both"

+

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be +presented if they are made.

+

Inherited from#

+

React.HTMLAttributes.aria-autocomplete

+
+

aria-busy#

+

Optional aria-busy: Booleanish

+

Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

+

Inherited from#

+

React.HTMLAttributes.aria-busy

+
+

aria-checked#

+

Optional aria-checked: boolean | "true" | "false" | "mixed"

+

Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

+

see aria-pressed @see aria-selected.

+

Inherited from#

+

React.HTMLAttributes.aria-checked

+
+

aria-colcount#

+

Optional aria-colcount: number

+

Defines the total number of columns in a table, grid, or treegrid.

+

see aria-colindex.

+

Inherited from#

+

React.HTMLAttributes.aria-colcount

+
+

aria-colindex#

+

Optional aria-colindex: number

+

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

+

see aria-colcount @see aria-colspan.

+

Inherited from#

+

React.HTMLAttributes.aria-colindex

+
+

aria-colspan#

+

Optional aria-colspan: number

+

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-colindex @see aria-rowspan.

+

Inherited from#

+

React.HTMLAttributes.aria-colspan

+
+

aria-controls#

+

Optional aria-controls: string

+

Identifies the element (or elements) whose contents or presence are controlled by the current element.

+

see aria-owns.

+

Inherited from#

+

React.HTMLAttributes.aria-controls

+
+

aria-current#

+

Optional aria-current: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date"

+

Indicates the element that represents the current item within a container or set of related elements.

+

Inherited from#

+

React.HTMLAttributes.aria-current

+
+

aria-describedby#

+

Optional aria-describedby: string

+

Identifies the element (or elements) that describes the object.

+

see aria-labelledby

+

Inherited from#

+

React.HTMLAttributes.aria-describedby

+
+

aria-details#

+

Optional aria-details: string

+

Identifies the element that provides a detailed, extended description for the object.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLAttributes.aria-details

+
+

aria-disabled#

+

Optional aria-disabled: Booleanish

+

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

+

see aria-hidden @see aria-readonly.

+

Inherited from#

+

React.HTMLAttributes.aria-disabled

+
+

aria-dropeffect#

+

Optional aria-dropeffect: "link" | "none" | "copy" | "execute" | "move" | "popup"

+

Indicates what functions can be performed when a dragged object is released on the drop target.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLAttributes.aria-dropeffect

+
+

aria-errormessage#

+

Optional aria-errormessage: string

+

Identifies the element that provides an error message for the object.

+

see aria-invalid @see aria-describedby.

+

Inherited from#

+

React.HTMLAttributes.aria-errormessage

+
+

aria-expanded#

+

Optional aria-expanded: Booleanish

+

Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

+

Inherited from#

+

React.HTMLAttributes.aria-expanded

+
+

aria-flowto#

+

Optional aria-flowto: string

+

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, +allows assistive technology to override the general default of reading in document source order.

+

Inherited from#

+

React.HTMLAttributes.aria-flowto

+
+

aria-grabbed#

+

Optional aria-grabbed: Booleanish

+

Indicates an element's "grabbed" state in a drag-and-drop operation.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLAttributes.aria-grabbed

+
+

aria-haspopup#

+

Optional aria-haspopup: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree"

+

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

+

Inherited from#

+

React.HTMLAttributes.aria-haspopup

+
+

aria-hidden#

+

Optional aria-hidden: Booleanish

+

Indicates whether the element is exposed to an accessibility API.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLAttributes.aria-hidden

+
+

aria-invalid#

+

Optional aria-invalid: boolean | "true" | "false" | "grammar" | "spelling"

+

Indicates the entered value does not conform to the format expected by the application.

+

see aria-errormessage.

+

Inherited from#

+

React.HTMLAttributes.aria-invalid

+
+

aria-keyshortcuts#

+

Optional aria-keyshortcuts: string

+

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

+

Inherited from#

+

React.HTMLAttributes.aria-keyshortcuts

+
+

aria-label#

+

Optional aria-label: string

+

Defines a string value that labels the current element.

+

see aria-labelledby.

+

Inherited from#

+

React.HTMLAttributes.aria-label

+
+

aria-labelledby#

+

Optional aria-labelledby: string

+

Identifies the element (or elements) that labels the current element.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLAttributes.aria-labelledby

+
+

aria-level#

+

Optional aria-level: number

+

Defines the hierarchical level of an element within a structure.

+

Inherited from#

+

React.HTMLAttributes.aria-level

+
+

aria-live#

+

Optional aria-live: "off" | "assertive" | "polite"

+

Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

+

Inherited from#

+

React.HTMLAttributes.aria-live

+
+

aria-modal#

+

Optional aria-modal: Booleanish

+

Indicates whether an element is modal when displayed.

+

Inherited from#

+

React.HTMLAttributes.aria-modal

+
+

aria-multiline#

+

Optional aria-multiline: Booleanish

+

Indicates whether a text box accepts multiple lines of input or only a single line.

+

Inherited from#

+

React.HTMLAttributes.aria-multiline

+
+

aria-multiselectable#

+

Optional aria-multiselectable: Booleanish

+

Indicates that the user may select more than one item from the current selectable descendants.

+

Inherited from#

+

React.HTMLAttributes.aria-multiselectable

+
+

aria-orientation#

+

Optional aria-orientation: "horizontal" | "vertical"

+

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

+

Inherited from#

+

React.HTMLAttributes.aria-orientation

+
+

aria-owns#

+

Optional aria-owns: string

+

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship +between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

+

see aria-controls.

+

Inherited from#

+

React.HTMLAttributes.aria-owns

+
+

aria-placeholder#

+

Optional aria-placeholder: string

+

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. +A hint could be a sample value or a brief description of the expected format.

+

Inherited from#

+

React.HTMLAttributes.aria-placeholder

+
+

aria-posinset#

+

Optional aria-posinset: number

+

Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-setsize.

+

Inherited from#

+

React.HTMLAttributes.aria-posinset

+
+

aria-pressed#

+

Optional aria-pressed: boolean | "true" | "false" | "mixed"

+

Indicates the current "pressed" state of toggle buttons.

+

see aria-checked @see aria-selected.

+

Inherited from#

+

React.HTMLAttributes.aria-pressed

+
+

aria-readonly#

+

Optional aria-readonly: Booleanish

+

Indicates that the element is not editable, but is otherwise operable.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLAttributes.aria-readonly

+
+

aria-relevant#

+

Optional aria-relevant: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals"

+

Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

+

see aria-atomic.

+

Inherited from#

+

React.HTMLAttributes.aria-relevant

+
+

aria-required#

+

Optional aria-required: Booleanish

+

Indicates that user input is required on the element before a form may be submitted.

+

Inherited from#

+

React.HTMLAttributes.aria-required

+
+

aria-roledescription#

+

Optional aria-roledescription: string

+

Defines a human-readable, author-localized description for the role of an element.

+

Inherited from#

+

React.HTMLAttributes.aria-roledescription

+
+

aria-rowcount#

+

Optional aria-rowcount: number

+

Defines the total number of rows in a table, grid, or treegrid.

+

see aria-rowindex.

+

Inherited from#

+

React.HTMLAttributes.aria-rowcount

+
+

aria-rowindex#

+

Optional aria-rowindex: number

+

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

+

see aria-rowcount @see aria-rowspan.

+

Inherited from#

+

React.HTMLAttributes.aria-rowindex

+
+

aria-rowspan#

+

Optional aria-rowspan: number

+

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-rowindex @see aria-colspan.

+

Inherited from#

+

React.HTMLAttributes.aria-rowspan

+
+

aria-selected#

+

Optional aria-selected: Booleanish

+

Indicates the current "selected" state of various widgets.

+

see aria-checked @see aria-pressed.

+

Inherited from#

+

React.HTMLAttributes.aria-selected

+
+

aria-setsize#

+

Optional aria-setsize: number

+

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-posinset.

+

Inherited from#

+

React.HTMLAttributes.aria-setsize

+
+

aria-sort#

+

Optional aria-sort: "none" | "ascending" | "descending" | "other"

+

Indicates if items in a table or grid are sorted in ascending or descending order.

+

Inherited from#

+

React.HTMLAttributes.aria-sort

+
+

aria-valuemax#

+

Optional aria-valuemax: number

+

Defines the maximum allowed value for a range widget.

+

Inherited from#

+

React.HTMLAttributes.aria-valuemax

+
+

aria-valuemin#

+

Optional aria-valuemin: number

+

Defines the minimum allowed value for a range widget.

+

Inherited from#

+

React.HTMLAttributes.aria-valuemin

+
+

aria-valuenow#

+

Optional aria-valuenow: number

+

Defines the current value for a range widget.

+

see aria-valuetext.

+

Inherited from#

+

React.HTMLAttributes.aria-valuenow

+
+

aria-valuetext#

+

Optional aria-valuetext: string

+

Defines the human readable text alternative of aria-valuenow for a range widget.

+

Inherited from#

+

React.HTMLAttributes.aria-valuetext

+
+

autoCapitalize#

+

Optional autoCapitalize: string

+

Inherited from#

+

React.HTMLAttributes.autoCapitalize

+
+

autoCorrect#

+

Optional autoCorrect: string

+

Inherited from#

+

React.HTMLAttributes.autoCorrect

+
+

autoSave#

+

Optional autoSave: string

+

Inherited from#

+

React.HTMLAttributes.autoSave

+
+

big#

+

Optional big: boolean

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.HTMLAttributes.children

+
+

className#

+

Optional className: string

+

Inherited from#

+

React.HTMLAttributes.className

+
+

color#

+

Optional color: string

+

Inherited from#

+

React.HTMLAttributes.color

+
+

contentEditable#

+

Optional contentEditable: Booleanish | "inherit"

+

Inherited from#

+

React.HTMLAttributes.contentEditable

+
+

contextMenu#

+

Optional contextMenu: string

+

Inherited from#

+

React.HTMLAttributes.contextMenu

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.HTMLAttributes.dangerouslySetInnerHTML

+
+

datatype#

+

Optional datatype: string

+

Inherited from#

+

React.HTMLAttributes.datatype

+
+

defaultChecked#

+

Optional defaultChecked: boolean

+

Inherited from#

+

React.HTMLAttributes.defaultChecked

+
+

defaultValue#

+

Optional defaultValue: string | number | readonly string[]

+

Inherited from#

+

React.HTMLAttributes.defaultValue

+
+

dir#

+

Optional dir: string

+

Inherited from#

+

React.HTMLAttributes.dir

+
+

disabled#

+

Optional disabled: boolean

+
+

draggable#

+

Optional draggable: Booleanish

+

Inherited from#

+

React.HTMLAttributes.draggable

+
+

focusable#

+

Optional focusable: boolean

+
+

hidden#

+

Optional hidden: boolean

+

Inherited from#

+

React.HTMLAttributes.hidden

+
+

href#

+

Optional href: string

+
+

id#

+

Optional id: string

+

Inherited from#

+

React.HTMLAttributes.id

+
+

inlist#

+

Optional inlist: any

+

Inherited from#

+

React.HTMLAttributes.inlist

+
+

inputMode#

+

Optional inputMode: "text" | "none" | "search" | "tel" | "url" | "email" | "numeric" | "decimal"

+

Hints at the type of data that might be entered by the user while editing the element or its contents

+

see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

+

Inherited from#

+

React.HTMLAttributes.inputMode

+
+

interactive#

+

Optional interactive: boolean

+
+

is#

+

Optional is: string

+

Specify that a standard HTML element should behave like a defined custom built-in element

+

see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

+

Inherited from#

+

React.HTMLAttributes.is

+
+

itemID#

+

Optional itemID: string

+

Inherited from#

+

React.HTMLAttributes.itemID

+
+

itemProp#

+

Optional itemProp: string

+

Inherited from#

+

React.HTMLAttributes.itemProp

+
+

itemRef#

+

Optional itemRef: string

+

Inherited from#

+

React.HTMLAttributes.itemRef

+
+

itemScope#

+

Optional itemScope: boolean

+

Inherited from#

+

React.HTMLAttributes.itemScope

+
+

itemType#

+

Optional itemType: string

+

Inherited from#

+

React.HTMLAttributes.itemType

+
+

lang#

+

Optional lang: string

+

Inherited from#

+

React.HTMLAttributes.lang

+
+ +

Optional link: LocationDescriptor<unknown>

+
+

material#

+

Optional material: string

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWheelCapture

+
+

placeholder#

+

Optional placeholder: string

+

Inherited from#

+

React.HTMLAttributes.placeholder

+
+

prefix#

+

Optional prefix: string

+

Inherited from#

+

React.HTMLAttributes.prefix

+
+

property#

+

Optional property: string

+

Inherited from#

+

React.HTMLAttributes.property

+
+

radioGroup#

+

Optional radioGroup: string

+

Inherited from#

+

React.HTMLAttributes.radioGroup

+
+

resource#

+

Optional resource: string

+

Inherited from#

+

React.HTMLAttributes.resource

+
+

results#

+

Optional results: number

+

Inherited from#

+

React.HTMLAttributes.results

+
+

role#

+

Optional role: AriaRole

+

Inherited from#

+

React.HTMLAttributes.role

+
+

security#

+

Optional security: string

+

Inherited from#

+

React.HTMLAttributes.security

+
+

size#

+

Optional size: string | number

+
+

slot#

+

Optional slot: string

+

Inherited from#

+

React.HTMLAttributes.slot

+
+

small#

+

Optional small: boolean

+
+

smallest#

+

Optional smallest: boolean

+
+

spellCheck#

+

Optional spellCheck: Booleanish

+

Inherited from#

+

React.HTMLAttributes.spellCheck

+
+

sticker#

+

Optional sticker: boolean

+
+

style#

+

Optional style: CSSProperties

+

Inherited from#

+

React.HTMLAttributes.style

+
+

suppressContentEditableWarning#

+

Optional suppressContentEditableWarning: boolean

+

Inherited from#

+

React.HTMLAttributes.suppressContentEditableWarning

+
+

suppressHydrationWarning#

+

Optional suppressHydrationWarning: boolean

+

Inherited from#

+

React.HTMLAttributes.suppressHydrationWarning

+
+

svg#

+

Optional svg: string

+
+

tabIndex#

+

Optional tabIndex: number

+

Inherited from#

+

React.HTMLAttributes.tabIndex

+
+

title#

+

Optional title: string

+

Inherited from#

+

React.HTMLAttributes.title

+
+

tooltip#

+

Optional tooltip: ReactNode | Omit<TooltipProps, "targetId">

+

Inherited from#

+

TooltipDecoratorProps.tooltip

+
+

tooltipOverrideDisabled#

+

Optional tooltipOverrideDisabled: boolean

+

forces tooltip to detect the target's parent for mouse events. This is +useful for displaying tooltips even when the target is "disabled"

+

Inherited from#

+

TooltipDecoratorProps.tooltipOverrideDisabled

+
+

translate#

+

Optional translate: "yes" | "no"

+

Inherited from#

+

React.HTMLAttributes.translate

+
+

typeof#

+

Optional typeof: string

+

Inherited from#

+

React.HTMLAttributes.typeof

+
+

unselectable#

+

Optional unselectable: "on" | "off"

+

Inherited from#

+

React.HTMLAttributes.unselectable

+
+

vocab#

+

Optional vocab: string

+

Inherited from#

+

React.HTMLAttributes.vocab

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.InputValidator/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.InputValidator/index.html new file mode 100644 index 0000000000..93784a0ec5 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.InputValidator/index.html @@ -0,0 +1,944 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: InputValidator - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: InputValidator#

+

Renderer.Component.InputValidator

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

debounce#

+

Optional debounce: number

+
+

message#

+

Optional message: ReactNode | (value: string, props?: InputProps) => ReactNode

+

Methods#

+

condition#

+

Optional condition(props): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsInputProps
+

Returns#

+

boolean

+
+

validate#

+

validate(value, props?): boolean | Promise<any>

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
valuestring
props?InputProps
+

Returns#

+

boolean | Promise<any>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeEventDetailsProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeEventDetailsProps/index.html new file mode 100644 index 0000000000..9c7c1ce45e --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeEventDetailsProps/index.html @@ -0,0 +1,850 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeEventDetailsProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectDetailsProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectDetailsProps/index.html new file mode 100644 index 0000000000..b7f4325f54 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectDetailsProps/index.html @@ -0,0 +1,883 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectDetailsProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: KubeObjectDetailsProps<T>#

+

Renderer.Component.KubeObjectDetailsProps

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Textends KubeObjectKubeObject
+

Table of contents#

+

Properties#

+ +

Properties#

+

className#

+

Optional className: string

+
+

object#

+

object: T

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectListLayoutProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectListLayoutProps/index.html new file mode 100644 index 0000000000..cc1f9168ee --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectListLayoutProps/index.html @@ -0,0 +1,1443 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectListLayoutProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Interface: KubeObjectListLayoutProps<K>#

+

Renderer.Component.KubeObjectListLayoutProps

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends KubeObject
+

Hierarchy#

+
    +
  • ItemListLayoutPropsWithoutGetItems<K>
  • +
+

KubeObjectListLayoutProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

addRemoveButtons#

+

Optional addRemoveButtons: Partial<AddRemoveButtonsProps>

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.addRemoveButtons

+
+

className#

+

className: IClassName

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.className

+
+

copyClassNameFromHeadCells#

+

Optional copyClassNameFromHeadCells: boolean

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.copyClassNameFromHeadCells

+
+

customizeHeader#

+

Optional customizeHeader: HeaderCustomizer | HeaderCustomizer[]

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.customizeHeader

+
+

dependentStores#

+

Optional dependentStores: KubeObjectStore<KubeObject<KubeObjectMetadata, any, any>>[]

+

Overrides#

+

ItemListLayoutPropsWithoutGetItems.dependentStores

+
+

detailsItem#

+

Optional detailsItem: K

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.detailsItem

+
+

failedToLoadMessage#

+

Optional failedToLoadMessage: ReactNode

+

Message to display when a store failed to load

+

default "Failed to load items"

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.failedToLoadMessage

+
+

filterCallbacks#

+

Optional filterCallbacks: ItemsFilters<K>

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.filterCallbacks

+
+

filterItems#

+

Optional filterItems: ItemsFilter<K>[]

+

deprecated

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.filterItems

+
+

hasDetailsView#

+

Optional hasDetailsView: boolean

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.hasDetailsView

+
+

headerClassName#

+

Optional headerClassName: IClassName

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.headerClassName

+
+

hideFilters#

+

Optional hideFilters: boolean

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.hideFilters

+
+

isConfigurable#

+

Optional isConfigurable: boolean

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.isConfigurable

+
+

isReady#

+

Optional isReady: boolean

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.isReady

+
+

isSelectable#

+

Optional isSelectable: boolean

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.isSelectable

+
+

items#

+

Optional items: K[]

+
+

preloadStores#

+

Optional preloadStores: boolean

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.preloadStores

+
+

renderHeaderTitle#

+

Optional renderHeaderTitle: ReactNode | (parent: NonInjectedItemListLayout<K>) => ReactNode

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.renderHeaderTitle

+
+

renderTableHeader#

+

renderTableHeader: TableCellProps[]

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.renderTableHeader

+
+

searchFilters#

+

Optional searchFilters: SearchFilter<K>[]

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.searchFilters

+
+

showHeader#

+

Optional showHeader: boolean

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.showHeader

+
+

sortingCallbacks#

+

Optional sortingCallbacks: TableSortCallbacks<K>

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.sortingCallbacks

+
+

store#

+

store: KubeObjectStore<K>

+

Overrides#

+

ItemListLayoutPropsWithoutGetItems.store

+
+

subscribeStores#

+

Optional subscribeStores: boolean

+
+

tableId#

+

Optional tableId: string

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.tableId

+
+

tableProps#

+

Optional tableProps: Partial<TableProps<K>>

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.tableProps

+
+

virtual#

+

Optional virtual: boolean

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.virtual

+

Methods#

+

customizeRemoveDialog#

+

Optional customizeRemoveDialog(selectedItems): Partial<ConfirmDialogParams>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
selectedItemsI[]
+

Returns#

+

Partial<ConfirmDialogParams>

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.customizeRemoveDialog

+
+

customizeTableRowProps#

+

Optional customizeTableRowProps(item): Partial<TableRowProps>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemI
+

Returns#

+

Partial<TableRowProps>

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.customizeTableRowProps

+
+

getItems#

+

Optional getItems(): K[]

+

Returns#

+

K[]

+
+

onDetails#

+

Optional onDetails(item): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemI
+

Returns#

+

void

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.onDetails

+
+

renderFooter#

+

Optional renderFooter(parent): ReactNode

+

Parameters#

+ + + + + + + + + + + + + +
NameType
parentNonInjectedItemListLayout<I>
+

Returns#

+

ReactNode

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.renderFooter

+
+

renderItemMenu#

+

Optional renderItemMenu(item, store): ReactNode

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
itemI
storeItemStore<I>
+

Returns#

+

ReactNode

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.renderItemMenu

+
+

renderTableContents#

+

renderTableContents(item): (ReactNode | TableCellProps)[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemI
+

Returns#

+

(ReactNode | TableCellProps)[]

+

Inherited from#

+

ItemListLayoutPropsWithoutGetItems.renderTableContents

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectMenuProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectMenuProps/index.html new file mode 100644 index 0000000000..627f64e212 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectMenuProps/index.html @@ -0,0 +1,1214 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectMenuProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: KubeObjectMenuProps<TKubeObject>#

+

Renderer.Component.KubeObjectMenuProps

+

Copyright (c) OpenLens Authors. All rights reserved. +Licensed under MIT License. See LICENSE in root directory for more information.

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
TKubeObjectextends KubeObject
+

Hierarchy#

+ +

KubeObjectMenuProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

autoCloseOnSelect#

+

Optional autoCloseOnSelect: boolean

+

Inherited from#

+

MenuActionsProps.autoCloseOnSelect

+
+

autoFocus#

+

Optional autoFocus: boolean

+

Inherited from#

+

MenuActionsProps.autoFocus

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

MenuActionsProps.children

+
+

className#

+

Optional className: string

+

Inherited from#

+

MenuActionsProps.className

+
+

closeOnClickItem#

+

Optional closeOnClickItem: boolean

+

Inherited from#

+

MenuActionsProps.closeOnClickItem

+
+

closeOnClickOutside#

+

Optional closeOnClickOutside: boolean

+

Inherited from#

+

MenuActionsProps.closeOnClickOutside

+
+

closeOnScroll#

+

Optional closeOnScroll: boolean

+

Inherited from#

+

MenuActionsProps.closeOnScroll

+
+

editable#

+

Optional editable: boolean

+
+

htmlFor#

+

Optional htmlFor: string

+

Inherited from#

+

MenuActionsProps.htmlFor

+
+

id#

+

Optional id: string

+

Inherited from#

+

MenuActionsProps.id

+
+

isOpen#

+

Optional isOpen: boolean

+

Inherited from#

+

MenuActionsProps.isOpen

+
+

object#

+

object: TKubeObject

+
+

position#

+

Optional position: MenuPosition

+

Inherited from#

+

MenuActionsProps.position

+
+

removable#

+

Optional removable: boolean

+
+

removeConfirmationMessage#

+

Optional removeConfirmationMessage: ReactNode | () => ReactNode

+

Inherited from#

+

MenuActionsProps.removeConfirmationMessage

+
+

toggleEvent#

+

Optional toggleEvent: "click" | "contextmenu"

+

Inherited from#

+

MenuActionsProps.toggleEvent

+
+

toolbar#

+

Optional toolbar: boolean

+

Inherited from#

+

MenuActionsProps.toolbar

+
+

triggerIcon#

+

Optional triggerIcon: ReactNode | IconProps

+

Inherited from#

+

MenuActionsProps.triggerIcon

+
+

usePortal#

+

Optional usePortal: boolean | HTMLElement

+

Inherited from#

+

MenuActionsProps.usePortal

+

Methods#

+

close#

+

Optional close(): void

+

Returns#

+

void

+

Inherited from#

+

MenuActionsProps.close

+
+

onOpen#

+

Optional onOpen(): void

+

Returns#

+

void

+

Inherited from#

+

MenuActionsProps.onOpen

+
+

open#

+

Optional open(): void

+

Returns#

+

void

+

Inherited from#

+

MenuActionsProps.open

+
+

removeAction#

+

Optional removeAction(): void

+

Returns#

+

void

+

Inherited from#

+

MenuActionsProps.removeAction

+
+

updateAction#

+

Optional updateAction(): void

+

Returns#

+

void

+

Inherited from#

+

MenuActionsProps.updateAction

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectMetaProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectMetaProps/index.html new file mode 100644 index 0000000000..f2303a373d --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.KubeObjectMetaProps/index.html @@ -0,0 +1,861 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectMetaProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.LineProgressProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.LineProgressProps/index.html new file mode 100644 index 0000000000..af902c532d --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.LineProgressProps/index.html @@ -0,0 +1,5685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: LineProgressProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: LineProgressProps#

+

Renderer.Component.LineProgressProps

+

Hierarchy#

+ +

LineProgressProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

about#

+

Optional about: string

+

Inherited from#

+

React.HTMLProps.about

+
+

accept#

+

Optional accept: string

+

Inherited from#

+

React.HTMLProps.accept

+
+

acceptCharset#

+

Optional acceptCharset: string

+

Inherited from#

+

React.HTMLProps.acceptCharset

+
+

accessKey#

+

Optional accessKey: string

+

Inherited from#

+

React.HTMLProps.accessKey

+
+

action#

+

Optional action: string

+

Inherited from#

+

React.HTMLProps.action

+
+

allowFullScreen#

+

Optional allowFullScreen: boolean

+

Inherited from#

+

React.HTMLProps.allowFullScreen

+
+

allowTransparency#

+

Optional allowTransparency: boolean

+

Inherited from#

+

React.HTMLProps.allowTransparency

+
+

alt#

+

Optional alt: string

+

Inherited from#

+

React.HTMLProps.alt

+
+

aria-activedescendant#

+

Optional aria-activedescendant: string

+

Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

+

Inherited from#

+

React.HTMLProps.aria-activedescendant

+
+

aria-atomic#

+

Optional aria-atomic: Booleanish

+

Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

+

Inherited from#

+

React.HTMLProps.aria-atomic

+
+

aria-autocomplete#

+

Optional aria-autocomplete: "list" | "none" | "inline" | "both"

+

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be +presented if they are made.

+

Inherited from#

+

React.HTMLProps.aria-autocomplete

+
+

aria-busy#

+

Optional aria-busy: Booleanish

+

Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

+

Inherited from#

+

React.HTMLProps.aria-busy

+
+

aria-checked#

+

Optional aria-checked: boolean | "true" | "false" | "mixed"

+

Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

+

see aria-pressed @see aria-selected.

+

Inherited from#

+

React.HTMLProps.aria-checked

+
+

aria-colcount#

+

Optional aria-colcount: number

+

Defines the total number of columns in a table, grid, or treegrid.

+

see aria-colindex.

+

Inherited from#

+

React.HTMLProps.aria-colcount

+
+

aria-colindex#

+

Optional aria-colindex: number

+

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

+

see aria-colcount @see aria-colspan.

+

Inherited from#

+

React.HTMLProps.aria-colindex

+
+

aria-colspan#

+

Optional aria-colspan: number

+

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-colindex @see aria-rowspan.

+

Inherited from#

+

React.HTMLProps.aria-colspan

+
+

aria-controls#

+

Optional aria-controls: string

+

Identifies the element (or elements) whose contents or presence are controlled by the current element.

+

see aria-owns.

+

Inherited from#

+

React.HTMLProps.aria-controls

+
+

aria-current#

+

Optional aria-current: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date"

+

Indicates the element that represents the current item within a container or set of related elements.

+

Inherited from#

+

React.HTMLProps.aria-current

+
+

aria-describedby#

+

Optional aria-describedby: string

+

Identifies the element (or elements) that describes the object.

+

see aria-labelledby

+

Inherited from#

+

React.HTMLProps.aria-describedby

+
+

aria-details#

+

Optional aria-details: string

+

Identifies the element that provides a detailed, extended description for the object.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLProps.aria-details

+
+

aria-disabled#

+

Optional aria-disabled: Booleanish

+

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

+

see aria-hidden @see aria-readonly.

+

Inherited from#

+

React.HTMLProps.aria-disabled

+
+

aria-dropeffect#

+

Optional aria-dropeffect: "link" | "none" | "copy" | "execute" | "move" | "popup"

+

Indicates what functions can be performed when a dragged object is released on the drop target.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLProps.aria-dropeffect

+
+

aria-errormessage#

+

Optional aria-errormessage: string

+

Identifies the element that provides an error message for the object.

+

see aria-invalid @see aria-describedby.

+

Inherited from#

+

React.HTMLProps.aria-errormessage

+
+

aria-expanded#

+

Optional aria-expanded: Booleanish

+

Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

+

Inherited from#

+

React.HTMLProps.aria-expanded

+
+

aria-flowto#

+

Optional aria-flowto: string

+

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, +allows assistive technology to override the general default of reading in document source order.

+

Inherited from#

+

React.HTMLProps.aria-flowto

+
+

aria-grabbed#

+

Optional aria-grabbed: Booleanish

+

Indicates an element's "grabbed" state in a drag-and-drop operation.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLProps.aria-grabbed

+
+

aria-haspopup#

+

Optional aria-haspopup: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree"

+

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

+

Inherited from#

+

React.HTMLProps.aria-haspopup

+
+

aria-hidden#

+

Optional aria-hidden: Booleanish

+

Indicates whether the element is exposed to an accessibility API.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLProps.aria-hidden

+
+

aria-invalid#

+

Optional aria-invalid: boolean | "true" | "false" | "grammar" | "spelling"

+

Indicates the entered value does not conform to the format expected by the application.

+

see aria-errormessage.

+

Inherited from#

+

React.HTMLProps.aria-invalid

+
+

aria-keyshortcuts#

+

Optional aria-keyshortcuts: string

+

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

+

Inherited from#

+

React.HTMLProps.aria-keyshortcuts

+
+

aria-label#

+

Optional aria-label: string

+

Defines a string value that labels the current element.

+

see aria-labelledby.

+

Inherited from#

+

React.HTMLProps.aria-label

+
+

aria-labelledby#

+

Optional aria-labelledby: string

+

Identifies the element (or elements) that labels the current element.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLProps.aria-labelledby

+
+

aria-level#

+

Optional aria-level: number

+

Defines the hierarchical level of an element within a structure.

+

Inherited from#

+

React.HTMLProps.aria-level

+
+

aria-live#

+

Optional aria-live: "off" | "assertive" | "polite"

+

Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

+

Inherited from#

+

React.HTMLProps.aria-live

+
+

aria-modal#

+

Optional aria-modal: Booleanish

+

Indicates whether an element is modal when displayed.

+

Inherited from#

+

React.HTMLProps.aria-modal

+
+

aria-multiline#

+

Optional aria-multiline: Booleanish

+

Indicates whether a text box accepts multiple lines of input or only a single line.

+

Inherited from#

+

React.HTMLProps.aria-multiline

+
+

aria-multiselectable#

+

Optional aria-multiselectable: Booleanish

+

Indicates that the user may select more than one item from the current selectable descendants.

+

Inherited from#

+

React.HTMLProps.aria-multiselectable

+
+

aria-orientation#

+

Optional aria-orientation: "horizontal" | "vertical"

+

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

+

Inherited from#

+

React.HTMLProps.aria-orientation

+
+

aria-owns#

+

Optional aria-owns: string

+

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship +between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

+

see aria-controls.

+

Inherited from#

+

React.HTMLProps.aria-owns

+
+

aria-placeholder#

+

Optional aria-placeholder: string

+

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. +A hint could be a sample value or a brief description of the expected format.

+

Inherited from#

+

React.HTMLProps.aria-placeholder

+
+

aria-posinset#

+

Optional aria-posinset: number

+

Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-setsize.

+

Inherited from#

+

React.HTMLProps.aria-posinset

+
+

aria-pressed#

+

Optional aria-pressed: boolean | "true" | "false" | "mixed"

+

Indicates the current "pressed" state of toggle buttons.

+

see aria-checked @see aria-selected.

+

Inherited from#

+

React.HTMLProps.aria-pressed

+
+

aria-readonly#

+

Optional aria-readonly: Booleanish

+

Indicates that the element is not editable, but is otherwise operable.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLProps.aria-readonly

+
+

aria-relevant#

+

Optional aria-relevant: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals"

+

Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

+

see aria-atomic.

+

Inherited from#

+

React.HTMLProps.aria-relevant

+
+

aria-required#

+

Optional aria-required: Booleanish

+

Indicates that user input is required on the element before a form may be submitted.

+

Inherited from#

+

React.HTMLProps.aria-required

+
+

aria-roledescription#

+

Optional aria-roledescription: string

+

Defines a human-readable, author-localized description for the role of an element.

+

Inherited from#

+

React.HTMLProps.aria-roledescription

+
+

aria-rowcount#

+

Optional aria-rowcount: number

+

Defines the total number of rows in a table, grid, or treegrid.

+

see aria-rowindex.

+

Inherited from#

+

React.HTMLProps.aria-rowcount

+
+

aria-rowindex#

+

Optional aria-rowindex: number

+

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

+

see aria-rowcount @see aria-rowspan.

+

Inherited from#

+

React.HTMLProps.aria-rowindex

+
+

aria-rowspan#

+

Optional aria-rowspan: number

+

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-rowindex @see aria-colspan.

+

Inherited from#

+

React.HTMLProps.aria-rowspan

+
+

aria-selected#

+

Optional aria-selected: Booleanish

+

Indicates the current "selected" state of various widgets.

+

see aria-checked @see aria-pressed.

+

Inherited from#

+

React.HTMLProps.aria-selected

+
+

aria-setsize#

+

Optional aria-setsize: number

+

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-posinset.

+

Inherited from#

+

React.HTMLProps.aria-setsize

+
+

aria-sort#

+

Optional aria-sort: "none" | "ascending" | "descending" | "other"

+

Indicates if items in a table or grid are sorted in ascending or descending order.

+

Inherited from#

+

React.HTMLProps.aria-sort

+
+

aria-valuemax#

+

Optional aria-valuemax: number

+

Defines the maximum allowed value for a range widget.

+

Inherited from#

+

React.HTMLProps.aria-valuemax

+
+

aria-valuemin#

+

Optional aria-valuemin: number

+

Defines the minimum allowed value for a range widget.

+

Inherited from#

+

React.HTMLProps.aria-valuemin

+
+

aria-valuenow#

+

Optional aria-valuenow: number

+

Defines the current value for a range widget.

+

see aria-valuetext.

+

Inherited from#

+

React.HTMLProps.aria-valuenow

+
+

aria-valuetext#

+

Optional aria-valuetext: string

+

Defines the human readable text alternative of aria-valuenow for a range widget.

+

Inherited from#

+

React.HTMLProps.aria-valuetext

+
+

as#

+

Optional as: string

+

Inherited from#

+

React.HTMLProps.as

+
+

async#

+

Optional async: boolean

+

Inherited from#

+

React.HTMLProps.async

+
+

autoCapitalize#

+

Optional autoCapitalize: string

+

Inherited from#

+

React.HTMLProps.autoCapitalize

+
+

autoComplete#

+

Optional autoComplete: string

+

Inherited from#

+

React.HTMLProps.autoComplete

+
+

autoCorrect#

+

Optional autoCorrect: string

+

Inherited from#

+

React.HTMLProps.autoCorrect

+
+

autoFocus#

+

Optional autoFocus: boolean

+

Inherited from#

+

React.HTMLProps.autoFocus

+
+

autoPlay#

+

Optional autoPlay: boolean

+

Inherited from#

+

React.HTMLProps.autoPlay

+
+

autoSave#

+

Optional autoSave: string

+

Inherited from#

+

React.HTMLProps.autoSave

+
+

capture#

+

Optional capture: boolean | "user" | "environment"

+

Inherited from#

+

React.HTMLProps.capture

+
+

cellPadding#

+

Optional cellPadding: string | number

+

Inherited from#

+

React.HTMLProps.cellPadding

+
+

cellSpacing#

+

Optional cellSpacing: string | number

+

Inherited from#

+

React.HTMLProps.cellSpacing

+
+

challenge#

+

Optional challenge: string

+

Inherited from#

+

React.HTMLProps.challenge

+
+

charSet#

+

Optional charSet: string

+

Inherited from#

+

React.HTMLProps.charSet

+
+

checked#

+

Optional checked: boolean

+

Inherited from#

+

React.HTMLProps.checked

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.HTMLProps.children

+
+

cite#

+

Optional cite: string

+

Inherited from#

+

React.HTMLProps.cite

+
+

classID#

+

Optional classID: string

+

Inherited from#

+

React.HTMLProps.classID

+
+

className#

+

Optional className: any

+

Overrides#

+

React.HTMLProps.className

+
+

colSpan#

+

Optional colSpan: number

+

Inherited from#

+

React.HTMLProps.colSpan

+
+

color#

+

Optional color: string

+

Inherited from#

+

React.HTMLProps.color

+
+

cols#

+

Optional cols: number

+

Inherited from#

+

React.HTMLProps.cols

+
+

content#

+

Optional content: string

+

Inherited from#

+

React.HTMLProps.content

+
+

contentEditable#

+

Optional contentEditable: Booleanish | "inherit"

+

Inherited from#

+

React.HTMLProps.contentEditable

+
+

contextMenu#

+

Optional contextMenu: string

+

Inherited from#

+

React.HTMLProps.contextMenu

+
+

controls#

+

Optional controls: boolean

+

Inherited from#

+

React.HTMLProps.controls

+
+

coords#

+

Optional coords: string

+

Inherited from#

+

React.HTMLProps.coords

+
+

crossOrigin#

+

Optional crossOrigin: string

+

Inherited from#

+

React.HTMLProps.crossOrigin

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.HTMLProps.dangerouslySetInnerHTML

+
+

data#

+

Optional data: string

+

Inherited from#

+

React.HTMLProps.data

+
+

datatype#

+

Optional datatype: string

+

Inherited from#

+

React.HTMLProps.datatype

+
+

dateTime#

+

Optional dateTime: string

+

Inherited from#

+

React.HTMLProps.dateTime

+
+

default#

+

Optional default: boolean

+

Inherited from#

+

React.HTMLProps.default

+
+

defaultChecked#

+

Optional defaultChecked: boolean

+

Inherited from#

+

React.HTMLProps.defaultChecked

+
+

defaultValue#

+

Optional defaultValue: string | number | readonly string[]

+

Inherited from#

+

React.HTMLProps.defaultValue

+
+

defer#

+

Optional defer: boolean

+

Inherited from#

+

React.HTMLProps.defer

+
+

dir#

+

Optional dir: string

+

Inherited from#

+

React.HTMLProps.dir

+
+

disabled#

+

Optional disabled: boolean

+

Inherited from#

+

React.HTMLProps.disabled

+
+

download#

+

Optional download: any

+

Inherited from#

+

React.HTMLProps.download

+
+

draggable#

+

Optional draggable: Booleanish

+

Inherited from#

+

React.HTMLProps.draggable

+
+

encType#

+

Optional encType: string

+

Inherited from#

+

React.HTMLProps.encType

+
+

form#

+

Optional form: string

+

Inherited from#

+

React.HTMLProps.form

+
+

formAction#

+

Optional formAction: string

+

Inherited from#

+

React.HTMLProps.formAction

+
+

formEncType#

+

Optional formEncType: string

+

Inherited from#

+

React.HTMLProps.formEncType

+
+

formMethod#

+

Optional formMethod: string

+

Inherited from#

+

React.HTMLProps.formMethod

+
+

formNoValidate#

+

Optional formNoValidate: boolean

+

Inherited from#

+

React.HTMLProps.formNoValidate

+
+

formTarget#

+

Optional formTarget: string

+

Inherited from#

+

React.HTMLProps.formTarget

+
+

frameBorder#

+

Optional frameBorder: string | number

+

Inherited from#

+

React.HTMLProps.frameBorder

+
+

headers#

+

Optional headers: string

+

Inherited from#

+

React.HTMLProps.headers

+
+

height#

+

Optional height: string | number

+

Inherited from#

+

React.HTMLProps.height

+
+

hidden#

+

Optional hidden: boolean

+

Inherited from#

+

React.HTMLProps.hidden

+
+

high#

+

Optional high: number

+

Inherited from#

+

React.HTMLProps.high

+
+

href#

+

Optional href: string

+

Inherited from#

+

React.HTMLProps.href

+
+

hrefLang#

+

Optional hrefLang: string

+

Inherited from#

+

React.HTMLProps.hrefLang

+
+

htmlFor#

+

Optional htmlFor: string

+

Inherited from#

+

React.HTMLProps.htmlFor

+
+

httpEquiv#

+

Optional httpEquiv: string

+

Inherited from#

+

React.HTMLProps.httpEquiv

+
+

id#

+

Optional id: string

+

Inherited from#

+

React.HTMLProps.id

+
+

inlist#

+

Optional inlist: any

+

Inherited from#

+

React.HTMLProps.inlist

+
+

inputMode#

+

Optional inputMode: "text" | "none" | "search" | "tel" | "url" | "email" | "numeric" | "decimal"

+

Hints at the type of data that might be entered by the user while editing the element or its contents

+

see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

+

Inherited from#

+

React.HTMLProps.inputMode

+
+

integrity#

+

Optional integrity: string

+

Inherited from#

+

React.HTMLProps.integrity

+
+

is#

+

Optional is: string

+

Specify that a standard HTML element should behave like a defined custom built-in element

+

see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

+

Inherited from#

+

React.HTMLProps.is

+
+

itemID#

+

Optional itemID: string

+

Inherited from#

+

React.HTMLProps.itemID

+
+

itemProp#

+

Optional itemProp: string

+

Inherited from#

+

React.HTMLProps.itemProp

+
+

itemRef#

+

Optional itemRef: string

+

Inherited from#

+

React.HTMLProps.itemRef

+
+

itemScope#

+

Optional itemScope: boolean

+

Inherited from#

+

React.HTMLProps.itemScope

+
+

itemType#

+

Optional itemType: string

+

Inherited from#

+

React.HTMLProps.itemType

+
+

key#

+

Optional key: Key

+

Inherited from#

+

React.HTMLProps.key

+
+

keyParams#

+

Optional keyParams: string

+

Inherited from#

+

React.HTMLProps.keyParams

+
+

keyType#

+

Optional keyType: string

+

Inherited from#

+

React.HTMLProps.keyType

+
+

kind#

+

Optional kind: string

+

Inherited from#

+

React.HTMLProps.kind

+
+

label#

+

Optional label: string

+

Inherited from#

+

React.HTMLProps.label

+
+

lang#

+

Optional lang: string

+

Inherited from#

+

React.HTMLProps.lang

+
+

list#

+

Optional list: string

+

Inherited from#

+

React.HTMLProps.list

+
+

loop#

+

Optional loop: boolean

+

Inherited from#

+

React.HTMLProps.loop

+
+

low#

+

Optional low: number

+

Inherited from#

+

React.HTMLProps.low

+
+

manifest#

+

Optional manifest: string

+

Inherited from#

+

React.HTMLProps.manifest

+
+

marginHeight#

+

Optional marginHeight: number

+

Inherited from#

+

React.HTMLProps.marginHeight

+
+

marginWidth#

+

Optional marginWidth: number

+

Inherited from#

+

React.HTMLProps.marginWidth

+
+

max#

+

Optional max: number

+

Overrides#

+

React.HTMLProps.max

+
+

maxLength#

+

Optional maxLength: number

+

Inherited from#

+

React.HTMLProps.maxLength

+
+

media#

+

Optional media: string

+

Inherited from#

+

React.HTMLProps.media

+
+

mediaGroup#

+

Optional mediaGroup: string

+

Inherited from#

+

React.HTMLProps.mediaGroup

+
+

method#

+

Optional method: string

+

Inherited from#

+

React.HTMLProps.method

+
+

min#

+

Optional min: number

+

Overrides#

+

React.HTMLProps.min

+
+

minLength#

+

Optional minLength: number

+

Inherited from#

+

React.HTMLProps.minLength

+
+

multiple#

+

Optional multiple: boolean

+

Inherited from#

+

React.HTMLProps.multiple

+
+

muted#

+

Optional muted: boolean

+

Inherited from#

+

React.HTMLProps.muted

+
+

name#

+

Optional name: string

+

Inherited from#

+

React.HTMLProps.name

+
+

noValidate#

+

Optional noValidate: boolean

+

Inherited from#

+

React.HTMLProps.noValidate

+
+

nonce#

+

Optional nonce: string

+

Inherited from#

+

React.HTMLProps.nonce

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWheelCapture

+
+

open#

+

Optional open: boolean

+

Inherited from#

+

React.HTMLProps.open

+
+

optimum#

+

Optional optimum: number

+

Inherited from#

+

React.HTMLProps.optimum

+
+

pattern#

+

Optional pattern: string

+

Inherited from#

+

React.HTMLProps.pattern

+
+

placeholder#

+

Optional placeholder: string

+

Inherited from#

+

React.HTMLProps.placeholder

+
+

playsInline#

+

Optional playsInline: boolean

+

Inherited from#

+

React.HTMLProps.playsInline

+
+

poster#

+

Optional poster: string

+

Inherited from#

+

React.HTMLProps.poster

+
+

precise#

+

Optional precise: number

+
+

prefix#

+

Optional prefix: string

+

Inherited from#

+

React.HTMLProps.prefix

+
+

preload#

+

Optional preload: string

+

Inherited from#

+

React.HTMLProps.preload

+
+

property#

+

Optional property: string

+

Inherited from#

+

React.HTMLProps.property

+
+

radioGroup#

+

Optional radioGroup: string

+

Inherited from#

+

React.HTMLProps.radioGroup

+
+

readOnly#

+

Optional readOnly: boolean

+

Inherited from#

+

React.HTMLProps.readOnly

+
+

ref#

+

Optional ref: LegacyRef<any>

+

Inherited from#

+

React.HTMLProps.ref

+
+

rel#

+

Optional rel: string

+

Inherited from#

+

React.HTMLProps.rel

+
+

required#

+

Optional required: boolean

+

Inherited from#

+

React.HTMLProps.required

+
+

resource#

+

Optional resource: string

+

Inherited from#

+

React.HTMLProps.resource

+
+

results#

+

Optional results: number

+

Inherited from#

+

React.HTMLProps.results

+
+

reversed#

+

Optional reversed: boolean

+

Inherited from#

+

React.HTMLProps.reversed

+
+

role#

+

Optional role: AriaRole

+

Inherited from#

+

React.HTMLProps.role

+
+

rowSpan#

+

Optional rowSpan: number

+

Inherited from#

+

React.HTMLProps.rowSpan

+
+

rows#

+

Optional rows: number

+

Inherited from#

+

React.HTMLProps.rows

+
+

sandbox#

+

Optional sandbox: string

+

Inherited from#

+

React.HTMLProps.sandbox

+
+

scope#

+

Optional scope: string

+

Inherited from#

+

React.HTMLProps.scope

+
+

scoped#

+

Optional scoped: boolean

+

Inherited from#

+

React.HTMLProps.scoped

+
+

scrolling#

+

Optional scrolling: string

+

Inherited from#

+

React.HTMLProps.scrolling

+
+

seamless#

+

Optional seamless: boolean

+

Inherited from#

+

React.HTMLProps.seamless

+
+

security#

+

Optional security: string

+

Inherited from#

+

React.HTMLProps.security

+
+

selected#

+

Optional selected: boolean

+

Inherited from#

+

React.HTMLProps.selected

+
+

shape#

+

Optional shape: string

+

Inherited from#

+

React.HTMLProps.shape

+
+

size#

+

Optional size: number

+

Inherited from#

+

React.HTMLProps.size

+
+

sizes#

+

Optional sizes: string

+

Inherited from#

+

React.HTMLProps.sizes

+
+

slot#

+

Optional slot: string

+

Inherited from#

+

React.HTMLProps.slot

+
+

span#

+

Optional span: number

+

Inherited from#

+

React.HTMLProps.span

+
+

spellCheck#

+

Optional spellCheck: Booleanish

+

Inherited from#

+

React.HTMLProps.spellCheck

+
+

src#

+

Optional src: string

+

Inherited from#

+

React.HTMLProps.src

+
+

srcDoc#

+

Optional srcDoc: string

+

Inherited from#

+

React.HTMLProps.srcDoc

+
+

srcLang#

+

Optional srcLang: string

+

Inherited from#

+

React.HTMLProps.srcLang

+
+

srcSet#

+

Optional srcSet: string

+

Inherited from#

+

React.HTMLProps.srcSet

+
+

start#

+

Optional start: number

+

Inherited from#

+

React.HTMLProps.start

+
+

step#

+

Optional step: string | number

+

Inherited from#

+

React.HTMLProps.step

+
+

style#

+

Optional style: CSSProperties

+

Inherited from#

+

React.HTMLProps.style

+
+

summary#

+

Optional summary: string

+

Inherited from#

+

React.HTMLProps.summary

+
+

suppressContentEditableWarning#

+

Optional suppressContentEditableWarning: boolean

+

Inherited from#

+

React.HTMLProps.suppressContentEditableWarning

+
+

suppressHydrationWarning#

+

Optional suppressHydrationWarning: boolean

+

Inherited from#

+

React.HTMLProps.suppressHydrationWarning

+
+

tabIndex#

+

Optional tabIndex: number

+

Inherited from#

+

React.HTMLProps.tabIndex

+
+

target#

+

Optional target: string

+

Inherited from#

+

React.HTMLProps.target

+
+

title#

+

Optional title: string

+

Inherited from#

+

React.HTMLProps.title

+
+

tooltip#

+

Optional tooltip: ReactNode | Omit<TooltipProps, "targetId">

+

Inherited from#

+

TooltipDecoratorProps.tooltip

+
+

tooltipOverrideDisabled#

+

Optional tooltipOverrideDisabled: boolean

+

forces tooltip to detect the target's parent for mouse events. This is +useful for displaying tooltips even when the target is "disabled"

+

Inherited from#

+

TooltipDecoratorProps.tooltipOverrideDisabled

+
+

translate#

+

Optional translate: "yes" | "no"

+

Inherited from#

+

React.HTMLProps.translate

+
+

type#

+

Optional type: string

+

Inherited from#

+

React.HTMLProps.type

+
+

typeof#

+

Optional typeof: string

+

Inherited from#

+

React.HTMLProps.typeof

+
+

unselectable#

+

Optional unselectable: "on" | "off"

+

Inherited from#

+

React.HTMLProps.unselectable

+
+

useMap#

+

Optional useMap: string

+

Inherited from#

+

React.HTMLProps.useMap

+
+

value#

+

value: number

+

Overrides#

+

React.HTMLProps.value

+
+

vocab#

+

Optional vocab: string

+

Inherited from#

+

React.HTMLProps.vocab

+
+

width#

+

Optional width: string | number

+

Inherited from#

+

React.HTMLProps.width

+
+

wmode#

+

Optional wmode: string

+

Inherited from#

+

React.HTMLProps.wmode

+
+

wrap#

+

Optional wrap: string

+

Inherited from#

+

React.HTMLProps.wrap

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuActionsProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuActionsProps/index.html new file mode 100644 index 0000000000..08173e8e9a --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuActionsProps/index.html @@ -0,0 +1,1144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: MenuActionsProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: MenuActionsProps#

+

Renderer.Component.MenuActionsProps

+

Hierarchy#

+ +

MenuActionsProps

+

↳↳ KubeObjectMenuProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

autoCloseOnSelect#

+

Optional autoCloseOnSelect: boolean

+
+

autoFocus#

+

Optional autoFocus: boolean

+

Inherited from#

+

Partial.autoFocus

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

Partial.children

+
+

className#

+

Optional className: string

+

Overrides#

+

Partial.className

+
+

closeOnClickItem#

+

Optional closeOnClickItem: boolean

+

Inherited from#

+

Partial.closeOnClickItem

+
+

closeOnClickOutside#

+

Optional closeOnClickOutside: boolean

+

Inherited from#

+

Partial.closeOnClickOutside

+
+

closeOnScroll#

+

Optional closeOnScroll: boolean

+

Inherited from#

+

Partial.closeOnScroll

+
+

htmlFor#

+

Optional htmlFor: string

+

Inherited from#

+

Partial.htmlFor

+
+

id#

+

Optional id: string

+

Inherited from#

+

Partial.id

+
+

isOpen#

+

Optional isOpen: boolean

+

Inherited from#

+

Partial.isOpen

+
+

position#

+

Optional position: MenuPosition

+

Inherited from#

+

Partial.position

+
+

removeConfirmationMessage#

+

Optional removeConfirmationMessage: ReactNode | () => ReactNode

+
+

toggleEvent#

+

Optional toggleEvent: "click" | "contextmenu"

+

Inherited from#

+

Partial.toggleEvent

+
+

toolbar#

+

Optional toolbar: boolean

+
+

triggerIcon#

+

Optional triggerIcon: ReactNode | IconProps

+
+

usePortal#

+

Optional usePortal: boolean | HTMLElement

+

Inherited from#

+

Partial.usePortal

+

Methods#

+

close#

+

Optional close(): void

+

Returns#

+

void

+

Inherited from#

+

Partial.close

+
+

onOpen#

+

Optional onOpen(): void

+

Returns#

+

void

+
+

open#

+

Optional open(): void

+

Returns#

+

void

+

Inherited from#

+

Partial.open

+
+

removeAction#

+

Optional removeAction(): void

+

Returns#

+

void

+
+

updateAction#

+

Optional updateAction(): void

+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuItemProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuItemProps/index.html new file mode 100644 index 0000000000..03c467d840 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuItemProps/index.html @@ -0,0 +1,5674 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: MenuItemProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: MenuItemProps#

+

Renderer.Component.MenuItemProps

+

Hierarchy#

+
    +
  • HTMLProps<any>
  • +
+

MenuItemProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

about#

+

Optional about: string

+

Inherited from#

+

React.HTMLProps.about

+
+

accept#

+

Optional accept: string

+

Inherited from#

+

React.HTMLProps.accept

+
+

acceptCharset#

+

Optional acceptCharset: string

+

Inherited from#

+

React.HTMLProps.acceptCharset

+
+

accessKey#

+

Optional accessKey: string

+

Inherited from#

+

React.HTMLProps.accessKey

+
+

action#

+

Optional action: string

+

Inherited from#

+

React.HTMLProps.action

+
+

active#

+

Optional active: boolean

+
+

allowFullScreen#

+

Optional allowFullScreen: boolean

+

Inherited from#

+

React.HTMLProps.allowFullScreen

+
+

allowTransparency#

+

Optional allowTransparency: boolean

+

Inherited from#

+

React.HTMLProps.allowTransparency

+
+

alt#

+

Optional alt: string

+

Inherited from#

+

React.HTMLProps.alt

+
+

aria-activedescendant#

+

Optional aria-activedescendant: string

+

Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

+

Inherited from#

+

React.HTMLProps.aria-activedescendant

+
+

aria-atomic#

+

Optional aria-atomic: Booleanish

+

Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

+

Inherited from#

+

React.HTMLProps.aria-atomic

+
+

aria-autocomplete#

+

Optional aria-autocomplete: "list" | "none" | "inline" | "both"

+

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be +presented if they are made.

+

Inherited from#

+

React.HTMLProps.aria-autocomplete

+
+

aria-busy#

+

Optional aria-busy: Booleanish

+

Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

+

Inherited from#

+

React.HTMLProps.aria-busy

+
+

aria-checked#

+

Optional aria-checked: boolean | "true" | "false" | "mixed"

+

Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

+

see aria-pressed @see aria-selected.

+

Inherited from#

+

React.HTMLProps.aria-checked

+
+

aria-colcount#

+

Optional aria-colcount: number

+

Defines the total number of columns in a table, grid, or treegrid.

+

see aria-colindex.

+

Inherited from#

+

React.HTMLProps.aria-colcount

+
+

aria-colindex#

+

Optional aria-colindex: number

+

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

+

see aria-colcount @see aria-colspan.

+

Inherited from#

+

React.HTMLProps.aria-colindex

+
+

aria-colspan#

+

Optional aria-colspan: number

+

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-colindex @see aria-rowspan.

+

Inherited from#

+

React.HTMLProps.aria-colspan

+
+

aria-controls#

+

Optional aria-controls: string

+

Identifies the element (or elements) whose contents or presence are controlled by the current element.

+

see aria-owns.

+

Inherited from#

+

React.HTMLProps.aria-controls

+
+

aria-current#

+

Optional aria-current: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date"

+

Indicates the element that represents the current item within a container or set of related elements.

+

Inherited from#

+

React.HTMLProps.aria-current

+
+

aria-describedby#

+

Optional aria-describedby: string

+

Identifies the element (or elements) that describes the object.

+

see aria-labelledby

+

Inherited from#

+

React.HTMLProps.aria-describedby

+
+

aria-details#

+

Optional aria-details: string

+

Identifies the element that provides a detailed, extended description for the object.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLProps.aria-details

+
+

aria-disabled#

+

Optional aria-disabled: Booleanish

+

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

+

see aria-hidden @see aria-readonly.

+

Inherited from#

+

React.HTMLProps.aria-disabled

+
+

aria-dropeffect#

+

Optional aria-dropeffect: "link" | "none" | "copy" | "execute" | "move" | "popup"

+

Indicates what functions can be performed when a dragged object is released on the drop target.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLProps.aria-dropeffect

+
+

aria-errormessage#

+

Optional aria-errormessage: string

+

Identifies the element that provides an error message for the object.

+

see aria-invalid @see aria-describedby.

+

Inherited from#

+

React.HTMLProps.aria-errormessage

+
+

aria-expanded#

+

Optional aria-expanded: Booleanish

+

Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

+

Inherited from#

+

React.HTMLProps.aria-expanded

+
+

aria-flowto#

+

Optional aria-flowto: string

+

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, +allows assistive technology to override the general default of reading in document source order.

+

Inherited from#

+

React.HTMLProps.aria-flowto

+
+

aria-grabbed#

+

Optional aria-grabbed: Booleanish

+

Indicates an element's "grabbed" state in a drag-and-drop operation.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLProps.aria-grabbed

+
+

aria-haspopup#

+

Optional aria-haspopup: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree"

+

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

+

Inherited from#

+

React.HTMLProps.aria-haspopup

+
+

aria-hidden#

+

Optional aria-hidden: Booleanish

+

Indicates whether the element is exposed to an accessibility API.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLProps.aria-hidden

+
+

aria-invalid#

+

Optional aria-invalid: boolean | "true" | "false" | "grammar" | "spelling"

+

Indicates the entered value does not conform to the format expected by the application.

+

see aria-errormessage.

+

Inherited from#

+

React.HTMLProps.aria-invalid

+
+

aria-keyshortcuts#

+

Optional aria-keyshortcuts: string

+

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

+

Inherited from#

+

React.HTMLProps.aria-keyshortcuts

+
+

aria-label#

+

Optional aria-label: string

+

Defines a string value that labels the current element.

+

see aria-labelledby.

+

Inherited from#

+

React.HTMLProps.aria-label

+
+

aria-labelledby#

+

Optional aria-labelledby: string

+

Identifies the element (or elements) that labels the current element.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLProps.aria-labelledby

+
+

aria-level#

+

Optional aria-level: number

+

Defines the hierarchical level of an element within a structure.

+

Inherited from#

+

React.HTMLProps.aria-level

+
+

aria-live#

+

Optional aria-live: "off" | "assertive" | "polite"

+

Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

+

Inherited from#

+

React.HTMLProps.aria-live

+
+

aria-modal#

+

Optional aria-modal: Booleanish

+

Indicates whether an element is modal when displayed.

+

Inherited from#

+

React.HTMLProps.aria-modal

+
+

aria-multiline#

+

Optional aria-multiline: Booleanish

+

Indicates whether a text box accepts multiple lines of input or only a single line.

+

Inherited from#

+

React.HTMLProps.aria-multiline

+
+

aria-multiselectable#

+

Optional aria-multiselectable: Booleanish

+

Indicates that the user may select more than one item from the current selectable descendants.

+

Inherited from#

+

React.HTMLProps.aria-multiselectable

+
+

aria-orientation#

+

Optional aria-orientation: "horizontal" | "vertical"

+

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

+

Inherited from#

+

React.HTMLProps.aria-orientation

+
+

aria-owns#

+

Optional aria-owns: string

+

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship +between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

+

see aria-controls.

+

Inherited from#

+

React.HTMLProps.aria-owns

+
+

aria-placeholder#

+

Optional aria-placeholder: string

+

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. +A hint could be a sample value or a brief description of the expected format.

+

Inherited from#

+

React.HTMLProps.aria-placeholder

+
+

aria-posinset#

+

Optional aria-posinset: number

+

Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-setsize.

+

Inherited from#

+

React.HTMLProps.aria-posinset

+
+

aria-pressed#

+

Optional aria-pressed: boolean | "true" | "false" | "mixed"

+

Indicates the current "pressed" state of toggle buttons.

+

see aria-checked @see aria-selected.

+

Inherited from#

+

React.HTMLProps.aria-pressed

+
+

aria-readonly#

+

Optional aria-readonly: Booleanish

+

Indicates that the element is not editable, but is otherwise operable.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLProps.aria-readonly

+
+

aria-relevant#

+

Optional aria-relevant: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals"

+

Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

+

see aria-atomic.

+

Inherited from#

+

React.HTMLProps.aria-relevant

+
+

aria-required#

+

Optional aria-required: Booleanish

+

Indicates that user input is required on the element before a form may be submitted.

+

Inherited from#

+

React.HTMLProps.aria-required

+
+

aria-roledescription#

+

Optional aria-roledescription: string

+

Defines a human-readable, author-localized description for the role of an element.

+

Inherited from#

+

React.HTMLProps.aria-roledescription

+
+

aria-rowcount#

+

Optional aria-rowcount: number

+

Defines the total number of rows in a table, grid, or treegrid.

+

see aria-rowindex.

+

Inherited from#

+

React.HTMLProps.aria-rowcount

+
+

aria-rowindex#

+

Optional aria-rowindex: number

+

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

+

see aria-rowcount @see aria-rowspan.

+

Inherited from#

+

React.HTMLProps.aria-rowindex

+
+

aria-rowspan#

+

Optional aria-rowspan: number

+

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-rowindex @see aria-colspan.

+

Inherited from#

+

React.HTMLProps.aria-rowspan

+
+

aria-selected#

+

Optional aria-selected: Booleanish

+

Indicates the current "selected" state of various widgets.

+

see aria-checked @see aria-pressed.

+

Inherited from#

+

React.HTMLProps.aria-selected

+
+

aria-setsize#

+

Optional aria-setsize: number

+

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-posinset.

+

Inherited from#

+

React.HTMLProps.aria-setsize

+
+

aria-sort#

+

Optional aria-sort: "none" | "ascending" | "descending" | "other"

+

Indicates if items in a table or grid are sorted in ascending or descending order.

+

Inherited from#

+

React.HTMLProps.aria-sort

+
+

aria-valuemax#

+

Optional aria-valuemax: number

+

Defines the maximum allowed value for a range widget.

+

Inherited from#

+

React.HTMLProps.aria-valuemax

+
+

aria-valuemin#

+

Optional aria-valuemin: number

+

Defines the minimum allowed value for a range widget.

+

Inherited from#

+

React.HTMLProps.aria-valuemin

+
+

aria-valuenow#

+

Optional aria-valuenow: number

+

Defines the current value for a range widget.

+

see aria-valuetext.

+

Inherited from#

+

React.HTMLProps.aria-valuenow

+
+

aria-valuetext#

+

Optional aria-valuetext: string

+

Defines the human readable text alternative of aria-valuenow for a range widget.

+

Inherited from#

+

React.HTMLProps.aria-valuetext

+
+

as#

+

Optional as: string

+

Inherited from#

+

React.HTMLProps.as

+
+

async#

+

Optional async: boolean

+

Inherited from#

+

React.HTMLProps.async

+
+

autoCapitalize#

+

Optional autoCapitalize: string

+

Inherited from#

+

React.HTMLProps.autoCapitalize

+
+

autoComplete#

+

Optional autoComplete: string

+

Inherited from#

+

React.HTMLProps.autoComplete

+
+

autoCorrect#

+

Optional autoCorrect: string

+

Inherited from#

+

React.HTMLProps.autoCorrect

+
+

autoFocus#

+

Optional autoFocus: boolean

+

Inherited from#

+

React.HTMLProps.autoFocus

+
+

autoPlay#

+

Optional autoPlay: boolean

+

Inherited from#

+

React.HTMLProps.autoPlay

+
+

autoSave#

+

Optional autoSave: string

+

Inherited from#

+

React.HTMLProps.autoSave

+
+

capture#

+

Optional capture: boolean | "user" | "environment"

+

Inherited from#

+

React.HTMLProps.capture

+
+

cellPadding#

+

Optional cellPadding: string | number

+

Inherited from#

+

React.HTMLProps.cellPadding

+
+

cellSpacing#

+

Optional cellSpacing: string | number

+

Inherited from#

+

React.HTMLProps.cellSpacing

+
+

challenge#

+

Optional challenge: string

+

Inherited from#

+

React.HTMLProps.challenge

+
+

charSet#

+

Optional charSet: string

+

Inherited from#

+

React.HTMLProps.charSet

+
+

checked#

+

Optional checked: boolean

+

Inherited from#

+

React.HTMLProps.checked

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.HTMLProps.children

+
+

cite#

+

Optional cite: string

+

Inherited from#

+

React.HTMLProps.cite

+
+

classID#

+

Optional classID: string

+

Inherited from#

+

React.HTMLProps.classID

+
+

className#

+

Optional className: string

+

Inherited from#

+

React.HTMLProps.className

+
+

colSpan#

+

Optional colSpan: number

+

Inherited from#

+

React.HTMLProps.colSpan

+
+

color#

+

Optional color: string

+

Inherited from#

+

React.HTMLProps.color

+
+

cols#

+

Optional cols: number

+

Inherited from#

+

React.HTMLProps.cols

+
+

content#

+

Optional content: string

+

Inherited from#

+

React.HTMLProps.content

+
+

contentEditable#

+

Optional contentEditable: Booleanish | "inherit"

+

Inherited from#

+

React.HTMLProps.contentEditable

+
+

contextMenu#

+

Optional contextMenu: string

+

Inherited from#

+

React.HTMLProps.contextMenu

+
+

controls#

+

Optional controls: boolean

+

Inherited from#

+

React.HTMLProps.controls

+
+

coords#

+

Optional coords: string

+

Inherited from#

+

React.HTMLProps.coords

+
+

crossOrigin#

+

Optional crossOrigin: string

+

Inherited from#

+

React.HTMLProps.crossOrigin

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.HTMLProps.dangerouslySetInnerHTML

+
+

data#

+

Optional data: string

+

Inherited from#

+

React.HTMLProps.data

+
+

datatype#

+

Optional datatype: string

+

Inherited from#

+

React.HTMLProps.datatype

+
+

dateTime#

+

Optional dateTime: string

+

Inherited from#

+

React.HTMLProps.dateTime

+
+

default#

+

Optional default: boolean

+

Inherited from#

+

React.HTMLProps.default

+
+

defaultChecked#

+

Optional defaultChecked: boolean

+

Inherited from#

+

React.HTMLProps.defaultChecked

+
+

defaultValue#

+

Optional defaultValue: string | number | readonly string[]

+

Inherited from#

+

React.HTMLProps.defaultValue

+
+

defer#

+

Optional defer: boolean

+

Inherited from#

+

React.HTMLProps.defer

+
+

dir#

+

Optional dir: string

+

Inherited from#

+

React.HTMLProps.dir

+
+

disabled#

+

Optional disabled: boolean

+

Overrides#

+

React.HTMLProps.disabled

+
+

download#

+

Optional download: any

+

Inherited from#

+

React.HTMLProps.download

+
+

draggable#

+

Optional draggable: Booleanish

+

Inherited from#

+

React.HTMLProps.draggable

+
+

encType#

+

Optional encType: string

+

Inherited from#

+

React.HTMLProps.encType

+
+

form#

+

Optional form: string

+

Inherited from#

+

React.HTMLProps.form

+
+

formAction#

+

Optional formAction: string

+

Inherited from#

+

React.HTMLProps.formAction

+
+

formEncType#

+

Optional formEncType: string

+

Inherited from#

+

React.HTMLProps.formEncType

+
+

formMethod#

+

Optional formMethod: string

+

Inherited from#

+

React.HTMLProps.formMethod

+
+

formNoValidate#

+

Optional formNoValidate: boolean

+

Inherited from#

+

React.HTMLProps.formNoValidate

+
+

formTarget#

+

Optional formTarget: string

+

Inherited from#

+

React.HTMLProps.formTarget

+
+

frameBorder#

+

Optional frameBorder: string | number

+

Inherited from#

+

React.HTMLProps.frameBorder

+
+

headers#

+

Optional headers: string

+

Inherited from#

+

React.HTMLProps.headers

+
+

height#

+

Optional height: string | number

+

Inherited from#

+

React.HTMLProps.height

+
+

hidden#

+

Optional hidden: boolean

+

Inherited from#

+

React.HTMLProps.hidden

+
+

high#

+

Optional high: number

+

Inherited from#

+

React.HTMLProps.high

+
+

href#

+

Optional href: string

+

Overrides#

+

React.HTMLProps.href

+
+

hrefLang#

+

Optional hrefLang: string

+

Inherited from#

+

React.HTMLProps.hrefLang

+
+

htmlFor#

+

Optional htmlFor: string

+

Inherited from#

+

React.HTMLProps.htmlFor

+
+

httpEquiv#

+

Optional httpEquiv: string

+

Inherited from#

+

React.HTMLProps.httpEquiv

+
+

icon#

+

Optional icon: string | Partial<IconProps>

+
+

id#

+

Optional id: string

+

Inherited from#

+

React.HTMLProps.id

+
+

inlist#

+

Optional inlist: any

+

Inherited from#

+

React.HTMLProps.inlist

+
+

inputMode#

+

Optional inputMode: "text" | "none" | "search" | "tel" | "url" | "email" | "numeric" | "decimal"

+

Hints at the type of data that might be entered by the user while editing the element or its contents

+

see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

+

Inherited from#

+

React.HTMLProps.inputMode

+
+

integrity#

+

Optional integrity: string

+

Inherited from#

+

React.HTMLProps.integrity

+
+

is#

+

Optional is: string

+

Specify that a standard HTML element should behave like a defined custom built-in element

+

see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

+

Inherited from#

+

React.HTMLProps.is

+
+

itemID#

+

Optional itemID: string

+

Inherited from#

+

React.HTMLProps.itemID

+
+

itemProp#

+

Optional itemProp: string

+

Inherited from#

+

React.HTMLProps.itemProp

+
+

itemRef#

+

Optional itemRef: string

+

Inherited from#

+

React.HTMLProps.itemRef

+
+

itemScope#

+

Optional itemScope: boolean

+

Inherited from#

+

React.HTMLProps.itemScope

+
+

itemType#

+

Optional itemType: string

+

Inherited from#

+

React.HTMLProps.itemType

+
+

key#

+

Optional key: Key

+

Inherited from#

+

React.HTMLProps.key

+
+

keyParams#

+

Optional keyParams: string

+

Inherited from#

+

React.HTMLProps.keyParams

+
+

keyType#

+

Optional keyType: string

+

Inherited from#

+

React.HTMLProps.keyType

+
+

kind#

+

Optional kind: string

+

Inherited from#

+

React.HTMLProps.kind

+
+

label#

+

Optional label: string

+

Inherited from#

+

React.HTMLProps.label

+
+

lang#

+

Optional lang: string

+

Inherited from#

+

React.HTMLProps.lang

+
+

list#

+

Optional list: string

+

Inherited from#

+

React.HTMLProps.list

+
+

loop#

+

Optional loop: boolean

+

Inherited from#

+

React.HTMLProps.loop

+
+

low#

+

Optional low: number

+

Inherited from#

+

React.HTMLProps.low

+
+

manifest#

+

Optional manifest: string

+

Inherited from#

+

React.HTMLProps.manifest

+
+

marginHeight#

+

Optional marginHeight: number

+

Inherited from#

+

React.HTMLProps.marginHeight

+
+

marginWidth#

+

Optional marginWidth: number

+

Inherited from#

+

React.HTMLProps.marginWidth

+
+

max#

+

Optional max: string | number

+

Inherited from#

+

React.HTMLProps.max

+
+

maxLength#

+

Optional maxLength: number

+

Inherited from#

+

React.HTMLProps.maxLength

+
+

media#

+

Optional media: string

+

Inherited from#

+

React.HTMLProps.media

+
+

mediaGroup#

+

Optional mediaGroup: string

+

Inherited from#

+

React.HTMLProps.mediaGroup

+
+

method#

+

Optional method: string

+

Inherited from#

+

React.HTMLProps.method

+
+

min#

+

Optional min: string | number

+

Inherited from#

+

React.HTMLProps.min

+
+

minLength#

+

Optional minLength: number

+

Inherited from#

+

React.HTMLProps.minLength

+
+

multiple#

+

Optional multiple: boolean

+

Inherited from#

+

React.HTMLProps.multiple

+
+

muted#

+

Optional muted: boolean

+

Inherited from#

+

React.HTMLProps.muted

+
+

name#

+

Optional name: string

+

Inherited from#

+

React.HTMLProps.name

+
+

noValidate#

+

Optional noValidate: boolean

+

Inherited from#

+

React.HTMLProps.noValidate

+
+

nonce#

+

Optional nonce: string

+

Inherited from#

+

React.HTMLProps.nonce

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWheelCapture

+
+

open#

+

Optional open: boolean

+

Inherited from#

+

React.HTMLProps.open

+
+

optimum#

+

Optional optimum: number

+

Inherited from#

+

React.HTMLProps.optimum

+
+

pattern#

+

Optional pattern: string

+

Inherited from#

+

React.HTMLProps.pattern

+
+

placeholder#

+

Optional placeholder: string

+

Inherited from#

+

React.HTMLProps.placeholder

+
+

playsInline#

+

Optional playsInline: boolean

+

Inherited from#

+

React.HTMLProps.playsInline

+
+

poster#

+

Optional poster: string

+

Inherited from#

+

React.HTMLProps.poster

+
+

prefix#

+

Optional prefix: string

+

Inherited from#

+

React.HTMLProps.prefix

+
+

preload#

+

Optional preload: string

+

Inherited from#

+

React.HTMLProps.preload

+
+

property#

+

Optional property: string

+

Inherited from#

+

React.HTMLProps.property

+
+

radioGroup#

+

Optional radioGroup: string

+

Inherited from#

+

React.HTMLProps.radioGroup

+
+

readOnly#

+

Optional readOnly: boolean

+

Inherited from#

+

React.HTMLProps.readOnly

+
+

ref#

+

Optional ref: LegacyRef<any>

+

Inherited from#

+

React.HTMLProps.ref

+
+

rel#

+

Optional rel: string

+

Inherited from#

+

React.HTMLProps.rel

+
+

required#

+

Optional required: boolean

+

Inherited from#

+

React.HTMLProps.required

+
+

resource#

+

Optional resource: string

+

Inherited from#

+

React.HTMLProps.resource

+
+

results#

+

Optional results: number

+

Inherited from#

+

React.HTMLProps.results

+
+

reversed#

+

Optional reversed: boolean

+

Inherited from#

+

React.HTMLProps.reversed

+
+

role#

+

Optional role: AriaRole

+

Inherited from#

+

React.HTMLProps.role

+
+

rowSpan#

+

Optional rowSpan: number

+

Inherited from#

+

React.HTMLProps.rowSpan

+
+

rows#

+

Optional rows: number

+

Inherited from#

+

React.HTMLProps.rows

+
+

sandbox#

+

Optional sandbox: string

+

Inherited from#

+

React.HTMLProps.sandbox

+
+

scope#

+

Optional scope: string

+

Inherited from#

+

React.HTMLProps.scope

+
+

scoped#

+

Optional scoped: boolean

+

Inherited from#

+

React.HTMLProps.scoped

+
+

scrolling#

+

Optional scrolling: string

+

Inherited from#

+

React.HTMLProps.scrolling

+
+

seamless#

+

Optional seamless: boolean

+

Inherited from#

+

React.HTMLProps.seamless

+
+

security#

+

Optional security: string

+

Inherited from#

+

React.HTMLProps.security

+
+

selected#

+

Optional selected: boolean

+

Inherited from#

+

React.HTMLProps.selected

+
+

shape#

+

Optional shape: string

+

Inherited from#

+

React.HTMLProps.shape

+
+

size#

+

Optional size: number

+

Inherited from#

+

React.HTMLProps.size

+
+

sizes#

+

Optional sizes: string

+

Inherited from#

+

React.HTMLProps.sizes

+
+

slot#

+

Optional slot: string

+

Inherited from#

+

React.HTMLProps.slot

+
+

spacer#

+

Optional spacer: boolean

+
+

span#

+

Optional span: number

+

Inherited from#

+

React.HTMLProps.span

+
+

spellCheck#

+

Optional spellCheck: Booleanish

+

Inherited from#

+

React.HTMLProps.spellCheck

+
+

src#

+

Optional src: string

+

Inherited from#

+

React.HTMLProps.src

+
+

srcDoc#

+

Optional srcDoc: string

+

Inherited from#

+

React.HTMLProps.srcDoc

+
+

srcLang#

+

Optional srcLang: string

+

Inherited from#

+

React.HTMLProps.srcLang

+
+

srcSet#

+

Optional srcSet: string

+

Inherited from#

+

React.HTMLProps.srcSet

+
+

start#

+

Optional start: number

+

Inherited from#

+

React.HTMLProps.start

+
+

step#

+

Optional step: string | number

+

Inherited from#

+

React.HTMLProps.step

+
+

style#

+

Optional style: CSSProperties

+

Inherited from#

+

React.HTMLProps.style

+
+

summary#

+

Optional summary: string

+

Inherited from#

+

React.HTMLProps.summary

+
+

suppressContentEditableWarning#

+

Optional suppressContentEditableWarning: boolean

+

Inherited from#

+

React.HTMLProps.suppressContentEditableWarning

+
+

suppressHydrationWarning#

+

Optional suppressHydrationWarning: boolean

+

Inherited from#

+

React.HTMLProps.suppressHydrationWarning

+
+

tabIndex#

+

Optional tabIndex: number

+

Inherited from#

+

React.HTMLProps.tabIndex

+
+

target#

+

Optional target: string

+

Inherited from#

+

React.HTMLProps.target

+
+

title#

+

Optional title: string

+

Inherited from#

+

React.HTMLProps.title

+
+

translate#

+

Optional translate: "yes" | "no"

+

Inherited from#

+

React.HTMLProps.translate

+
+

type#

+

Optional type: string

+

Inherited from#

+

React.HTMLProps.type

+
+

typeof#

+

Optional typeof: string

+

Inherited from#

+

React.HTMLProps.typeof

+
+

unselectable#

+

Optional unselectable: "on" | "off"

+

Inherited from#

+

React.HTMLProps.unselectable

+
+

useMap#

+

Optional useMap: string

+

Inherited from#

+

React.HTMLProps.useMap

+
+

value#

+

Optional value: string | number | readonly string[]

+

Inherited from#

+

React.HTMLProps.value

+
+

vocab#

+

Optional vocab: string

+

Inherited from#

+

React.HTMLProps.vocab

+
+

width#

+

Optional width: string | number

+

Inherited from#

+

React.HTMLProps.width

+
+

wmode#

+

Optional wmode: string

+

Inherited from#

+

React.HTMLProps.wmode

+
+

wrap#

+

Optional wrap: string

+

Inherited from#

+

React.HTMLProps.wrap

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuPosition/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuPosition/index.html new file mode 100644 index 0000000000..9e0affba9a --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuPosition/index.html @@ -0,0 +1,883 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: MenuPosition - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: MenuPosition#

+

Renderer.Component.MenuPosition

+

Table of contents#

+

Properties#

+ +

Properties#

+

bottom#

+

Optional bottom: boolean

+
+

left#

+

Optional left: boolean

+
+ +

Optional right: boolean

+
+

top#

+

Optional top: boolean

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuProps/index.html new file mode 100644 index 0000000000..020c25de39 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuProps/index.html @@ -0,0 +1,1020 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: MenuProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: MenuProps#

+

Renderer.Component.MenuProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

autoFocus#

+

Optional autoFocus: boolean

+
+

children#

+

Optional children: ReactNode

+
+

className#

+

Optional className: string

+
+

closeOnClickItem#

+

Optional closeOnClickItem: boolean

+
+

closeOnClickOutside#

+

Optional closeOnClickOutside: boolean

+
+

closeOnScroll#

+

Optional closeOnScroll: boolean

+
+

htmlFor#

+

Optional htmlFor: string

+
+

id#

+

Optional id: string

+
+

isOpen#

+

Optional isOpen: boolean

+
+

position#

+

Optional position: MenuPosition

+
+

toggleEvent#

+

Optional toggleEvent: "click" | "contextmenu"

+
+

usePortal#

+

Optional usePortal: boolean | HTMLElement

+

Methods#

+

close#

+

close(): void

+

Returns#

+

void

+
+

open#

+

open(): void

+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuStyle/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuStyle/index.html new file mode 100644 index 0000000000..4a3a0854ad --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.MenuStyle/index.html @@ -0,0 +1,861 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: MenuStyle - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: MenuStyle#

+

Renderer.Component.MenuStyle

+

Table of contents#

+

Properties#

+ +

Properties#

+

left#

+

left: string

+
+

top#

+

top: string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.Notification/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.Notification/index.html new file mode 100644 index 0000000000..9285906ada --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.Notification/index.html @@ -0,0 +1,919 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: Notification - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.RadioGroupProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.RadioGroupProps/index.html new file mode 100644 index 0000000000..3795e7f377 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.RadioGroupProps/index.html @@ -0,0 +1,934 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: RadioGroupProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: RadioGroupProps#

+

Renderer.Component.RadioGroupProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

asButtons#

+

Optional asButtons: boolean

+
+

className#

+

Optional className: any

+
+

disabled#

+

Optional disabled: boolean

+
+

value#

+

Optional value: any

+

Methods#

+

onChange#

+

Optional onChange(value): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
valuestring
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.SelectOption/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.SelectOption/index.html new file mode 100644 index 0000000000..00ab7e3137 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.SelectOption/index.html @@ -0,0 +1,883 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: SelectOption - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: SelectOption<T>#

+

Renderer.Component.SelectOption

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Tany
+

Table of contents#

+

Properties#

+ +

Properties#

+

label#

+

Optional label: ReactNode

+
+

value#

+

value: T

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.SelectProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.SelectProps/index.html new file mode 100644 index 0000000000..14e61fda6b --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.SelectProps/index.html @@ -0,0 +1,2190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: SelectProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: SelectProps<T>#

+

Renderer.Component.SelectProps

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Tany
+

Hierarchy#

+
    +
  • +

    ReactSelectProps<T, boolean>

    +
  • +
  • +

    CreatableProps<T, boolean>

    +
  • +
+

SelectProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

allowCreateWhileLoading#

+

Optional allowCreateWhileLoading: boolean

+

Inherited from#

+

CreatableProps.allowCreateWhileLoading

+
+

aria-label#

+

Optional aria-label: string

+

Inherited from#

+

ReactSelectProps.aria-label

+
+

aria-labelledby#

+

Optional aria-labelledby: string

+

Inherited from#

+

ReactSelectProps.aria-labelledby

+
+

autoConvertOptions#

+

Optional autoConvertOptions: boolean

+
+

autoFocus#

+

Optional autoFocus: boolean

+

Inherited from#

+

ReactSelectProps.autoFocus

+
+

backspaceRemovesValue#

+

Optional backspaceRemovesValue: boolean

+

Inherited from#

+

ReactSelectProps.backspaceRemovesValue

+
+

blurInputOnSelect#

+

Optional blurInputOnSelect: boolean

+

Inherited from#

+

ReactSelectProps.blurInputOnSelect

+
+

captureMenuScroll#

+

Optional captureMenuScroll: boolean

+

Inherited from#

+

ReactSelectProps.captureMenuScroll

+
+

className#

+

Optional className: string

+

Inherited from#

+

ReactSelectProps.className

+
+

classNamePrefix#

+

Optional classNamePrefix: string

+

Inherited from#

+

ReactSelectProps.classNamePrefix

+
+

closeMenuOnScroll#

+

Optional closeMenuOnScroll: boolean | EventListener

+

Inherited from#

+

ReactSelectProps.closeMenuOnScroll

+
+

closeMenuOnSelect#

+

Optional closeMenuOnSelect: boolean

+

Inherited from#

+

ReactSelectProps.closeMenuOnSelect

+
+

components#

+

Optional components: Partial<SelectComponents<T, boolean>>

+

Inherited from#

+

ReactSelectProps.components

+
+

controlShouldRenderValue#

+

Optional controlShouldRenderValue: boolean

+

Inherited from#

+

ReactSelectProps.controlShouldRenderValue

+
+

createOptionPosition#

+

Optional createOptionPosition: "first" | "last"

+

Inherited from#

+

CreatableProps.createOptionPosition

+
+

defaultInputValue#

+

Optional defaultInputValue: string

+

Inherited from#

+

ReactSelectProps.defaultInputValue

+
+

defaultMenuIsOpen#

+

Optional defaultMenuIsOpen: boolean

+

Inherited from#

+

ReactSelectProps.defaultMenuIsOpen

+
+

defaultValue#

+

Optional defaultValue: T | OptionsType<T>

+

Inherited from#

+

ReactSelectProps.defaultValue

+
+

delimiter#

+

Optional delimiter: string

+

Inherited from#

+

ReactSelectProps.delimiter

+
+

escapeClearsValue#

+

Optional escapeClearsValue: boolean

+

Inherited from#

+

ReactSelectProps.escapeClearsValue

+
+

filterOption#

+

Optional filterOption: (option: Option, rawInput: string) => boolean

+

Type declaration#

+

▸ (option, rawInput): boolean

+
Parameters#
+ + + + + + + + + + + + + + + + + +
NameType
optionOption
rawInputstring
+
Returns#
+

boolean

+

Inherited from#

+

ReactSelectProps.filterOption

+
+

formatGroupLabel#

+

Optional formatGroupLabel: formatGroupLabel<T>

+

Inherited from#

+

ReactSelectProps.formatGroupLabel

+
+

getOptionLabel#

+

Optional getOptionLabel: getOptionLabel<T>

+

Inherited from#

+

ReactSelectProps.getOptionLabel

+
+

getOptionValue#

+

Optional getOptionValue: getOptionValue<T>

+

Inherited from#

+

ReactSelectProps.getOptionValue

+
+

hideSelectedOptions#

+

Optional hideSelectedOptions: boolean

+

Inherited from#

+

ReactSelectProps.hideSelectedOptions

+
+

id#

+

Optional id: string

+

Inherited from#

+

ReactSelectProps.id

+
+

inputId#

+

Optional inputId: string

+

Inherited from#

+

ReactSelectProps.inputId

+
+

inputValue#

+

Optional inputValue: string

+

Inherited from#

+

ReactSelectProps.inputValue

+
+

instanceId#

+

Optional instanceId: string | number

+

Inherited from#

+

ReactSelectProps.instanceId

+
+

isClearable#

+

Optional isClearable: boolean

+

Inherited from#

+

ReactSelectProps.isClearable

+
+

isCreatable#

+

Optional isCreatable: boolean

+
+

isDisabled#

+

Optional isDisabled: boolean

+

Inherited from#

+

ReactSelectProps.isDisabled

+
+

isLoading#

+

Optional isLoading: boolean

+

Inherited from#

+

ReactSelectProps.isLoading

+
+

isMulti#

+

Optional isMulti: boolean

+

Inherited from#

+

ReactSelectProps.isMulti

+
+

isRtl#

+

Optional isRtl: boolean

+

Inherited from#

+

ReactSelectProps.isRtl

+
+

isSearchable#

+

Optional isSearchable: boolean

+

Inherited from#

+

ReactSelectProps.isSearchable

+
+

maxMenuHeight#

+

Optional maxMenuHeight: number

+

Inherited from#

+

ReactSelectProps.maxMenuHeight

+
+ +

Optional menuClass: string

+
+ +

Optional menuIsOpen: boolean

+

Inherited from#

+

ReactSelectProps.menuIsOpen

+
+ +

Optional menuPlacement: MenuPlacement

+

Inherited from#

+

ReactSelectProps.menuPlacement

+
+ +

Optional menuPortalTarget: HTMLElement

+

Inherited from#

+

ReactSelectProps.menuPortalTarget

+
+ +

Optional menuPosition: MenuPosition

+

Inherited from#

+

ReactSelectProps.menuPosition

+
+ +

Optional menuShouldBlockScroll: boolean

+

Inherited from#

+

ReactSelectProps.menuShouldBlockScroll

+
+ +

Optional menuShouldScrollIntoView: boolean

+

Inherited from#

+

ReactSelectProps.menuShouldScrollIntoView

+
+

minMenuHeight#

+

Optional minMenuHeight: number

+

Inherited from#

+

ReactSelectProps.minMenuHeight

+
+

name#

+

Optional name: string

+

Inherited from#

+

ReactSelectProps.name

+
+

onBlur#

+

Optional onBlur: FocusEventHandler

+

Inherited from#

+

ReactSelectProps.onBlur

+
+

onFocus#

+

Optional onFocus: FocusEventHandler

+

Inherited from#

+

ReactSelectProps.onFocus

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler

+

Inherited from#

+

ReactSelectProps.onKeyDown

+
+

openMenuOnClick#

+

Optional openMenuOnClick: boolean

+

Inherited from#

+

ReactSelectProps.openMenuOnClick

+
+

openMenuOnFocus#

+

Optional openMenuOnFocus: boolean

+

Inherited from#

+

ReactSelectProps.openMenuOnFocus

+
+

options#

+

Optional options: OptionsType<T> | GroupedOptionsType<T>

+

Inherited from#

+

ReactSelectProps.options

+
+

pageSize#

+

Optional pageSize: number

+

Inherited from#

+

ReactSelectProps.pageSize

+
+

placeholder#

+

Optional placeholder: ReactNode

+

Inherited from#

+

ReactSelectProps.placeholder

+
+

styles#

+

Optional styles: Partial<Styles<T, boolean>>

+

Inherited from#

+

ReactSelectProps.styles

+
+

tabIndex#

+

Optional tabIndex: string

+

Inherited from#

+

ReactSelectProps.tabIndex

+
+

tabSelectsValue#

+

Optional tabSelectsValue: boolean

+

Inherited from#

+

ReactSelectProps.tabSelectsValue

+
+

theme#

+

Optional theme: ThemeConfig

+

Inherited from#

+

ReactSelectProps.theme

+
+

themeName#

+

Optional themeName: "lens" | "light" | "outlined" | "dark"

+
+

value#

+

Optional value: T

+

Overrides#

+

ReactSelectProps.value

+

Methods#

+

formatCreateLabel#

+

Optional formatCreateLabel(inputValue): ReactNode

+

Parameters#

+ + + + + + + + + + + + + +
NameType
inputValuestring
+

Returns#

+

ReactNode

+

Inherited from#

+

CreatableProps.formatCreateLabel

+
+

formatOptionLabel#

+

Optional formatOptionLabel(option, labelMeta): ReactNode

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
optionOptionType
labelMetaFormatOptionLabelMeta<OptionType, IsMulti>
+

Returns#

+

ReactNode

+

Inherited from#

+

ReactSelectProps.formatOptionLabel

+
+

getNewOptionData#

+

Optional getNewOptionData(inputValue, optionLabel): OptionType

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
inputValuestring
optionLabelReactNode
+

Returns#

+

OptionType

+

Inherited from#

+

CreatableProps.getNewOptionData

+
+

isOptionDisabled#

+

Optional isOptionDisabled(option, options): boolean

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
optionOptionType
optionsOptionsType<OptionType>
+

Returns#

+

boolean

+

Inherited from#

+

ReactSelectProps.isOptionDisabled

+
+

isOptionSelected#

+

Optional isOptionSelected(option, options): boolean

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
optionOptionType
optionsOptionsType<OptionType>
+

Returns#

+

boolean

+

Inherited from#

+

ReactSelectProps.isOptionSelected

+
+

isValidNewOption#

+

Optional isValidNewOption(inputValue, value, options): boolean

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
inputValuestring
valueIsMulti extends true ? OptionsType<OptionType> : OptionType
optionsOptionsType<OptionType> | GroupedOptionsType<OptionType>
+

Returns#

+

boolean

+

Inherited from#

+

CreatableProps.isValidNewOption

+
+

loadingMessage#

+

Optional loadingMessage(obj): string

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objObject
obj.inputValuestring
+

Returns#

+

string

+

Inherited from#

+

ReactSelectProps.loadingMessage

+
+

noOptionsMessage#

+

Optional noOptionsMessage(obj): string

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objObject
obj.inputValuestring
+

Returns#

+

string

+

Inherited from#

+

ReactSelectProps.noOptionsMessage

+
+

onChange#

+

Optional onChange(option, meta?): void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
optionT
meta?ActionMeta<any>
+

Returns#

+

void

+

Overrides#

+

ReactSelectProps.onChange

+
+

onCreateOption#

+

Optional onCreateOption(inputValue): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
inputValuestring
+

Returns#

+

void

+

Inherited from#

+

CreatableProps.onCreateOption

+
+

onInputChange#

+

Optional onInputChange(newValue, actionMeta): void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
newValuestring
actionMetaInputActionMeta
+

Returns#

+

void

+

Inherited from#

+

ReactSelectProps.onInputChange

+
+

onMenuClose#

+

Optional onMenuClose(): void

+

Returns#

+

void

+

Inherited from#

+

ReactSelectProps.onMenuClose

+
+

onMenuOpen#

+

Optional onMenuOpen(): void

+

Returns#

+

void

+

Inherited from#

+

ReactSelectProps.onMenuOpen

+
+

onMenuScrollToBottom#

+

Optional onMenuScrollToBottom(event): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
eventSyntheticEvent<HTMLElement, Event>
+

Returns#

+

void

+

Inherited from#

+

ReactSelectProps.onMenuScrollToBottom

+
+

onMenuScrollToTop#

+

Optional onMenuScrollToTop(event): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
eventSyntheticEvent<HTMLElement, Event>
+

Returns#

+

void

+

Inherited from#

+

ReactSelectProps.onMenuScrollToTop

+
+

screenReaderStatus#

+

Optional screenReaderStatus(obj): string

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
objObject
obj.countnumber
+

Returns#

+

string

+

Inherited from#

+

ReactSelectProps.screenReaderStatus

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.SettingLayoutProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.SettingLayoutProps/index.html new file mode 100644 index 0000000000..25754b9105 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.SettingLayoutProps/index.html @@ -0,0 +1,3078 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: SettingLayoutProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: SettingLayoutProps#

+

Renderer.Component.SettingLayoutProps

+

Hierarchy#

+
    +
  • DOMAttributes<any>
  • +
+

SettingLayoutProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.DOMAttributes.children

+
+

className#

+

Optional className: IClassName

+
+

contentClass#

+

Optional contentClass: IClassName

+
+

contentGaps#

+

Optional contentGaps: boolean

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.DOMAttributes.dangerouslySetInnerHTML

+
+ +

Optional navigation: ReactNode

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onWheelCapture

+
+

provideBackButtonNavigation#

+

Optional provideBackButtonNavigation: boolean

+

Methods#

+

back#

+

Optional back(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtMouseEvent<Element, MouseEvent> | KeyboardEvent
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.SliderProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.SliderProps/index.html new file mode 100644 index 0000000000..ab28f0fd26 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.SliderProps/index.html @@ -0,0 +1,4637 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: SliderProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: SliderProps#

+

Renderer.Component.SliderProps

+

Hierarchy#

+
    +
  • Omit<MaterialSliderProps, "onChange">
  • +
+

SliderProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

ThumbComponent#

+

Optional ThumbComponent: ElementType<HTMLAttributes<HTMLSpanElement>>

+

Inherited from#

+

Omit.ThumbComponent

+
+

ValueLabelComponent#

+

Optional ValueLabelComponent: ElementType<ValueLabelProps>

+

Inherited from#

+

Omit.ValueLabelComponent

+
+

about#

+

Optional about: string

+

Inherited from#

+

Omit.about

+
+

accessKey#

+

Optional accessKey: string

+

Inherited from#

+

Omit.accessKey

+
+

aria-activedescendant#

+

Optional aria-activedescendant: string

+

Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

+

Inherited from#

+

Omit.aria-activedescendant

+
+

aria-atomic#

+

Optional aria-atomic: Booleanish

+

Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

+

Inherited from#

+

Omit.aria-atomic

+
+

aria-autocomplete#

+

Optional aria-autocomplete: "list" | "none" | "inline" | "both"

+

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be +presented if they are made.

+

Inherited from#

+

Omit.aria-autocomplete

+
+

aria-busy#

+

Optional aria-busy: Booleanish

+

Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

+

Inherited from#

+

Omit.aria-busy

+
+

aria-checked#

+

Optional aria-checked: boolean | "true" | "false" | "mixed"

+

Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

+

see aria-pressed @see aria-selected.

+

Inherited from#

+

Omit.aria-checked

+
+

aria-colcount#

+

Optional aria-colcount: number

+

Defines the total number of columns in a table, grid, or treegrid.

+

see aria-colindex.

+

Inherited from#

+

Omit.aria-colcount

+
+

aria-colindex#

+

Optional aria-colindex: number

+

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

+

see aria-colcount @see aria-colspan.

+

Inherited from#

+

Omit.aria-colindex

+
+

aria-colspan#

+

Optional aria-colspan: number

+

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-colindex @see aria-rowspan.

+

Inherited from#

+

Omit.aria-colspan

+
+

aria-controls#

+

Optional aria-controls: string

+

Identifies the element (or elements) whose contents or presence are controlled by the current element.

+

see aria-owns.

+

Inherited from#

+

Omit.aria-controls

+
+

aria-current#

+

Optional aria-current: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date"

+

Indicates the element that represents the current item within a container or set of related elements.

+

Inherited from#

+

Omit.aria-current

+
+

aria-describedby#

+

Optional aria-describedby: string

+

Identifies the element (or elements) that describes the object.

+

see aria-labelledby

+

Inherited from#

+

Omit.aria-describedby

+
+

aria-details#

+

Optional aria-details: string

+

Identifies the element that provides a detailed, extended description for the object.

+

see aria-describedby.

+

Inherited from#

+

Omit.aria-details

+
+

aria-disabled#

+

Optional aria-disabled: Booleanish

+

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

+

see aria-hidden @see aria-readonly.

+

Inherited from#

+

Omit.aria-disabled

+
+

aria-dropeffect#

+

Optional aria-dropeffect: "link" | "none" | "copy" | "execute" | "move" | "popup"

+

Indicates what functions can be performed when a dragged object is released on the drop target.

+

deprecated in ARIA 1.1

+

Inherited from#

+

Omit.aria-dropeffect

+
+

aria-errormessage#

+

Optional aria-errormessage: string

+

Identifies the element that provides an error message for the object.

+

see aria-invalid @see aria-describedby.

+

Inherited from#

+

Omit.aria-errormessage

+
+

aria-expanded#

+

Optional aria-expanded: Booleanish

+

Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

+

Inherited from#

+

Omit.aria-expanded

+
+

aria-flowto#

+

Optional aria-flowto: string

+

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, +allows assistive technology to override the general default of reading in document source order.

+

Inherited from#

+

Omit.aria-flowto

+
+

aria-grabbed#

+

Optional aria-grabbed: Booleanish

+

Indicates an element's "grabbed" state in a drag-and-drop operation.

+

deprecated in ARIA 1.1

+

Inherited from#

+

Omit.aria-grabbed

+
+

aria-haspopup#

+

Optional aria-haspopup: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree"

+

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

+

Inherited from#

+

Omit.aria-haspopup

+
+

aria-hidden#

+

Optional aria-hidden: Booleanish

+

Indicates whether the element is exposed to an accessibility API.

+

see aria-disabled.

+

Inherited from#

+

Omit.aria-hidden

+
+

aria-invalid#

+

Optional aria-invalid: boolean | "true" | "false" | "grammar" | "spelling"

+

Indicates the entered value does not conform to the format expected by the application.

+

see aria-errormessage.

+

Inherited from#

+

Omit.aria-invalid

+
+

aria-keyshortcuts#

+

Optional aria-keyshortcuts: string

+

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

+

Inherited from#

+

Omit.aria-keyshortcuts

+
+

aria-label#

+

Optional aria-label: string

+

Inherited from#

+

Omit.aria-label

+
+

aria-labelledby#

+

Optional aria-labelledby: string

+

Inherited from#

+

Omit.aria-labelledby

+
+

aria-level#

+

Optional aria-level: number

+

Defines the hierarchical level of an element within a structure.

+

Inherited from#

+

Omit.aria-level

+
+

aria-live#

+

Optional aria-live: "off" | "assertive" | "polite"

+

Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

+

Inherited from#

+

Omit.aria-live

+
+

aria-modal#

+

Optional aria-modal: Booleanish

+

Indicates whether an element is modal when displayed.

+

Inherited from#

+

Omit.aria-modal

+
+

aria-multiline#

+

Optional aria-multiline: Booleanish

+

Indicates whether a text box accepts multiple lines of input or only a single line.

+

Inherited from#

+

Omit.aria-multiline

+
+

aria-multiselectable#

+

Optional aria-multiselectable: Booleanish

+

Indicates that the user may select more than one item from the current selectable descendants.

+

Inherited from#

+

Omit.aria-multiselectable

+
+

aria-orientation#

+

Optional aria-orientation: "horizontal" | "vertical"

+

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

+

Inherited from#

+

Omit.aria-orientation

+
+

aria-owns#

+

Optional aria-owns: string

+

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship +between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

+

see aria-controls.

+

Inherited from#

+

Omit.aria-owns

+
+

aria-placeholder#

+

Optional aria-placeholder: string

+

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. +A hint could be a sample value or a brief description of the expected format.

+

Inherited from#

+

Omit.aria-placeholder

+
+

aria-posinset#

+

Optional aria-posinset: number

+

Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-setsize.

+

Inherited from#

+

Omit.aria-posinset

+
+

aria-pressed#

+

Optional aria-pressed: boolean | "true" | "false" | "mixed"

+

Indicates the current "pressed" state of toggle buttons.

+

see aria-checked @see aria-selected.

+

Inherited from#

+

Omit.aria-pressed

+
+

aria-readonly#

+

Optional aria-readonly: Booleanish

+

Indicates that the element is not editable, but is otherwise operable.

+

see aria-disabled.

+

Inherited from#

+

Omit.aria-readonly

+
+

aria-relevant#

+

Optional aria-relevant: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals"

+

Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

+

see aria-atomic.

+

Inherited from#

+

Omit.aria-relevant

+
+

aria-required#

+

Optional aria-required: Booleanish

+

Indicates that user input is required on the element before a form may be submitted.

+

Inherited from#

+

Omit.aria-required

+
+

aria-roledescription#

+

Optional aria-roledescription: string

+

Defines a human-readable, author-localized description for the role of an element.

+

Inherited from#

+

Omit.aria-roledescription

+
+

aria-rowcount#

+

Optional aria-rowcount: number

+

Defines the total number of rows in a table, grid, or treegrid.

+

see aria-rowindex.

+

Inherited from#

+

Omit.aria-rowcount

+
+

aria-rowindex#

+

Optional aria-rowindex: number

+

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

+

see aria-rowcount @see aria-rowspan.

+

Inherited from#

+

Omit.aria-rowindex

+
+

aria-rowspan#

+

Optional aria-rowspan: number

+

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-rowindex @see aria-colspan.

+

Inherited from#

+

Omit.aria-rowspan

+
+

aria-selected#

+

Optional aria-selected: Booleanish

+

Indicates the current "selected" state of various widgets.

+

see aria-checked @see aria-pressed.

+

Inherited from#

+

Omit.aria-selected

+
+

aria-setsize#

+

Optional aria-setsize: number

+

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-posinset.

+

Inherited from#

+

Omit.aria-setsize

+
+

aria-sort#

+

Optional aria-sort: "none" | "ascending" | "descending" | "other"

+

Indicates if items in a table or grid are sorted in ascending or descending order.

+

Inherited from#

+

Omit.aria-sort

+
+

aria-valuemax#

+

Optional aria-valuemax: number

+

Defines the maximum allowed value for a range widget.

+

Inherited from#

+

Omit.aria-valuemax

+
+

aria-valuemin#

+

Optional aria-valuemin: number

+

Defines the minimum allowed value for a range widget.

+

Inherited from#

+

Omit.aria-valuemin

+
+

aria-valuenow#

+

Optional aria-valuenow: number

+

Defines the current value for a range widget.

+

see aria-valuetext.

+

Inherited from#

+

Omit.aria-valuenow

+
+

aria-valuetext#

+

Optional aria-valuetext: string

+

Inherited from#

+

Omit.aria-valuetext

+
+

autoCapitalize#

+

Optional autoCapitalize: string

+

Inherited from#

+

Omit.autoCapitalize

+
+

autoCorrect#

+

Optional autoCorrect: string

+

Inherited from#

+

Omit.autoCorrect

+
+

autoSave#

+

Optional autoSave: string

+

Inherited from#

+

Omit.autoSave

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

Omit.children

+
+

className#

+

Optional className: string

+

Overrides#

+

Omit.className

+
+

classes#

+

Optional classes: Partial<ClassNameMap<SliderClassKey>>

+

Override or extend the styles applied to the component.

+

Inherited from#

+

Omit.classes

+
+

color#

+

Optional color: "primary" | "secondary"

+

Inherited from#

+

Omit.color

+
+

contentEditable#

+

Optional contentEditable: Booleanish | "inherit"

+

Inherited from#

+

Omit.contentEditable

+
+

contextMenu#

+

Optional contextMenu: string

+

Inherited from#

+

Omit.contextMenu

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

Omit.dangerouslySetInnerHTML

+
+

datatype#

+

Optional datatype: string

+

Inherited from#

+

Omit.datatype

+
+

defaultChecked#

+

Optional defaultChecked: boolean

+

Inherited from#

+

Omit.defaultChecked

+
+

defaultValue#

+

Optional defaultValue: number & number & readonly string[] & number[] & string & number[] & number & number[] & readonly string[]

+

Inherited from#

+

Omit.defaultValue

+
+

dir#

+

Optional dir: string

+

Inherited from#

+

Omit.dir

+
+

disabled#

+

Optional disabled: boolean

+

Inherited from#

+

Omit.disabled

+
+

draggable#

+

Optional draggable: Booleanish

+

Inherited from#

+

Omit.draggable

+
+

hidden#

+

Optional hidden: boolean

+

Inherited from#

+

Omit.hidden

+
+

id#

+

Optional id: string

+

Inherited from#

+

Omit.id

+
+

inlist#

+

Optional inlist: any

+

Inherited from#

+

Omit.inlist

+
+

innerRef#

+

Optional innerRef: Ref<any>

+

Inherited from#

+

Omit.innerRef

+
+

inputMode#

+

Optional inputMode: "text" | "none" | "search" | "tel" | "url" | "email" | "numeric" | "decimal"

+

Hints at the type of data that might be entered by the user while editing the element or its contents

+

see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

+

Inherited from#

+

Omit.inputMode

+
+

is#

+

Optional is: string

+

Specify that a standard HTML element should behave like a defined custom built-in element

+

see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

+

Inherited from#

+

Omit.is

+
+

itemID#

+

Optional itemID: string

+

Inherited from#

+

Omit.itemID

+
+

itemProp#

+

Optional itemProp: string

+

Inherited from#

+

Omit.itemProp

+
+

itemRef#

+

Optional itemRef: string

+

Inherited from#

+

Omit.itemRef

+
+

itemScope#

+

Optional itemScope: boolean

+

Inherited from#

+

Omit.itemScope

+
+

itemType#

+

Optional itemType: string

+

Inherited from#

+

Omit.itemType

+
+

key#

+

Optional key: Key

+

Inherited from#

+

Omit.key

+
+

lang#

+

Optional lang: string

+

Inherited from#

+

Omit.lang

+
+

marks#

+

Optional marks: boolean | Mark[]

+

Inherited from#

+

Omit.marks

+
+

max#

+

Optional max: number

+

Inherited from#

+

Omit.max

+
+

min#

+

Optional min: number

+

Inherited from#

+

Omit.min

+
+

name#

+

Optional name: string

+

Inherited from#

+

Omit.name

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCanPlayThroughCapture

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<HTMLSpanElement>

+

Inherited from#

+

Omit.onWheelCapture

+
+

orientation#

+

Optional orientation: "horizontal" | "vertical"

+

Inherited from#

+

Omit.orientation

+
+

placeholder#

+

Optional placeholder: string

+

Inherited from#

+

Omit.placeholder

+
+

prefix#

+

Optional prefix: string

+

Inherited from#

+

Omit.prefix

+
+

property#

+

Optional property: string

+

Inherited from#

+

Omit.property

+
+

radioGroup#

+

Optional radioGroup: string

+

Inherited from#

+

Omit.radioGroup

+
+

ref#

+

Optional ref: Ref<HTMLSpanElement>

+

Inherited from#

+

Omit.ref

+
+

resource#

+

Optional resource: string

+

Inherited from#

+

Omit.resource

+
+

results#

+

Optional results: number

+

Inherited from#

+

Omit.results

+
+

role#

+

Optional role: AriaRole

+

Inherited from#

+

Omit.role

+
+

security#

+

Optional security: string

+

Inherited from#

+

Omit.security

+
+

slot#

+

Optional slot: string

+

Inherited from#

+

Omit.slot

+
+

spellCheck#

+

Optional spellCheck: Booleanish

+

Inherited from#

+

Omit.spellCheck

+
+

step#

+

Optional step: number

+

Inherited from#

+

Omit.step

+
+

style#

+

Optional style: CSSProperties

+

Inherited from#

+

Omit.style

+
+

suppressContentEditableWarning#

+

Optional suppressContentEditableWarning: boolean

+

Inherited from#

+

Omit.suppressContentEditableWarning

+
+

suppressHydrationWarning#

+

Optional suppressHydrationWarning: boolean

+

Inherited from#

+

Omit.suppressHydrationWarning

+
+

tabIndex#

+

Optional tabIndex: number

+

Inherited from#

+

Omit.tabIndex

+
+

title#

+

Optional title: string

+

Inherited from#

+

Omit.title

+
+

track#

+

Optional track: false | "normal" | "inverted"

+

Inherited from#

+

Omit.track

+
+

translate#

+

Optional translate: "yes" | "no"

+

Inherited from#

+

Omit.translate

+
+

typeof#

+

Optional typeof: string

+

Inherited from#

+

Omit.typeof

+
+

unselectable#

+

Optional unselectable: "on" | "off"

+

Inherited from#

+

Omit.unselectable

+
+

value#

+

Optional value: number | number[]

+

Inherited from#

+

Omit.value

+
+

valueLabelDisplay#

+

Optional valueLabelDisplay: "on" | "off" | "auto"

+

Inherited from#

+

Omit.valueLabelDisplay

+
+

valueLabelFormat#

+

Optional valueLabelFormat: string | (value: number, index: number) => ReactNode

+

Inherited from#

+

Omit.valueLabelFormat

+
+

vocab#

+

Optional vocab: string

+

Inherited from#

+

Omit.vocab

+

Methods#

+

getAriaLabel#

+

Optional getAriaLabel(index): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
indexnumber
+

Returns#

+

string

+

Inherited from#

+

Omit.getAriaLabel

+
+

getAriaValueText#

+

Optional getAriaValueText(value, index): string

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
valuenumber
indexnumber
+

Returns#

+

string

+

Inherited from#

+

Omit.getAriaValueText

+
+

onChange#

+

Optional onChange(evt, value): void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
evtFormEvent<any>
valuenumber
+

Returns#

+

void

+
+

onChangeCommitted#

+

Optional onChangeCommitted(event, value): void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
eventChangeEvent<Object>
valuenumber | number[]
+

Returns#

+

void

+

Inherited from#

+

Omit.onChangeCommitted

+
+

scale#

+

Optional scale(value): number

+

Parameters#

+ + + + + + + + + + + + + +
NameType
valuenumber
+

Returns#

+

number

+

Inherited from#

+

Omit.scale

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.SpinnerProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.SpinnerProps/index.html new file mode 100644 index 0000000000..7f7ab56ee6 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.SpinnerProps/index.html @@ -0,0 +1,5663 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: SpinnerProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: SpinnerProps#

+

Renderer.Component.SpinnerProps

+

Hierarchy#

+
    +
  • HTMLProps<any>
  • +
+

SpinnerProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

about#

+

Optional about: string

+

Inherited from#

+

React.HTMLProps.about

+
+

accept#

+

Optional accept: string

+

Inherited from#

+

React.HTMLProps.accept

+
+

acceptCharset#

+

Optional acceptCharset: string

+

Inherited from#

+

React.HTMLProps.acceptCharset

+
+

accessKey#

+

Optional accessKey: string

+

Inherited from#

+

React.HTMLProps.accessKey

+
+

action#

+

Optional action: string

+

Inherited from#

+

React.HTMLProps.action

+
+

allowFullScreen#

+

Optional allowFullScreen: boolean

+

Inherited from#

+

React.HTMLProps.allowFullScreen

+
+

allowTransparency#

+

Optional allowTransparency: boolean

+

Inherited from#

+

React.HTMLProps.allowTransparency

+
+

alt#

+

Optional alt: string

+

Inherited from#

+

React.HTMLProps.alt

+
+

aria-activedescendant#

+

Optional aria-activedescendant: string

+

Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

+

Inherited from#

+

React.HTMLProps.aria-activedescendant

+
+

aria-atomic#

+

Optional aria-atomic: Booleanish

+

Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

+

Inherited from#

+

React.HTMLProps.aria-atomic

+
+

aria-autocomplete#

+

Optional aria-autocomplete: "list" | "none" | "inline" | "both"

+

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be +presented if they are made.

+

Inherited from#

+

React.HTMLProps.aria-autocomplete

+
+

aria-busy#

+

Optional aria-busy: Booleanish

+

Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

+

Inherited from#

+

React.HTMLProps.aria-busy

+
+

aria-checked#

+

Optional aria-checked: boolean | "true" | "false" | "mixed"

+

Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

+

see aria-pressed @see aria-selected.

+

Inherited from#

+

React.HTMLProps.aria-checked

+
+

aria-colcount#

+

Optional aria-colcount: number

+

Defines the total number of columns in a table, grid, or treegrid.

+

see aria-colindex.

+

Inherited from#

+

React.HTMLProps.aria-colcount

+
+

aria-colindex#

+

Optional aria-colindex: number

+

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

+

see aria-colcount @see aria-colspan.

+

Inherited from#

+

React.HTMLProps.aria-colindex

+
+

aria-colspan#

+

Optional aria-colspan: number

+

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-colindex @see aria-rowspan.

+

Inherited from#

+

React.HTMLProps.aria-colspan

+
+

aria-controls#

+

Optional aria-controls: string

+

Identifies the element (or elements) whose contents or presence are controlled by the current element.

+

see aria-owns.

+

Inherited from#

+

React.HTMLProps.aria-controls

+
+

aria-current#

+

Optional aria-current: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date"

+

Indicates the element that represents the current item within a container or set of related elements.

+

Inherited from#

+

React.HTMLProps.aria-current

+
+

aria-describedby#

+

Optional aria-describedby: string

+

Identifies the element (or elements) that describes the object.

+

see aria-labelledby

+

Inherited from#

+

React.HTMLProps.aria-describedby

+
+

aria-details#

+

Optional aria-details: string

+

Identifies the element that provides a detailed, extended description for the object.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLProps.aria-details

+
+

aria-disabled#

+

Optional aria-disabled: Booleanish

+

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

+

see aria-hidden @see aria-readonly.

+

Inherited from#

+

React.HTMLProps.aria-disabled

+
+

aria-dropeffect#

+

Optional aria-dropeffect: "link" | "none" | "copy" | "execute" | "move" | "popup"

+

Indicates what functions can be performed when a dragged object is released on the drop target.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLProps.aria-dropeffect

+
+

aria-errormessage#

+

Optional aria-errormessage: string

+

Identifies the element that provides an error message for the object.

+

see aria-invalid @see aria-describedby.

+

Inherited from#

+

React.HTMLProps.aria-errormessage

+
+

aria-expanded#

+

Optional aria-expanded: Booleanish

+

Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

+

Inherited from#

+

React.HTMLProps.aria-expanded

+
+

aria-flowto#

+

Optional aria-flowto: string

+

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, +allows assistive technology to override the general default of reading in document source order.

+

Inherited from#

+

React.HTMLProps.aria-flowto

+
+

aria-grabbed#

+

Optional aria-grabbed: Booleanish

+

Indicates an element's "grabbed" state in a drag-and-drop operation.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLProps.aria-grabbed

+
+

aria-haspopup#

+

Optional aria-haspopup: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree"

+

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

+

Inherited from#

+

React.HTMLProps.aria-haspopup

+
+

aria-hidden#

+

Optional aria-hidden: Booleanish

+

Indicates whether the element is exposed to an accessibility API.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLProps.aria-hidden

+
+

aria-invalid#

+

Optional aria-invalid: boolean | "true" | "false" | "grammar" | "spelling"

+

Indicates the entered value does not conform to the format expected by the application.

+

see aria-errormessage.

+

Inherited from#

+

React.HTMLProps.aria-invalid

+
+

aria-keyshortcuts#

+

Optional aria-keyshortcuts: string

+

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

+

Inherited from#

+

React.HTMLProps.aria-keyshortcuts

+
+

aria-label#

+

Optional aria-label: string

+

Defines a string value that labels the current element.

+

see aria-labelledby.

+

Inherited from#

+

React.HTMLProps.aria-label

+
+

aria-labelledby#

+

Optional aria-labelledby: string

+

Identifies the element (or elements) that labels the current element.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLProps.aria-labelledby

+
+

aria-level#

+

Optional aria-level: number

+

Defines the hierarchical level of an element within a structure.

+

Inherited from#

+

React.HTMLProps.aria-level

+
+

aria-live#

+

Optional aria-live: "off" | "assertive" | "polite"

+

Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

+

Inherited from#

+

React.HTMLProps.aria-live

+
+

aria-modal#

+

Optional aria-modal: Booleanish

+

Indicates whether an element is modal when displayed.

+

Inherited from#

+

React.HTMLProps.aria-modal

+
+

aria-multiline#

+

Optional aria-multiline: Booleanish

+

Indicates whether a text box accepts multiple lines of input or only a single line.

+

Inherited from#

+

React.HTMLProps.aria-multiline

+
+

aria-multiselectable#

+

Optional aria-multiselectable: Booleanish

+

Indicates that the user may select more than one item from the current selectable descendants.

+

Inherited from#

+

React.HTMLProps.aria-multiselectable

+
+

aria-orientation#

+

Optional aria-orientation: "horizontal" | "vertical"

+

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

+

Inherited from#

+

React.HTMLProps.aria-orientation

+
+

aria-owns#

+

Optional aria-owns: string

+

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship +between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

+

see aria-controls.

+

Inherited from#

+

React.HTMLProps.aria-owns

+
+

aria-placeholder#

+

Optional aria-placeholder: string

+

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. +A hint could be a sample value or a brief description of the expected format.

+

Inherited from#

+

React.HTMLProps.aria-placeholder

+
+

aria-posinset#

+

Optional aria-posinset: number

+

Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-setsize.

+

Inherited from#

+

React.HTMLProps.aria-posinset

+
+

aria-pressed#

+

Optional aria-pressed: boolean | "true" | "false" | "mixed"

+

Indicates the current "pressed" state of toggle buttons.

+

see aria-checked @see aria-selected.

+

Inherited from#

+

React.HTMLProps.aria-pressed

+
+

aria-readonly#

+

Optional aria-readonly: Booleanish

+

Indicates that the element is not editable, but is otherwise operable.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLProps.aria-readonly

+
+

aria-relevant#

+

Optional aria-relevant: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals"

+

Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

+

see aria-atomic.

+

Inherited from#

+

React.HTMLProps.aria-relevant

+
+

aria-required#

+

Optional aria-required: Booleanish

+

Indicates that user input is required on the element before a form may be submitted.

+

Inherited from#

+

React.HTMLProps.aria-required

+
+

aria-roledescription#

+

Optional aria-roledescription: string

+

Defines a human-readable, author-localized description for the role of an element.

+

Inherited from#

+

React.HTMLProps.aria-roledescription

+
+

aria-rowcount#

+

Optional aria-rowcount: number

+

Defines the total number of rows in a table, grid, or treegrid.

+

see aria-rowindex.

+

Inherited from#

+

React.HTMLProps.aria-rowcount

+
+

aria-rowindex#

+

Optional aria-rowindex: number

+

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

+

see aria-rowcount @see aria-rowspan.

+

Inherited from#

+

React.HTMLProps.aria-rowindex

+
+

aria-rowspan#

+

Optional aria-rowspan: number

+

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-rowindex @see aria-colspan.

+

Inherited from#

+

React.HTMLProps.aria-rowspan

+
+

aria-selected#

+

Optional aria-selected: Booleanish

+

Indicates the current "selected" state of various widgets.

+

see aria-checked @see aria-pressed.

+

Inherited from#

+

React.HTMLProps.aria-selected

+
+

aria-setsize#

+

Optional aria-setsize: number

+

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-posinset.

+

Inherited from#

+

React.HTMLProps.aria-setsize

+
+

aria-sort#

+

Optional aria-sort: "none" | "ascending" | "descending" | "other"

+

Indicates if items in a table or grid are sorted in ascending or descending order.

+

Inherited from#

+

React.HTMLProps.aria-sort

+
+

aria-valuemax#

+

Optional aria-valuemax: number

+

Defines the maximum allowed value for a range widget.

+

Inherited from#

+

React.HTMLProps.aria-valuemax

+
+

aria-valuemin#

+

Optional aria-valuemin: number

+

Defines the minimum allowed value for a range widget.

+

Inherited from#

+

React.HTMLProps.aria-valuemin

+
+

aria-valuenow#

+

Optional aria-valuenow: number

+

Defines the current value for a range widget.

+

see aria-valuetext.

+

Inherited from#

+

React.HTMLProps.aria-valuenow

+
+

aria-valuetext#

+

Optional aria-valuetext: string

+

Defines the human readable text alternative of aria-valuenow for a range widget.

+

Inherited from#

+

React.HTMLProps.aria-valuetext

+
+

as#

+

Optional as: string

+

Inherited from#

+

React.HTMLProps.as

+
+

async#

+

Optional async: boolean

+

Inherited from#

+

React.HTMLProps.async

+
+

autoCapitalize#

+

Optional autoCapitalize: string

+

Inherited from#

+

React.HTMLProps.autoCapitalize

+
+

autoComplete#

+

Optional autoComplete: string

+

Inherited from#

+

React.HTMLProps.autoComplete

+
+

autoCorrect#

+

Optional autoCorrect: string

+

Inherited from#

+

React.HTMLProps.autoCorrect

+
+

autoFocus#

+

Optional autoFocus: boolean

+

Inherited from#

+

React.HTMLProps.autoFocus

+
+

autoPlay#

+

Optional autoPlay: boolean

+

Inherited from#

+

React.HTMLProps.autoPlay

+
+

autoSave#

+

Optional autoSave: string

+

Inherited from#

+

React.HTMLProps.autoSave

+
+

capture#

+

Optional capture: boolean | "user" | "environment"

+

Inherited from#

+

React.HTMLProps.capture

+
+

cellPadding#

+

Optional cellPadding: string | number

+

Inherited from#

+

React.HTMLProps.cellPadding

+
+

cellSpacing#

+

Optional cellSpacing: string | number

+

Inherited from#

+

React.HTMLProps.cellSpacing

+
+

center#

+

Optional center: boolean

+
+

challenge#

+

Optional challenge: string

+

Inherited from#

+

React.HTMLProps.challenge

+
+

charSet#

+

Optional charSet: string

+

Inherited from#

+

React.HTMLProps.charSet

+
+

checked#

+

Optional checked: boolean

+

Inherited from#

+

React.HTMLProps.checked

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.HTMLProps.children

+
+

cite#

+

Optional cite: string

+

Inherited from#

+

React.HTMLProps.cite

+
+

classID#

+

Optional classID: string

+

Inherited from#

+

React.HTMLProps.classID

+
+

className#

+

Optional className: string

+

Inherited from#

+

React.HTMLProps.className

+
+

colSpan#

+

Optional colSpan: number

+

Inherited from#

+

React.HTMLProps.colSpan

+
+

color#

+

Optional color: string

+

Inherited from#

+

React.HTMLProps.color

+
+

cols#

+

Optional cols: number

+

Inherited from#

+

React.HTMLProps.cols

+
+

content#

+

Optional content: string

+

Inherited from#

+

React.HTMLProps.content

+
+

contentEditable#

+

Optional contentEditable: Booleanish | "inherit"

+

Inherited from#

+

React.HTMLProps.contentEditable

+
+

contextMenu#

+

Optional contextMenu: string

+

Inherited from#

+

React.HTMLProps.contextMenu

+
+

controls#

+

Optional controls: boolean

+

Inherited from#

+

React.HTMLProps.controls

+
+

coords#

+

Optional coords: string

+

Inherited from#

+

React.HTMLProps.coords

+
+

crossOrigin#

+

Optional crossOrigin: string

+

Inherited from#

+

React.HTMLProps.crossOrigin

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.HTMLProps.dangerouslySetInnerHTML

+
+

data#

+

Optional data: string

+

Inherited from#

+

React.HTMLProps.data

+
+

datatype#

+

Optional datatype: string

+

Inherited from#

+

React.HTMLProps.datatype

+
+

dateTime#

+

Optional dateTime: string

+

Inherited from#

+

React.HTMLProps.dateTime

+
+

default#

+

Optional default: boolean

+

Inherited from#

+

React.HTMLProps.default

+
+

defaultChecked#

+

Optional defaultChecked: boolean

+

Inherited from#

+

React.HTMLProps.defaultChecked

+
+

defaultValue#

+

Optional defaultValue: string | number | readonly string[]

+

Inherited from#

+

React.HTMLProps.defaultValue

+
+

defer#

+

Optional defer: boolean

+

Inherited from#

+

React.HTMLProps.defer

+
+

dir#

+

Optional dir: string

+

Inherited from#

+

React.HTMLProps.dir

+
+

disabled#

+

Optional disabled: boolean

+

Inherited from#

+

React.HTMLProps.disabled

+
+

download#

+

Optional download: any

+

Inherited from#

+

React.HTMLProps.download

+
+

draggable#

+

Optional draggable: Booleanish

+

Inherited from#

+

React.HTMLProps.draggable

+
+

encType#

+

Optional encType: string

+

Inherited from#

+

React.HTMLProps.encType

+
+

form#

+

Optional form: string

+

Inherited from#

+

React.HTMLProps.form

+
+

formAction#

+

Optional formAction: string

+

Inherited from#

+

React.HTMLProps.formAction

+
+

formEncType#

+

Optional formEncType: string

+

Inherited from#

+

React.HTMLProps.formEncType

+
+

formMethod#

+

Optional formMethod: string

+

Inherited from#

+

React.HTMLProps.formMethod

+
+

formNoValidate#

+

Optional formNoValidate: boolean

+

Inherited from#

+

React.HTMLProps.formNoValidate

+
+

formTarget#

+

Optional formTarget: string

+

Inherited from#

+

React.HTMLProps.formTarget

+
+

frameBorder#

+

Optional frameBorder: string | number

+

Inherited from#

+

React.HTMLProps.frameBorder

+
+

headers#

+

Optional headers: string

+

Inherited from#

+

React.HTMLProps.headers

+
+

height#

+

Optional height: string | number

+

Inherited from#

+

React.HTMLProps.height

+
+

hidden#

+

Optional hidden: boolean

+

Inherited from#

+

React.HTMLProps.hidden

+
+

high#

+

Optional high: number

+

Inherited from#

+

React.HTMLProps.high

+
+

href#

+

Optional href: string

+

Inherited from#

+

React.HTMLProps.href

+
+

hrefLang#

+

Optional hrefLang: string

+

Inherited from#

+

React.HTMLProps.hrefLang

+
+

htmlFor#

+

Optional htmlFor: string

+

Inherited from#

+

React.HTMLProps.htmlFor

+
+

httpEquiv#

+

Optional httpEquiv: string

+

Inherited from#

+

React.HTMLProps.httpEquiv

+
+

id#

+

Optional id: string

+

Inherited from#

+

React.HTMLProps.id

+
+

inlist#

+

Optional inlist: any

+

Inherited from#

+

React.HTMLProps.inlist

+
+

inputMode#

+

Optional inputMode: "text" | "none" | "search" | "tel" | "url" | "email" | "numeric" | "decimal"

+

Hints at the type of data that might be entered by the user while editing the element or its contents

+

see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

+

Inherited from#

+

React.HTMLProps.inputMode

+
+

integrity#

+

Optional integrity: string

+

Inherited from#

+

React.HTMLProps.integrity

+
+

is#

+

Optional is: string

+

Specify that a standard HTML element should behave like a defined custom built-in element

+

see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

+

Inherited from#

+

React.HTMLProps.is

+
+

itemID#

+

Optional itemID: string

+

Inherited from#

+

React.HTMLProps.itemID

+
+

itemProp#

+

Optional itemProp: string

+

Inherited from#

+

React.HTMLProps.itemProp

+
+

itemRef#

+

Optional itemRef: string

+

Inherited from#

+

React.HTMLProps.itemRef

+
+

itemScope#

+

Optional itemScope: boolean

+

Inherited from#

+

React.HTMLProps.itemScope

+
+

itemType#

+

Optional itemType: string

+

Inherited from#

+

React.HTMLProps.itemType

+
+

key#

+

Optional key: Key

+

Inherited from#

+

React.HTMLProps.key

+
+

keyParams#

+

Optional keyParams: string

+

Inherited from#

+

React.HTMLProps.keyParams

+
+

keyType#

+

Optional keyType: string

+

Inherited from#

+

React.HTMLProps.keyType

+
+

kind#

+

Optional kind: string

+

Inherited from#

+

React.HTMLProps.kind

+
+

label#

+

Optional label: string

+

Inherited from#

+

React.HTMLProps.label

+
+

lang#

+

Optional lang: string

+

Inherited from#

+

React.HTMLProps.lang

+
+

list#

+

Optional list: string

+

Inherited from#

+

React.HTMLProps.list

+
+

loop#

+

Optional loop: boolean

+

Inherited from#

+

React.HTMLProps.loop

+
+

low#

+

Optional low: number

+

Inherited from#

+

React.HTMLProps.low

+
+

manifest#

+

Optional manifest: string

+

Inherited from#

+

React.HTMLProps.manifest

+
+

marginHeight#

+

Optional marginHeight: number

+

Inherited from#

+

React.HTMLProps.marginHeight

+
+

marginWidth#

+

Optional marginWidth: number

+

Inherited from#

+

React.HTMLProps.marginWidth

+
+

max#

+

Optional max: string | number

+

Inherited from#

+

React.HTMLProps.max

+
+

maxLength#

+

Optional maxLength: number

+

Inherited from#

+

React.HTMLProps.maxLength

+
+

media#

+

Optional media: string

+

Inherited from#

+

React.HTMLProps.media

+
+

mediaGroup#

+

Optional mediaGroup: string

+

Inherited from#

+

React.HTMLProps.mediaGroup

+
+

method#

+

Optional method: string

+

Inherited from#

+

React.HTMLProps.method

+
+

min#

+

Optional min: string | number

+

Inherited from#

+

React.HTMLProps.min

+
+

minLength#

+

Optional minLength: number

+

Inherited from#

+

React.HTMLProps.minLength

+
+

multiple#

+

Optional multiple: boolean

+

Inherited from#

+

React.HTMLProps.multiple

+
+

muted#

+

Optional muted: boolean

+

Inherited from#

+

React.HTMLProps.muted

+
+

name#

+

Optional name: string

+

Inherited from#

+

React.HTMLProps.name

+
+

noValidate#

+

Optional noValidate: boolean

+

Inherited from#

+

React.HTMLProps.noValidate

+
+

nonce#

+

Optional nonce: string

+

Inherited from#

+

React.HTMLProps.nonce

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWheelCapture

+
+

open#

+

Optional open: boolean

+

Inherited from#

+

React.HTMLProps.open

+
+

optimum#

+

Optional optimum: number

+

Inherited from#

+

React.HTMLProps.optimum

+
+

pattern#

+

Optional pattern: string

+

Inherited from#

+

React.HTMLProps.pattern

+
+

placeholder#

+

Optional placeholder: string

+

Inherited from#

+

React.HTMLProps.placeholder

+
+

playsInline#

+

Optional playsInline: boolean

+

Inherited from#

+

React.HTMLProps.playsInline

+
+

poster#

+

Optional poster: string

+

Inherited from#

+

React.HTMLProps.poster

+
+

prefix#

+

Optional prefix: string

+

Inherited from#

+

React.HTMLProps.prefix

+
+

preload#

+

Optional preload: string

+

Inherited from#

+

React.HTMLProps.preload

+
+

property#

+

Optional property: string

+

Inherited from#

+

React.HTMLProps.property

+
+

radioGroup#

+

Optional radioGroup: string

+

Inherited from#

+

React.HTMLProps.radioGroup

+
+

readOnly#

+

Optional readOnly: boolean

+

Inherited from#

+

React.HTMLProps.readOnly

+
+

ref#

+

Optional ref: LegacyRef<any>

+

Inherited from#

+

React.HTMLProps.ref

+
+

rel#

+

Optional rel: string

+

Inherited from#

+

React.HTMLProps.rel

+
+

required#

+

Optional required: boolean

+

Inherited from#

+

React.HTMLProps.required

+
+

resource#

+

Optional resource: string

+

Inherited from#

+

React.HTMLProps.resource

+
+

results#

+

Optional results: number

+

Inherited from#

+

React.HTMLProps.results

+
+

reversed#

+

Optional reversed: boolean

+

Inherited from#

+

React.HTMLProps.reversed

+
+

role#

+

Optional role: AriaRole

+

Inherited from#

+

React.HTMLProps.role

+
+

rowSpan#

+

Optional rowSpan: number

+

Inherited from#

+

React.HTMLProps.rowSpan

+
+

rows#

+

Optional rows: number

+

Inherited from#

+

React.HTMLProps.rows

+
+

sandbox#

+

Optional sandbox: string

+

Inherited from#

+

React.HTMLProps.sandbox

+
+

scope#

+

Optional scope: string

+

Inherited from#

+

React.HTMLProps.scope

+
+

scoped#

+

Optional scoped: boolean

+

Inherited from#

+

React.HTMLProps.scoped

+
+

scrolling#

+

Optional scrolling: string

+

Inherited from#

+

React.HTMLProps.scrolling

+
+

seamless#

+

Optional seamless: boolean

+

Inherited from#

+

React.HTMLProps.seamless

+
+

security#

+

Optional security: string

+

Inherited from#

+

React.HTMLProps.security

+
+

selected#

+

Optional selected: boolean

+

Inherited from#

+

React.HTMLProps.selected

+
+

shape#

+

Optional shape: string

+

Inherited from#

+

React.HTMLProps.shape

+
+

singleColor#

+

Optional singleColor: boolean

+
+

size#

+

Optional size: number

+

Inherited from#

+

React.HTMLProps.size

+
+

sizes#

+

Optional sizes: string

+

Inherited from#

+

React.HTMLProps.sizes

+
+

slot#

+

Optional slot: string

+

Inherited from#

+

React.HTMLProps.slot

+
+

span#

+

Optional span: number

+

Inherited from#

+

React.HTMLProps.span

+
+

spellCheck#

+

Optional spellCheck: Booleanish

+

Inherited from#

+

React.HTMLProps.spellCheck

+
+

src#

+

Optional src: string

+

Inherited from#

+

React.HTMLProps.src

+
+

srcDoc#

+

Optional srcDoc: string

+

Inherited from#

+

React.HTMLProps.srcDoc

+
+

srcLang#

+

Optional srcLang: string

+

Inherited from#

+

React.HTMLProps.srcLang

+
+

srcSet#

+

Optional srcSet: string

+

Inherited from#

+

React.HTMLProps.srcSet

+
+

start#

+

Optional start: number

+

Inherited from#

+

React.HTMLProps.start

+
+

step#

+

Optional step: string | number

+

Inherited from#

+

React.HTMLProps.step

+
+

style#

+

Optional style: CSSProperties

+

Inherited from#

+

React.HTMLProps.style

+
+

summary#

+

Optional summary: string

+

Inherited from#

+

React.HTMLProps.summary

+
+

suppressContentEditableWarning#

+

Optional suppressContentEditableWarning: boolean

+

Inherited from#

+

React.HTMLProps.suppressContentEditableWarning

+
+

suppressHydrationWarning#

+

Optional suppressHydrationWarning: boolean

+

Inherited from#

+

React.HTMLProps.suppressHydrationWarning

+
+

tabIndex#

+

Optional tabIndex: number

+

Inherited from#

+

React.HTMLProps.tabIndex

+
+

target#

+

Optional target: string

+

Inherited from#

+

React.HTMLProps.target

+
+

title#

+

Optional title: string

+

Inherited from#

+

React.HTMLProps.title

+
+

translate#

+

Optional translate: "yes" | "no"

+

Inherited from#

+

React.HTMLProps.translate

+
+

type#

+

Optional type: string

+

Inherited from#

+

React.HTMLProps.type

+
+

typeof#

+

Optional typeof: string

+

Inherited from#

+

React.HTMLProps.typeof

+
+

unselectable#

+

Optional unselectable: "on" | "off"

+

Inherited from#

+

React.HTMLProps.unselectable

+
+

useMap#

+

Optional useMap: string

+

Inherited from#

+

React.HTMLProps.useMap

+
+

value#

+

Optional value: string | number | readonly string[]

+

Inherited from#

+

React.HTMLProps.value

+
+

vocab#

+

Optional vocab: string

+

Inherited from#

+

React.HTMLProps.vocab

+
+

width#

+

Optional width: string | number

+

Inherited from#

+

React.HTMLProps.width

+
+

wmode#

+

Optional wmode: string

+

Inherited from#

+

React.HTMLProps.wmode

+
+

wrap#

+

Optional wrap: string

+

Inherited from#

+

React.HTMLProps.wrap

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.StatusBrickProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.StatusBrickProps/index.html new file mode 100644 index 0000000000..cedc2f8a9e --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.StatusBrickProps/index.html @@ -0,0 +1,4283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: StatusBrickProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: StatusBrickProps#

+

Renderer.Component.StatusBrickProps

+

Hierarchy#

+ +

StatusBrickProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

about#

+

Optional about: string

+

Inherited from#

+

React.HTMLAttributes.about

+
+

accessKey#

+

Optional accessKey: string

+

Inherited from#

+

React.HTMLAttributes.accessKey

+
+

aria-activedescendant#

+

Optional aria-activedescendant: string

+

Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

+

Inherited from#

+

React.HTMLAttributes.aria-activedescendant

+
+

aria-atomic#

+

Optional aria-atomic: Booleanish

+

Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

+

Inherited from#

+

React.HTMLAttributes.aria-atomic

+
+

aria-autocomplete#

+

Optional aria-autocomplete: "list" | "none" | "inline" | "both"

+

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be +presented if they are made.

+

Inherited from#

+

React.HTMLAttributes.aria-autocomplete

+
+

aria-busy#

+

Optional aria-busy: Booleanish

+

Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

+

Inherited from#

+

React.HTMLAttributes.aria-busy

+
+

aria-checked#

+

Optional aria-checked: boolean | "true" | "false" | "mixed"

+

Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

+

see aria-pressed @see aria-selected.

+

Inherited from#

+

React.HTMLAttributes.aria-checked

+
+

aria-colcount#

+

Optional aria-colcount: number

+

Defines the total number of columns in a table, grid, or treegrid.

+

see aria-colindex.

+

Inherited from#

+

React.HTMLAttributes.aria-colcount

+
+

aria-colindex#

+

Optional aria-colindex: number

+

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

+

see aria-colcount @see aria-colspan.

+

Inherited from#

+

React.HTMLAttributes.aria-colindex

+
+

aria-colspan#

+

Optional aria-colspan: number

+

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-colindex @see aria-rowspan.

+

Inherited from#

+

React.HTMLAttributes.aria-colspan

+
+

aria-controls#

+

Optional aria-controls: string

+

Identifies the element (or elements) whose contents or presence are controlled by the current element.

+

see aria-owns.

+

Inherited from#

+

React.HTMLAttributes.aria-controls

+
+

aria-current#

+

Optional aria-current: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date"

+

Indicates the element that represents the current item within a container or set of related elements.

+

Inherited from#

+

React.HTMLAttributes.aria-current

+
+

aria-describedby#

+

Optional aria-describedby: string

+

Identifies the element (or elements) that describes the object.

+

see aria-labelledby

+

Inherited from#

+

React.HTMLAttributes.aria-describedby

+
+

aria-details#

+

Optional aria-details: string

+

Identifies the element that provides a detailed, extended description for the object.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLAttributes.aria-details

+
+

aria-disabled#

+

Optional aria-disabled: Booleanish

+

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

+

see aria-hidden @see aria-readonly.

+

Inherited from#

+

React.HTMLAttributes.aria-disabled

+
+

aria-dropeffect#

+

Optional aria-dropeffect: "link" | "none" | "copy" | "execute" | "move" | "popup"

+

Indicates what functions can be performed when a dragged object is released on the drop target.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLAttributes.aria-dropeffect

+
+

aria-errormessage#

+

Optional aria-errormessage: string

+

Identifies the element that provides an error message for the object.

+

see aria-invalid @see aria-describedby.

+

Inherited from#

+

React.HTMLAttributes.aria-errormessage

+
+

aria-expanded#

+

Optional aria-expanded: Booleanish

+

Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

+

Inherited from#

+

React.HTMLAttributes.aria-expanded

+
+

aria-flowto#

+

Optional aria-flowto: string

+

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, +allows assistive technology to override the general default of reading in document source order.

+

Inherited from#

+

React.HTMLAttributes.aria-flowto

+
+

aria-grabbed#

+

Optional aria-grabbed: Booleanish

+

Indicates an element's "grabbed" state in a drag-and-drop operation.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLAttributes.aria-grabbed

+
+

aria-haspopup#

+

Optional aria-haspopup: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree"

+

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

+

Inherited from#

+

React.HTMLAttributes.aria-haspopup

+
+

aria-hidden#

+

Optional aria-hidden: Booleanish

+

Indicates whether the element is exposed to an accessibility API.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLAttributes.aria-hidden

+
+

aria-invalid#

+

Optional aria-invalid: boolean | "true" | "false" | "grammar" | "spelling"

+

Indicates the entered value does not conform to the format expected by the application.

+

see aria-errormessage.

+

Inherited from#

+

React.HTMLAttributes.aria-invalid

+
+

aria-keyshortcuts#

+

Optional aria-keyshortcuts: string

+

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

+

Inherited from#

+

React.HTMLAttributes.aria-keyshortcuts

+
+

aria-label#

+

Optional aria-label: string

+

Defines a string value that labels the current element.

+

see aria-labelledby.

+

Inherited from#

+

React.HTMLAttributes.aria-label

+
+

aria-labelledby#

+

Optional aria-labelledby: string

+

Identifies the element (or elements) that labels the current element.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLAttributes.aria-labelledby

+
+

aria-level#

+

Optional aria-level: number

+

Defines the hierarchical level of an element within a structure.

+

Inherited from#

+

React.HTMLAttributes.aria-level

+
+

aria-live#

+

Optional aria-live: "off" | "assertive" | "polite"

+

Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

+

Inherited from#

+

React.HTMLAttributes.aria-live

+
+

aria-modal#

+

Optional aria-modal: Booleanish

+

Indicates whether an element is modal when displayed.

+

Inherited from#

+

React.HTMLAttributes.aria-modal

+
+

aria-multiline#

+

Optional aria-multiline: Booleanish

+

Indicates whether a text box accepts multiple lines of input or only a single line.

+

Inherited from#

+

React.HTMLAttributes.aria-multiline

+
+

aria-multiselectable#

+

Optional aria-multiselectable: Booleanish

+

Indicates that the user may select more than one item from the current selectable descendants.

+

Inherited from#

+

React.HTMLAttributes.aria-multiselectable

+
+

aria-orientation#

+

Optional aria-orientation: "horizontal" | "vertical"

+

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

+

Inherited from#

+

React.HTMLAttributes.aria-orientation

+
+

aria-owns#

+

Optional aria-owns: string

+

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship +between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

+

see aria-controls.

+

Inherited from#

+

React.HTMLAttributes.aria-owns

+
+

aria-placeholder#

+

Optional aria-placeholder: string

+

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. +A hint could be a sample value or a brief description of the expected format.

+

Inherited from#

+

React.HTMLAttributes.aria-placeholder

+
+

aria-posinset#

+

Optional aria-posinset: number

+

Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-setsize.

+

Inherited from#

+

React.HTMLAttributes.aria-posinset

+
+

aria-pressed#

+

Optional aria-pressed: boolean | "true" | "false" | "mixed"

+

Indicates the current "pressed" state of toggle buttons.

+

see aria-checked @see aria-selected.

+

Inherited from#

+

React.HTMLAttributes.aria-pressed

+
+

aria-readonly#

+

Optional aria-readonly: Booleanish

+

Indicates that the element is not editable, but is otherwise operable.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLAttributes.aria-readonly

+
+

aria-relevant#

+

Optional aria-relevant: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals"

+

Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

+

see aria-atomic.

+

Inherited from#

+

React.HTMLAttributes.aria-relevant

+
+

aria-required#

+

Optional aria-required: Booleanish

+

Indicates that user input is required on the element before a form may be submitted.

+

Inherited from#

+

React.HTMLAttributes.aria-required

+
+

aria-roledescription#

+

Optional aria-roledescription: string

+

Defines a human-readable, author-localized description for the role of an element.

+

Inherited from#

+

React.HTMLAttributes.aria-roledescription

+
+

aria-rowcount#

+

Optional aria-rowcount: number

+

Defines the total number of rows in a table, grid, or treegrid.

+

see aria-rowindex.

+

Inherited from#

+

React.HTMLAttributes.aria-rowcount

+
+

aria-rowindex#

+

Optional aria-rowindex: number

+

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

+

see aria-rowcount @see aria-rowspan.

+

Inherited from#

+

React.HTMLAttributes.aria-rowindex

+
+

aria-rowspan#

+

Optional aria-rowspan: number

+

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-rowindex @see aria-colspan.

+

Inherited from#

+

React.HTMLAttributes.aria-rowspan

+
+

aria-selected#

+

Optional aria-selected: Booleanish

+

Indicates the current "selected" state of various widgets.

+

see aria-checked @see aria-pressed.

+

Inherited from#

+

React.HTMLAttributes.aria-selected

+
+

aria-setsize#

+

Optional aria-setsize: number

+

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-posinset.

+

Inherited from#

+

React.HTMLAttributes.aria-setsize

+
+

aria-sort#

+

Optional aria-sort: "none" | "ascending" | "descending" | "other"

+

Indicates if items in a table or grid are sorted in ascending or descending order.

+

Inherited from#

+

React.HTMLAttributes.aria-sort

+
+

aria-valuemax#

+

Optional aria-valuemax: number

+

Defines the maximum allowed value for a range widget.

+

Inherited from#

+

React.HTMLAttributes.aria-valuemax

+
+

aria-valuemin#

+

Optional aria-valuemin: number

+

Defines the minimum allowed value for a range widget.

+

Inherited from#

+

React.HTMLAttributes.aria-valuemin

+
+

aria-valuenow#

+

Optional aria-valuenow: number

+

Defines the current value for a range widget.

+

see aria-valuetext.

+

Inherited from#

+

React.HTMLAttributes.aria-valuenow

+
+

aria-valuetext#

+

Optional aria-valuetext: string

+

Defines the human readable text alternative of aria-valuenow for a range widget.

+

Inherited from#

+

React.HTMLAttributes.aria-valuetext

+
+

autoCapitalize#

+

Optional autoCapitalize: string

+

Inherited from#

+

React.HTMLAttributes.autoCapitalize

+
+

autoCorrect#

+

Optional autoCorrect: string

+

Inherited from#

+

React.HTMLAttributes.autoCorrect

+
+

autoSave#

+

Optional autoSave: string

+

Inherited from#

+

React.HTMLAttributes.autoSave

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.HTMLAttributes.children

+
+

className#

+

Optional className: string

+

Inherited from#

+

React.HTMLAttributes.className

+
+

color#

+

Optional color: string

+

Inherited from#

+

React.HTMLAttributes.color

+
+

contentEditable#

+

Optional contentEditable: Booleanish | "inherit"

+

Inherited from#

+

React.HTMLAttributes.contentEditable

+
+

contextMenu#

+

Optional contextMenu: string

+

Inherited from#

+

React.HTMLAttributes.contextMenu

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.HTMLAttributes.dangerouslySetInnerHTML

+
+

datatype#

+

Optional datatype: string

+

Inherited from#

+

React.HTMLAttributes.datatype

+
+

defaultChecked#

+

Optional defaultChecked: boolean

+

Inherited from#

+

React.HTMLAttributes.defaultChecked

+
+

defaultValue#

+

Optional defaultValue: string | number | readonly string[]

+

Inherited from#

+

React.HTMLAttributes.defaultValue

+
+

dir#

+

Optional dir: string

+

Inherited from#

+

React.HTMLAttributes.dir

+
+

draggable#

+

Optional draggable: Booleanish

+

Inherited from#

+

React.HTMLAttributes.draggable

+
+

hidden#

+

Optional hidden: boolean

+

Inherited from#

+

React.HTMLAttributes.hidden

+
+

id#

+

Optional id: string

+

Inherited from#

+

React.HTMLAttributes.id

+
+

inlist#

+

Optional inlist: any

+

Inherited from#

+

React.HTMLAttributes.inlist

+
+

inputMode#

+

Optional inputMode: "text" | "none" | "search" | "tel" | "url" | "email" | "numeric" | "decimal"

+

Hints at the type of data that might be entered by the user while editing the element or its contents

+

see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

+

Inherited from#

+

React.HTMLAttributes.inputMode

+
+

is#

+

Optional is: string

+

Specify that a standard HTML element should behave like a defined custom built-in element

+

see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

+

Inherited from#

+

React.HTMLAttributes.is

+
+

itemID#

+

Optional itemID: string

+

Inherited from#

+

React.HTMLAttributes.itemID

+
+

itemProp#

+

Optional itemProp: string

+

Inherited from#

+

React.HTMLAttributes.itemProp

+
+

itemRef#

+

Optional itemRef: string

+

Inherited from#

+

React.HTMLAttributes.itemRef

+
+

itemScope#

+

Optional itemScope: boolean

+

Inherited from#

+

React.HTMLAttributes.itemScope

+
+

itemType#

+

Optional itemType: string

+

Inherited from#

+

React.HTMLAttributes.itemType

+
+

lang#

+

Optional lang: string

+

Inherited from#

+

React.HTMLAttributes.lang

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLAttributes.onWheelCapture

+
+

placeholder#

+

Optional placeholder: string

+

Inherited from#

+

React.HTMLAttributes.placeholder

+
+

prefix#

+

Optional prefix: string

+

Inherited from#

+

React.HTMLAttributes.prefix

+
+

property#

+

Optional property: string

+

Inherited from#

+

React.HTMLAttributes.property

+
+

radioGroup#

+

Optional radioGroup: string

+

Inherited from#

+

React.HTMLAttributes.radioGroup

+
+

resource#

+

Optional resource: string

+

Inherited from#

+

React.HTMLAttributes.resource

+
+

results#

+

Optional results: number

+

Inherited from#

+

React.HTMLAttributes.results

+
+

role#

+

Optional role: AriaRole

+

Inherited from#

+

React.HTMLAttributes.role

+
+

security#

+

Optional security: string

+

Inherited from#

+

React.HTMLAttributes.security

+
+

slot#

+

Optional slot: string

+

Inherited from#

+

React.HTMLAttributes.slot

+
+

spellCheck#

+

Optional spellCheck: Booleanish

+

Inherited from#

+

React.HTMLAttributes.spellCheck

+
+

style#

+

Optional style: CSSProperties

+

Inherited from#

+

React.HTMLAttributes.style

+
+

suppressContentEditableWarning#

+

Optional suppressContentEditableWarning: boolean

+

Inherited from#

+

React.HTMLAttributes.suppressContentEditableWarning

+
+

suppressHydrationWarning#

+

Optional suppressHydrationWarning: boolean

+

Inherited from#

+

React.HTMLAttributes.suppressHydrationWarning

+
+

tabIndex#

+

Optional tabIndex: number

+

Inherited from#

+

React.HTMLAttributes.tabIndex

+
+

title#

+

Optional title: string

+

Inherited from#

+

React.HTMLAttributes.title

+
+

tooltip#

+

Optional tooltip: ReactNode | Omit<TooltipProps, "targetId">

+

Inherited from#

+

TooltipDecoratorProps.tooltip

+
+

tooltipOverrideDisabled#

+

Optional tooltipOverrideDisabled: boolean

+

forces tooltip to detect the target's parent for mouse events. This is +useful for displaying tooltips even when the target is "disabled"

+

Inherited from#

+

TooltipDecoratorProps.tooltipOverrideDisabled

+
+

translate#

+

Optional translate: "yes" | "no"

+

Inherited from#

+

React.HTMLAttributes.translate

+
+

typeof#

+

Optional typeof: string

+

Inherited from#

+

React.HTMLAttributes.typeof

+
+

unselectable#

+

Optional unselectable: "on" | "off"

+

Inherited from#

+

React.HTMLAttributes.unselectable

+
+

vocab#

+

Optional vocab: string

+

Inherited from#

+

React.HTMLAttributes.vocab

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.StepperProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.StepperProps/index.html new file mode 100644 index 0000000000..b6ca70e069 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.StepperProps/index.html @@ -0,0 +1,5652 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: StepperProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: StepperProps#

+

Renderer.Component.StepperProps

+

Hierarchy#

+
    +
  • HTMLProps<any>
  • +
+

StepperProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

about#

+

Optional about: string

+

Inherited from#

+

React.HTMLProps.about

+
+

accept#

+

Optional accept: string

+

Inherited from#

+

React.HTMLProps.accept

+
+

acceptCharset#

+

Optional acceptCharset: string

+

Inherited from#

+

React.HTMLProps.acceptCharset

+
+

accessKey#

+

Optional accessKey: string

+

Inherited from#

+

React.HTMLProps.accessKey

+
+

action#

+

Optional action: string

+

Inherited from#

+

React.HTMLProps.action

+
+

allowFullScreen#

+

Optional allowFullScreen: boolean

+

Inherited from#

+

React.HTMLProps.allowFullScreen

+
+

allowTransparency#

+

Optional allowTransparency: boolean

+

Inherited from#

+

React.HTMLProps.allowTransparency

+
+

alt#

+

Optional alt: string

+

Inherited from#

+

React.HTMLProps.alt

+
+

aria-activedescendant#

+

Optional aria-activedescendant: string

+

Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

+

Inherited from#

+

React.HTMLProps.aria-activedescendant

+
+

aria-atomic#

+

Optional aria-atomic: Booleanish

+

Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

+

Inherited from#

+

React.HTMLProps.aria-atomic

+
+

aria-autocomplete#

+

Optional aria-autocomplete: "list" | "none" | "inline" | "both"

+

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be +presented if they are made.

+

Inherited from#

+

React.HTMLProps.aria-autocomplete

+
+

aria-busy#

+

Optional aria-busy: Booleanish

+

Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

+

Inherited from#

+

React.HTMLProps.aria-busy

+
+

aria-checked#

+

Optional aria-checked: boolean | "true" | "false" | "mixed"

+

Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

+

see aria-pressed @see aria-selected.

+

Inherited from#

+

React.HTMLProps.aria-checked

+
+

aria-colcount#

+

Optional aria-colcount: number

+

Defines the total number of columns in a table, grid, or treegrid.

+

see aria-colindex.

+

Inherited from#

+

React.HTMLProps.aria-colcount

+
+

aria-colindex#

+

Optional aria-colindex: number

+

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

+

see aria-colcount @see aria-colspan.

+

Inherited from#

+

React.HTMLProps.aria-colindex

+
+

aria-colspan#

+

Optional aria-colspan: number

+

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-colindex @see aria-rowspan.

+

Inherited from#

+

React.HTMLProps.aria-colspan

+
+

aria-controls#

+

Optional aria-controls: string

+

Identifies the element (or elements) whose contents or presence are controlled by the current element.

+

see aria-owns.

+

Inherited from#

+

React.HTMLProps.aria-controls

+
+

aria-current#

+

Optional aria-current: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date"

+

Indicates the element that represents the current item within a container or set of related elements.

+

Inherited from#

+

React.HTMLProps.aria-current

+
+

aria-describedby#

+

Optional aria-describedby: string

+

Identifies the element (or elements) that describes the object.

+

see aria-labelledby

+

Inherited from#

+

React.HTMLProps.aria-describedby

+
+

aria-details#

+

Optional aria-details: string

+

Identifies the element that provides a detailed, extended description for the object.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLProps.aria-details

+
+

aria-disabled#

+

Optional aria-disabled: Booleanish

+

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

+

see aria-hidden @see aria-readonly.

+

Inherited from#

+

React.HTMLProps.aria-disabled

+
+

aria-dropeffect#

+

Optional aria-dropeffect: "link" | "none" | "copy" | "execute" | "move" | "popup"

+

Indicates what functions can be performed when a dragged object is released on the drop target.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLProps.aria-dropeffect

+
+

aria-errormessage#

+

Optional aria-errormessage: string

+

Identifies the element that provides an error message for the object.

+

see aria-invalid @see aria-describedby.

+

Inherited from#

+

React.HTMLProps.aria-errormessage

+
+

aria-expanded#

+

Optional aria-expanded: Booleanish

+

Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

+

Inherited from#

+

React.HTMLProps.aria-expanded

+
+

aria-flowto#

+

Optional aria-flowto: string

+

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, +allows assistive technology to override the general default of reading in document source order.

+

Inherited from#

+

React.HTMLProps.aria-flowto

+
+

aria-grabbed#

+

Optional aria-grabbed: Booleanish

+

Indicates an element's "grabbed" state in a drag-and-drop operation.

+

deprecated in ARIA 1.1

+

Inherited from#

+

React.HTMLProps.aria-grabbed

+
+

aria-haspopup#

+

Optional aria-haspopup: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree"

+

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

+

Inherited from#

+

React.HTMLProps.aria-haspopup

+
+

aria-hidden#

+

Optional aria-hidden: Booleanish

+

Indicates whether the element is exposed to an accessibility API.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLProps.aria-hidden

+
+

aria-invalid#

+

Optional aria-invalid: boolean | "true" | "false" | "grammar" | "spelling"

+

Indicates the entered value does not conform to the format expected by the application.

+

see aria-errormessage.

+

Inherited from#

+

React.HTMLProps.aria-invalid

+
+

aria-keyshortcuts#

+

Optional aria-keyshortcuts: string

+

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

+

Inherited from#

+

React.HTMLProps.aria-keyshortcuts

+
+

aria-label#

+

Optional aria-label: string

+

Defines a string value that labels the current element.

+

see aria-labelledby.

+

Inherited from#

+

React.HTMLProps.aria-label

+
+

aria-labelledby#

+

Optional aria-labelledby: string

+

Identifies the element (or elements) that labels the current element.

+

see aria-describedby.

+

Inherited from#

+

React.HTMLProps.aria-labelledby

+
+

aria-level#

+

Optional aria-level: number

+

Defines the hierarchical level of an element within a structure.

+

Inherited from#

+

React.HTMLProps.aria-level

+
+

aria-live#

+

Optional aria-live: "off" | "assertive" | "polite"

+

Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

+

Inherited from#

+

React.HTMLProps.aria-live

+
+

aria-modal#

+

Optional aria-modal: Booleanish

+

Indicates whether an element is modal when displayed.

+

Inherited from#

+

React.HTMLProps.aria-modal

+
+

aria-multiline#

+

Optional aria-multiline: Booleanish

+

Indicates whether a text box accepts multiple lines of input or only a single line.

+

Inherited from#

+

React.HTMLProps.aria-multiline

+
+

aria-multiselectable#

+

Optional aria-multiselectable: Booleanish

+

Indicates that the user may select more than one item from the current selectable descendants.

+

Inherited from#

+

React.HTMLProps.aria-multiselectable

+
+

aria-orientation#

+

Optional aria-orientation: "horizontal" | "vertical"

+

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

+

Inherited from#

+

React.HTMLProps.aria-orientation

+
+

aria-owns#

+

Optional aria-owns: string

+

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship +between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

+

see aria-controls.

+

Inherited from#

+

React.HTMLProps.aria-owns

+
+

aria-placeholder#

+

Optional aria-placeholder: string

+

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. +A hint could be a sample value or a brief description of the expected format.

+

Inherited from#

+

React.HTMLProps.aria-placeholder

+
+

aria-posinset#

+

Optional aria-posinset: number

+

Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-setsize.

+

Inherited from#

+

React.HTMLProps.aria-posinset

+
+

aria-pressed#

+

Optional aria-pressed: boolean | "true" | "false" | "mixed"

+

Indicates the current "pressed" state of toggle buttons.

+

see aria-checked @see aria-selected.

+

Inherited from#

+

React.HTMLProps.aria-pressed

+
+

aria-readonly#

+

Optional aria-readonly: Booleanish

+

Indicates that the element is not editable, but is otherwise operable.

+

see aria-disabled.

+

Inherited from#

+

React.HTMLProps.aria-readonly

+
+

aria-relevant#

+

Optional aria-relevant: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals"

+

Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

+

see aria-atomic.

+

Inherited from#

+

React.HTMLProps.aria-relevant

+
+

aria-required#

+

Optional aria-required: Booleanish

+

Indicates that user input is required on the element before a form may be submitted.

+

Inherited from#

+

React.HTMLProps.aria-required

+
+

aria-roledescription#

+

Optional aria-roledescription: string

+

Defines a human-readable, author-localized description for the role of an element.

+

Inherited from#

+

React.HTMLProps.aria-roledescription

+
+

aria-rowcount#

+

Optional aria-rowcount: number

+

Defines the total number of rows in a table, grid, or treegrid.

+

see aria-rowindex.

+

Inherited from#

+

React.HTMLProps.aria-rowcount

+
+

aria-rowindex#

+

Optional aria-rowindex: number

+

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

+

see aria-rowcount @see aria-rowspan.

+

Inherited from#

+

React.HTMLProps.aria-rowindex

+
+

aria-rowspan#

+

Optional aria-rowspan: number

+

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

+

see aria-rowindex @see aria-colspan.

+

Inherited from#

+

React.HTMLProps.aria-rowspan

+
+

aria-selected#

+

Optional aria-selected: Booleanish

+

Indicates the current "selected" state of various widgets.

+

see aria-checked @see aria-pressed.

+

Inherited from#

+

React.HTMLProps.aria-selected

+
+

aria-setsize#

+

Optional aria-setsize: number

+

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

+

see aria-posinset.

+

Inherited from#

+

React.HTMLProps.aria-setsize

+
+

aria-sort#

+

Optional aria-sort: "none" | "ascending" | "descending" | "other"

+

Indicates if items in a table or grid are sorted in ascending or descending order.

+

Inherited from#

+

React.HTMLProps.aria-sort

+
+

aria-valuemax#

+

Optional aria-valuemax: number

+

Defines the maximum allowed value for a range widget.

+

Inherited from#

+

React.HTMLProps.aria-valuemax

+
+

aria-valuemin#

+

Optional aria-valuemin: number

+

Defines the minimum allowed value for a range widget.

+

Inherited from#

+

React.HTMLProps.aria-valuemin

+
+

aria-valuenow#

+

Optional aria-valuenow: number

+

Defines the current value for a range widget.

+

see aria-valuetext.

+

Inherited from#

+

React.HTMLProps.aria-valuenow

+
+

aria-valuetext#

+

Optional aria-valuetext: string

+

Defines the human readable text alternative of aria-valuenow for a range widget.

+

Inherited from#

+

React.HTMLProps.aria-valuetext

+
+

as#

+

Optional as: string

+

Inherited from#

+

React.HTMLProps.as

+
+

async#

+

Optional async: boolean

+

Inherited from#

+

React.HTMLProps.async

+
+

autoCapitalize#

+

Optional autoCapitalize: string

+

Inherited from#

+

React.HTMLProps.autoCapitalize

+
+

autoComplete#

+

Optional autoComplete: string

+

Inherited from#

+

React.HTMLProps.autoComplete

+
+

autoCorrect#

+

Optional autoCorrect: string

+

Inherited from#

+

React.HTMLProps.autoCorrect

+
+

autoFocus#

+

Optional autoFocus: boolean

+

Inherited from#

+

React.HTMLProps.autoFocus

+
+

autoPlay#

+

Optional autoPlay: boolean

+

Inherited from#

+

React.HTMLProps.autoPlay

+
+

autoSave#

+

Optional autoSave: string

+

Inherited from#

+

React.HTMLProps.autoSave

+
+

capture#

+

Optional capture: boolean | "user" | "environment"

+

Inherited from#

+

React.HTMLProps.capture

+
+

cellPadding#

+

Optional cellPadding: string | number

+

Inherited from#

+

React.HTMLProps.cellPadding

+
+

cellSpacing#

+

Optional cellSpacing: string | number

+

Inherited from#

+

React.HTMLProps.cellSpacing

+
+

challenge#

+

Optional challenge: string

+

Inherited from#

+

React.HTMLProps.challenge

+
+

charSet#

+

Optional charSet: string

+

Inherited from#

+

React.HTMLProps.charSet

+
+

checked#

+

Optional checked: boolean

+

Inherited from#

+

React.HTMLProps.checked

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.HTMLProps.children

+
+

cite#

+

Optional cite: string

+

Inherited from#

+

React.HTMLProps.cite

+
+

classID#

+

Optional classID: string

+

Inherited from#

+

React.HTMLProps.classID

+
+

className#

+

Optional className: string

+

Inherited from#

+

React.HTMLProps.className

+
+

colSpan#

+

Optional colSpan: number

+

Inherited from#

+

React.HTMLProps.colSpan

+
+

color#

+

Optional color: string

+

Inherited from#

+

React.HTMLProps.color

+
+

cols#

+

Optional cols: number

+

Inherited from#

+

React.HTMLProps.cols

+
+

content#

+

Optional content: string

+

Inherited from#

+

React.HTMLProps.content

+
+

contentEditable#

+

Optional contentEditable: Booleanish | "inherit"

+

Inherited from#

+

React.HTMLProps.contentEditable

+
+

contextMenu#

+

Optional contextMenu: string

+

Inherited from#

+

React.HTMLProps.contextMenu

+
+

controls#

+

Optional controls: boolean

+

Inherited from#

+

React.HTMLProps.controls

+
+

coords#

+

Optional coords: string

+

Inherited from#

+

React.HTMLProps.coords

+
+

crossOrigin#

+

Optional crossOrigin: string

+

Inherited from#

+

React.HTMLProps.crossOrigin

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.HTMLProps.dangerouslySetInnerHTML

+
+

data#

+

Optional data: string

+

Inherited from#

+

React.HTMLProps.data

+
+

datatype#

+

Optional datatype: string

+

Inherited from#

+

React.HTMLProps.datatype

+
+

dateTime#

+

Optional dateTime: string

+

Inherited from#

+

React.HTMLProps.dateTime

+
+

default#

+

Optional default: boolean

+

Inherited from#

+

React.HTMLProps.default

+
+

defaultChecked#

+

Optional defaultChecked: boolean

+

Inherited from#

+

React.HTMLProps.defaultChecked

+
+

defaultValue#

+

Optional defaultValue: string | number | readonly string[]

+

Inherited from#

+

React.HTMLProps.defaultValue

+
+

defer#

+

Optional defer: boolean

+

Inherited from#

+

React.HTMLProps.defer

+
+

dir#

+

Optional dir: string

+

Inherited from#

+

React.HTMLProps.dir

+
+

disabled#

+

Optional disabled: boolean

+

Inherited from#

+

React.HTMLProps.disabled

+
+

download#

+

Optional download: any

+

Inherited from#

+

React.HTMLProps.download

+
+

draggable#

+

Optional draggable: Booleanish

+

Inherited from#

+

React.HTMLProps.draggable

+
+

encType#

+

Optional encType: string

+

Inherited from#

+

React.HTMLProps.encType

+
+

form#

+

Optional form: string

+

Inherited from#

+

React.HTMLProps.form

+
+

formAction#

+

Optional formAction: string

+

Inherited from#

+

React.HTMLProps.formAction

+
+

formEncType#

+

Optional formEncType: string

+

Inherited from#

+

React.HTMLProps.formEncType

+
+

formMethod#

+

Optional formMethod: string

+

Inherited from#

+

React.HTMLProps.formMethod

+
+

formNoValidate#

+

Optional formNoValidate: boolean

+

Inherited from#

+

React.HTMLProps.formNoValidate

+
+

formTarget#

+

Optional formTarget: string

+

Inherited from#

+

React.HTMLProps.formTarget

+
+

frameBorder#

+

Optional frameBorder: string | number

+

Inherited from#

+

React.HTMLProps.frameBorder

+
+

headers#

+

Optional headers: string

+

Inherited from#

+

React.HTMLProps.headers

+
+

height#

+

Optional height: string | number

+

Inherited from#

+

React.HTMLProps.height

+
+

hidden#

+

Optional hidden: boolean

+

Inherited from#

+

React.HTMLProps.hidden

+
+

high#

+

Optional high: number

+

Inherited from#

+

React.HTMLProps.high

+
+

href#

+

Optional href: string

+

Inherited from#

+

React.HTMLProps.href

+
+

hrefLang#

+

Optional hrefLang: string

+

Inherited from#

+

React.HTMLProps.hrefLang

+
+

htmlFor#

+

Optional htmlFor: string

+

Inherited from#

+

React.HTMLProps.htmlFor

+
+

httpEquiv#

+

Optional httpEquiv: string

+

Inherited from#

+

React.HTMLProps.httpEquiv

+
+

id#

+

Optional id: string

+

Inherited from#

+

React.HTMLProps.id

+
+

inlist#

+

Optional inlist: any

+

Inherited from#

+

React.HTMLProps.inlist

+
+

inputMode#

+

Optional inputMode: "text" | "none" | "search" | "tel" | "url" | "email" | "numeric" | "decimal"

+

Hints at the type of data that might be entered by the user while editing the element or its contents

+

see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

+

Inherited from#

+

React.HTMLProps.inputMode

+
+

integrity#

+

Optional integrity: string

+

Inherited from#

+

React.HTMLProps.integrity

+
+

is#

+

Optional is: string

+

Specify that a standard HTML element should behave like a defined custom built-in element

+

see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

+

Inherited from#

+

React.HTMLProps.is

+
+

itemID#

+

Optional itemID: string

+

Inherited from#

+

React.HTMLProps.itemID

+
+

itemProp#

+

Optional itemProp: string

+

Inherited from#

+

React.HTMLProps.itemProp

+
+

itemRef#

+

Optional itemRef: string

+

Inherited from#

+

React.HTMLProps.itemRef

+
+

itemScope#

+

Optional itemScope: boolean

+

Inherited from#

+

React.HTMLProps.itemScope

+
+

itemType#

+

Optional itemType: string

+

Inherited from#

+

React.HTMLProps.itemType

+
+

key#

+

Optional key: Key

+

Inherited from#

+

React.HTMLProps.key

+
+

keyParams#

+

Optional keyParams: string

+

Inherited from#

+

React.HTMLProps.keyParams

+
+

keyType#

+

Optional keyType: string

+

Inherited from#

+

React.HTMLProps.keyType

+
+

kind#

+

Optional kind: string

+

Inherited from#

+

React.HTMLProps.kind

+
+

label#

+

Optional label: string

+

Inherited from#

+

React.HTMLProps.label

+
+

lang#

+

Optional lang: string

+

Inherited from#

+

React.HTMLProps.lang

+
+

list#

+

Optional list: string

+

Inherited from#

+

React.HTMLProps.list

+
+

loop#

+

Optional loop: boolean

+

Inherited from#

+

React.HTMLProps.loop

+
+

low#

+

Optional low: number

+

Inherited from#

+

React.HTMLProps.low

+
+

manifest#

+

Optional manifest: string

+

Inherited from#

+

React.HTMLProps.manifest

+
+

marginHeight#

+

Optional marginHeight: number

+

Inherited from#

+

React.HTMLProps.marginHeight

+
+

marginWidth#

+

Optional marginWidth: number

+

Inherited from#

+

React.HTMLProps.marginWidth

+
+

max#

+

Optional max: string | number

+

Inherited from#

+

React.HTMLProps.max

+
+

maxLength#

+

Optional maxLength: number

+

Inherited from#

+

React.HTMLProps.maxLength

+
+

media#

+

Optional media: string

+

Inherited from#

+

React.HTMLProps.media

+
+

mediaGroup#

+

Optional mediaGroup: string

+

Inherited from#

+

React.HTMLProps.mediaGroup

+
+

method#

+

Optional method: string

+

Inherited from#

+

React.HTMLProps.method

+
+

min#

+

Optional min: string | number

+

Inherited from#

+

React.HTMLProps.min

+
+

minLength#

+

Optional minLength: number

+

Inherited from#

+

React.HTMLProps.minLength

+
+

multiple#

+

Optional multiple: boolean

+

Inherited from#

+

React.HTMLProps.multiple

+
+

muted#

+

Optional muted: boolean

+

Inherited from#

+

React.HTMLProps.muted

+
+

name#

+

Optional name: string

+

Inherited from#

+

React.HTMLProps.name

+
+

noValidate#

+

Optional noValidate: boolean

+

Inherited from#

+

React.HTMLProps.noValidate

+
+

nonce#

+

Optional nonce: string

+

Inherited from#

+

React.HTMLProps.nonce

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<any>

+

Inherited from#

+

React.HTMLProps.onWheelCapture

+
+

open#

+

Optional open: boolean

+

Inherited from#

+

React.HTMLProps.open

+
+

optimum#

+

Optional optimum: number

+

Inherited from#

+

React.HTMLProps.optimum

+
+

pattern#

+

Optional pattern: string

+

Inherited from#

+

React.HTMLProps.pattern

+
+

placeholder#

+

Optional placeholder: string

+

Inherited from#

+

React.HTMLProps.placeholder

+
+

playsInline#

+

Optional playsInline: boolean

+

Inherited from#

+

React.HTMLProps.playsInline

+
+

poster#

+

Optional poster: string

+

Inherited from#

+

React.HTMLProps.poster

+
+

prefix#

+

Optional prefix: string

+

Inherited from#

+

React.HTMLProps.prefix

+
+

preload#

+

Optional preload: string

+

Inherited from#

+

React.HTMLProps.preload

+
+

property#

+

Optional property: string

+

Inherited from#

+

React.HTMLProps.property

+
+

radioGroup#

+

Optional radioGroup: string

+

Inherited from#

+

React.HTMLProps.radioGroup

+
+

readOnly#

+

Optional readOnly: boolean

+

Inherited from#

+

React.HTMLProps.readOnly

+
+

ref#

+

Optional ref: LegacyRef<any>

+

Inherited from#

+

React.HTMLProps.ref

+
+

rel#

+

Optional rel: string

+

Inherited from#

+

React.HTMLProps.rel

+
+

required#

+

Optional required: boolean

+

Inherited from#

+

React.HTMLProps.required

+
+

resource#

+

Optional resource: string

+

Inherited from#

+

React.HTMLProps.resource

+
+

results#

+

Optional results: number

+

Inherited from#

+

React.HTMLProps.results

+
+

reversed#

+

Optional reversed: boolean

+

Inherited from#

+

React.HTMLProps.reversed

+
+

role#

+

Optional role: AriaRole

+

Inherited from#

+

React.HTMLProps.role

+
+

rowSpan#

+

Optional rowSpan: number

+

Inherited from#

+

React.HTMLProps.rowSpan

+
+

rows#

+

Optional rows: number

+

Inherited from#

+

React.HTMLProps.rows

+
+

sandbox#

+

Optional sandbox: string

+

Inherited from#

+

React.HTMLProps.sandbox

+
+

scope#

+

Optional scope: string

+

Inherited from#

+

React.HTMLProps.scope

+
+

scoped#

+

Optional scoped: boolean

+

Inherited from#

+

React.HTMLProps.scoped

+
+

scrolling#

+

Optional scrolling: string

+

Inherited from#

+

React.HTMLProps.scrolling

+
+

seamless#

+

Optional seamless: boolean

+

Inherited from#

+

React.HTMLProps.seamless

+
+

security#

+

Optional security: string

+

Inherited from#

+

React.HTMLProps.security

+
+

selected#

+

Optional selected: boolean

+

Inherited from#

+

React.HTMLProps.selected

+
+

shape#

+

Optional shape: string

+

Inherited from#

+

React.HTMLProps.shape

+
+

size#

+

Optional size: number

+

Inherited from#

+

React.HTMLProps.size

+
+

sizes#

+

Optional sizes: string

+

Inherited from#

+

React.HTMLProps.sizes

+
+

slot#

+

Optional slot: string

+

Inherited from#

+

React.HTMLProps.slot

+
+

span#

+

Optional span: number

+

Inherited from#

+

React.HTMLProps.span

+
+

spellCheck#

+

Optional spellCheck: Booleanish

+

Inherited from#

+

React.HTMLProps.spellCheck

+
+

src#

+

Optional src: string

+

Inherited from#

+

React.HTMLProps.src

+
+

srcDoc#

+

Optional srcDoc: string

+

Inherited from#

+

React.HTMLProps.srcDoc

+
+

srcLang#

+

Optional srcLang: string

+

Inherited from#

+

React.HTMLProps.srcLang

+
+

srcSet#

+

Optional srcSet: string

+

Inherited from#

+

React.HTMLProps.srcSet

+
+

start#

+

Optional start: number

+

Inherited from#

+

React.HTMLProps.start

+
+

step#

+

step: number

+

Overrides#

+

React.HTMLProps.step

+
+

steps#

+

steps: Step[]

+
+

style#

+

Optional style: CSSProperties

+

Inherited from#

+

React.HTMLProps.style

+
+

summary#

+

Optional summary: string

+

Inherited from#

+

React.HTMLProps.summary

+
+

suppressContentEditableWarning#

+

Optional suppressContentEditableWarning: boolean

+

Inherited from#

+

React.HTMLProps.suppressContentEditableWarning

+
+

suppressHydrationWarning#

+

Optional suppressHydrationWarning: boolean

+

Inherited from#

+

React.HTMLProps.suppressHydrationWarning

+
+

tabIndex#

+

Optional tabIndex: number

+

Inherited from#

+

React.HTMLProps.tabIndex

+
+

target#

+

Optional target: string

+

Inherited from#

+

React.HTMLProps.target

+
+

title#

+

Optional title: string

+

Inherited from#

+

React.HTMLProps.title

+
+

translate#

+

Optional translate: "yes" | "no"

+

Inherited from#

+

React.HTMLProps.translate

+
+

type#

+

Optional type: string

+

Inherited from#

+

React.HTMLProps.type

+
+

typeof#

+

Optional typeof: string

+

Inherited from#

+

React.HTMLProps.typeof

+
+

unselectable#

+

Optional unselectable: "on" | "off"

+

Inherited from#

+

React.HTMLProps.unselectable

+
+

useMap#

+

Optional useMap: string

+

Inherited from#

+

React.HTMLProps.useMap

+
+

value#

+

Optional value: string | number | readonly string[]

+

Inherited from#

+

React.HTMLProps.value

+
+

vocab#

+

Optional vocab: string

+

Inherited from#

+

React.HTMLProps.vocab

+
+

width#

+

Optional width: string | number

+

Inherited from#

+

React.HTMLProps.width

+
+

wmode#

+

Optional wmode: string

+

Inherited from#

+

React.HTMLProps.wmode

+
+

wrap#

+

Optional wrap: string

+

Inherited from#

+

React.HTMLProps.wrap

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.TabLayoutProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.TabLayoutProps/index.html new file mode 100644 index 0000000000..1080c38acc --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.TabLayoutProps/index.html @@ -0,0 +1,883 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: TabLayoutProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: TabLayoutProps#

+

Renderer.Component.TabLayoutProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

children#

+

Optional children: ReactNode

+
+

className#

+

Optional className: IClassName

+
+

contentClass#

+

Optional contentClass: IClassName

+
+

tabs#

+

Optional tabs: TabLayoutRoute[]

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.TabLayoutRoute/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.TabLayoutRoute/index.html new file mode 100644 index 0000000000..948f36205f --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.TabLayoutRoute/index.html @@ -0,0 +1,905 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: TabLayoutRoute - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: TabLayoutRoute#

+

Renderer.Component.TabLayoutRoute

+

Table of contents#

+

Properties#

+ +

Properties#

+

component#

+

component: ComponentType<any>

+
+

default#

+

Optional default: boolean

+
+

exact#

+

Optional exact: boolean

+
+

routePath#

+

routePath: string

+
+

title#

+

title: ReactNode

+
+

url#

+

Optional url: string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.TabProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.TabProps/index.html new file mode 100644 index 0000000000..2bb1e650f8 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.TabProps/index.html @@ -0,0 +1,3071 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: TabProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: TabProps<D>#

+

Renderer.Component.TabProps

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Dany
+

Hierarchy#

+
    +
  • DOMAttributes<HTMLElement>
  • +
+

TabProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

active#

+

Optional active: boolean

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

DOMAttributes.children

+
+

className#

+

Optional className: string

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

DOMAttributes.dangerouslySetInnerHTML

+
+

disabled#

+

Optional disabled: boolean

+
+

icon#

+

Optional icon: ReactNode

+
+

id#

+

Optional id: string

+
+

label#

+

Optional label: ReactNode

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<HTMLElement>

+

Inherited from#

+

DOMAttributes.onWheelCapture

+
+

value#

+

value: D

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.TableCellProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.TableCellProps/index.html new file mode 100644 index 0000000000..f5cf99c2a2 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.TableCellProps/index.html @@ -0,0 +1,3157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: TableCellProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: TableCellProps#

+

Renderer.Component.TableCellProps

+

Hierarchy#

+
    +
  • DOMAttributes<HTMLDivElement>
  • +
+

TableCellProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

_nowrap#

+

Optional _nowrap: boolean

+

internal +indicator, might come from parent , don't use this prop outside (!)

+
+

_sorting#

+

Optional _sorting: Partial<TableSortParams>

+

internal

+
+

checkbox#

+

Optional checkbox: boolean

+

render cell with a checkbox

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.DOMAttributes.children

+
+

className#

+

Optional className: string

+

Any css class names for this table cell. Only used if title is a "simple" react node

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.DOMAttributes.dangerouslySetInnerHTML

+
+

id#

+

Optional id: string

+

used for configuration visibility of columns

+
+

isChecked#

+

Optional isChecked: boolean

+

mark checkbox as checked or not

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWheelCapture

+
+

renderBoolean#

+

Optional renderBoolean: boolean

+

show "true" or "false" for all of the children elements are "typeof boolean"

+
+

scrollable#

+

Optional scrollable: boolean

+

content inside could be scrolled

+
+

showWithColumn#

+

Optional showWithColumn: string

+

id of the column which follow same visibility rules

+
+

sortBy#

+

Optional sortBy: string

+

column name, must be same as key in sortable object

+
+

title#

+

Optional title: ReactNode

+

The actual value of the cell

+

Methods#

+

_sort#

+

Optional _sort(sortBy): void

+

internal

+

Parameters#

+
+ + + + + + + + + + + + +
NameType
sortBystring
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.TableHeadProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.TableHeadProps/index.html new file mode 100644 index 0000000000..103885a8e8 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.TableHeadProps/index.html @@ -0,0 +1,3016 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: TableHeadProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: TableHeadProps#

+

Renderer.Component.TableHeadProps

+

Hierarchy#

+
    +
  • DOMAttributes<HTMLDivElement>
  • +
+

TableHeadProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.DOMAttributes.children

+
+

className#

+

Optional className: string

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.DOMAttributes.dangerouslySetInnerHTML

+
+

nowrap#

+

Optional nowrap: boolean

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWheelCapture

+
+

showTopLine#

+

Optional showTopLine: boolean

+
+

sticky#

+

Optional sticky: boolean

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.TableProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.TableProps/index.html new file mode 100644 index 0000000000..89eadfddf3 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.TableProps/index.html @@ -0,0 +1,3320 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: TableProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: TableProps<Item>#

+

Renderer.Component.TableProps

+

Type parameters#

+ + + + + + + + + + + +
Name
Item
+

Hierarchy#

+
    +
  • DOMAttributes<HTMLDivElement>
  • +
+

TableProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

autoSize#

+

Optional autoSize: boolean

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.DOMAttributes.children

+
+

className#

+

Optional className: string

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.DOMAttributes.dangerouslySetInnerHTML

+
+

items#

+

Optional items: Item[]

+
+

noItems#

+

Optional noItems: ReactNode

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWheelCapture

+
+

rowLineHeight#

+

Optional rowLineHeight: number

+

Row line height in pixels

+
+

rowPadding#

+

Optional rowPadding: number

+

Row padding in pixels

+
+

scrollable#

+

Optional scrollable: boolean

+
+

selectable#

+

Optional selectable: boolean

+
+

selectedItemId#

+

Optional selectedItemId: string

+
+

sortByDefault#

+

Optional sortByDefault: Partial<TableSortParams>

+
+

sortSyncWithUrl#

+

Optional sortSyncWithUrl: boolean

+
+

sortable#

+

Optional sortable: TableSortCallbacks<Item>

+

Define sortable callbacks for every column in

+

sortitem argument in the callback is an object, provided in

+
+

storageKey#

+

Optional storageKey: string

+
+

tableId#

+

Optional tableId: string

+
+

virtual#

+

Optional virtual: boolean

+

Use virtual list component to render only visible rows. By default uses a +auto sizer to fill available height

+
+

virtualHeight#

+

Optional virtualHeight: number

+

Only used when virtual is true. Sets the virtual list to be a fixed height. +Needed when used in contexts that already have a parent component that +is overflow-y: scroll,

+

Methods#

+

customRowHeights#

+

Optional customRowHeights(item, lineHeight, paddings): number

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
itemItem
lineHeightnumber
paddingsnumber
+

Returns#

+

number

+
+

getTableRow#

+

Optional getTableRow(uid): ReactElement<TableRowProps, string | JSXElementConstructor<any>>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
uidstring
+

Returns#

+

ReactElement<TableRowProps, string | JSXElementConstructor<any>>

+
+

onSort#

+

Optional onSort(params): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
paramsTableSortParams
+

Returns#

+

void

+
+

renderRow#

+

Optional renderRow(item): ReactElement<TableRowProps, string | JSXElementConstructor<any>>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
itemItem
+

Returns#

+

ReactElement<TableRowProps, string | JSXElementConstructor<any>>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.TableRowProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.TableRowProps/index.html new file mode 100644 index 0000000000..1ad39aa04e --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.TableRowProps/index.html @@ -0,0 +1,3049 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: TableRowProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: TableRowProps#

+

Renderer.Component.TableRowProps

+

Hierarchy#

+
    +
  • DOMAttributes<HTMLDivElement>
  • +
+

TableRowProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.DOMAttributes.children

+
+

className#

+

Optional className: string

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.DOMAttributes.dangerouslySetInnerHTML

+
+

disabled#

+

Optional disabled: boolean

+
+

nowrap#

+

Optional nowrap: boolean

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<HTMLDivElement>

+

Inherited from#

+

React.DOMAttributes.onWheelCapture

+
+

searchItem#

+

Optional searchItem: any

+
+

selected#

+

Optional selected: boolean

+
+

sortItem#

+

Optional sortItem: any

+
+

style#

+

Optional style: CSSProperties

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.TabsProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.TabsProps/index.html new file mode 100644 index 0000000000..fed0b7ed7a --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.TabsProps/index.html @@ -0,0 +1,3122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: TabsProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: TabsProps<D>#

+

Renderer.Component.TabsProps

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Dany
+

Hierarchy#

+
    +
  • +

    TabsContextValue<D>

    +
  • +
  • +

    Omit<DOMAttributes<HTMLElement>, "onChange">

    +
  • +
+

TabsProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

autoFocus#

+

Optional autoFocus: boolean

+

Inherited from#

+

TabsContextValue.autoFocus

+
+

center#

+

Optional center: boolean

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

Omit.children

+
+

className#

+

Optional className: string

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

Omit.dangerouslySetInnerHTML

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCanPlayThroughCapture

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<HTMLElement>

+

Inherited from#

+

Omit.onWheelCapture

+
+

scrollable#

+

Optional scrollable: boolean

+
+

value#

+

Optional value: D

+

Inherited from#

+

TabsContextValue.value

+
+

withBorder#

+

Optional withBorder: boolean

+

Inherited from#

+

TabsContextValue.withBorder

+
+

wrap#

+

Optional wrap: boolean

+

Methods#

+

onChange#

+

Optional onChange(value): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
valueD
+

Returns#

+

void

+

Inherited from#

+

TabsContextValue.onChange

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipContentFormatters/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipContentFormatters/index.html new file mode 100644 index 0000000000..0d96ba1545 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipContentFormatters/index.html @@ -0,0 +1,894 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: TooltipContentFormatters - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: TooltipContentFormatters#

+

Renderer.Component.TooltipContentFormatters

+

Table of contents#

+

Properties#

+ +

Properties#

+

narrow#

+

Optional narrow: boolean

+
+

nowrap#

+

Optional nowrap: boolean

+
+

small#

+

Optional small: boolean

+
+

tableView#

+

Optional tableView: boolean

+
+

warning#

+

Optional warning: boolean

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipDecoratorProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipDecoratorProps/index.html new file mode 100644 index 0000000000..bfb676add4 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipDecoratorProps/index.html @@ -0,0 +1,879 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: TooltipDecoratorProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: TooltipDecoratorProps#

+

Renderer.Component.TooltipDecoratorProps

+

Hierarchy#

+
    +
  • TooltipDecoratorProps
  • +
+

ButtonProps

+

IconProps

+

BadgeProps

+

LineProgressProps

+

StatusBrickProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

tooltip#

+

Optional tooltip: ReactNode | Omit<TooltipProps, "targetId">

+
+

tooltipOverrideDisabled#

+

Optional tooltipOverrideDisabled: boolean

+

forces tooltip to detect the target's parent for mouse events. This is +useful for displaying tooltips even when the target is "disabled"

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipProps/index.html new file mode 100644 index 0000000000..5029a18288 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.TooltipProps/index.html @@ -0,0 +1,949 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: TooltipProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: TooltipProps#

+

Renderer.Component.TooltipProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

children#

+

Optional children: ReactNode

+
+

className#

+

Optional className: IClassName

+
+

formatters#

+

Optional formatters: TooltipContentFormatters

+
+

offset#

+

Optional offset: number

+
+

preferredPositions#

+

Optional preferredPositions: TooltipPosition | TooltipPosition[]

+
+

style#

+

Optional style: CSSProperties

+
+

targetId#

+

targetId: string

+
+

tooltipOnParentHover#

+

Optional tooltipOnParentHover: boolean

+
+

usePortal#

+

Optional usePortal: boolean

+
+

visible#

+

Optional visible: boolean

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.WizardLayoutProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.WizardLayoutProps/index.html new file mode 100644 index 0000000000..685e6e813c --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.WizardLayoutProps/index.html @@ -0,0 +1,3049 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: WizardLayoutProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: WizardLayoutProps#

+

Renderer.Component.WizardLayoutProps

+

Hierarchy#

+
    +
  • DOMAttributes<any>
  • +
+

WizardLayoutProps

+

Table of contents#

+

Properties#

+ +

Properties#

+

centered#

+

Optional centered: boolean

+
+

children#

+

Optional children: ReactNode

+

Inherited from#

+

React.DOMAttributes.children

+
+

className#

+

Optional className: IClassName

+
+

contentClass#

+

Optional contentClass: IClassName

+
+

dangerouslySetInnerHTML#

+

Optional dangerouslySetInnerHTML: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
__htmlstring
+

Inherited from#

+

React.DOMAttributes.dangerouslySetInnerHTML

+
+ +

Optional header: ReactNode

+
+

headerClass#

+

Optional headerClass: IClassName

+
+

infoPanel#

+

Optional infoPanel: ReactNode

+
+

infoPanelClass#

+

Optional infoPanelClass: IClassName

+
+

onAbort#

+

Optional onAbort: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAbort

+
+

onAbortCapture#

+

Optional onAbortCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAbortCapture

+
+

onAnimationEnd#

+

Optional onAnimationEnd: AnimationEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAnimationEnd

+
+

onAnimationEndCapture#

+

Optional onAnimationEndCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAnimationEndCapture

+
+

onAnimationIteration#

+

Optional onAnimationIteration: AnimationEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAnimationIteration

+
+

onAnimationIterationCapture#

+

Optional onAnimationIterationCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAnimationIterationCapture

+
+

onAnimationStart#

+

Optional onAnimationStart: AnimationEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAnimationStart

+
+

onAnimationStartCapture#

+

Optional onAnimationStartCapture: AnimationEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAnimationStartCapture

+
+

onAuxClick#

+

Optional onAuxClick: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAuxClick

+
+

onAuxClickCapture#

+

Optional onAuxClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onAuxClickCapture

+
+

onBeforeInput#

+

Optional onBeforeInput: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onBeforeInput

+
+

onBeforeInputCapture#

+

Optional onBeforeInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onBeforeInputCapture

+
+

onBlur#

+

Optional onBlur: FocusEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onBlur

+
+

onBlurCapture#

+

Optional onBlurCapture: FocusEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onBlurCapture

+
+

onCanPlay#

+

Optional onCanPlay: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCanPlay

+
+

onCanPlayCapture#

+

Optional onCanPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCanPlayCapture

+
+

onCanPlayThrough#

+

Optional onCanPlayThrough: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCanPlayThrough

+
+

onCanPlayThroughCapture#

+

Optional onCanPlayThroughCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCanPlayThroughCapture

+
+

onChange#

+

Optional onChange: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onChange

+
+

onChangeCapture#

+

Optional onChangeCapture: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onChangeCapture

+
+

onClick#

+

Optional onClick: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onClick

+
+

onClickCapture#

+

Optional onClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onClickCapture

+
+

onCompositionEnd#

+

Optional onCompositionEnd: CompositionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCompositionEnd

+
+

onCompositionEndCapture#

+

Optional onCompositionEndCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCompositionEndCapture

+
+

onCompositionStart#

+

Optional onCompositionStart: CompositionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCompositionStart

+
+

onCompositionStartCapture#

+

Optional onCompositionStartCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCompositionStartCapture

+
+

onCompositionUpdate#

+

Optional onCompositionUpdate: CompositionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCompositionUpdate

+
+

onCompositionUpdateCapture#

+

Optional onCompositionUpdateCapture: CompositionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCompositionUpdateCapture

+
+

onContextMenu#

+

Optional onContextMenu: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onContextMenu

+
+

onContextMenuCapture#

+

Optional onContextMenuCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onContextMenuCapture

+
+

onCopy#

+

Optional onCopy: ClipboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCopy

+
+

onCopyCapture#

+

Optional onCopyCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCopyCapture

+
+

onCut#

+

Optional onCut: ClipboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCut

+
+

onCutCapture#

+

Optional onCutCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onCutCapture

+
+

onDoubleClick#

+

Optional onDoubleClick: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDoubleClick

+
+

onDoubleClickCapture#

+

Optional onDoubleClickCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDoubleClickCapture

+
+

onDrag#

+

Optional onDrag: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDrag

+
+

onDragCapture#

+

Optional onDragCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragCapture

+
+

onDragEnd#

+

Optional onDragEnd: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragEnd

+
+

onDragEndCapture#

+

Optional onDragEndCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragEndCapture

+
+

onDragEnter#

+

Optional onDragEnter: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragEnter

+
+

onDragEnterCapture#

+

Optional onDragEnterCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragEnterCapture

+
+

onDragExit#

+

Optional onDragExit: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragExit

+
+

onDragExitCapture#

+

Optional onDragExitCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragExitCapture

+
+

onDragLeave#

+

Optional onDragLeave: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragLeave

+
+

onDragLeaveCapture#

+

Optional onDragLeaveCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragLeaveCapture

+
+

onDragOver#

+

Optional onDragOver: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragOver

+
+

onDragOverCapture#

+

Optional onDragOverCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragOverCapture

+
+

onDragStart#

+

Optional onDragStart: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragStart

+
+

onDragStartCapture#

+

Optional onDragStartCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDragStartCapture

+
+

onDrop#

+

Optional onDrop: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDrop

+
+

onDropCapture#

+

Optional onDropCapture: DragEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDropCapture

+
+

onDurationChange#

+

Optional onDurationChange: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDurationChange

+
+

onDurationChangeCapture#

+

Optional onDurationChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onDurationChangeCapture

+
+

onEmptied#

+

Optional onEmptied: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onEmptied

+
+

onEmptiedCapture#

+

Optional onEmptiedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onEmptiedCapture

+
+

onEncrypted#

+

Optional onEncrypted: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onEncrypted

+
+

onEncryptedCapture#

+

Optional onEncryptedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onEncryptedCapture

+
+

onEnded#

+

Optional onEnded: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onEnded

+
+

onEndedCapture#

+

Optional onEndedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onEndedCapture

+
+

onError#

+

Optional onError: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onError

+
+

onErrorCapture#

+

Optional onErrorCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onErrorCapture

+
+

onFocus#

+

Optional onFocus: FocusEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onFocus

+
+

onFocusCapture#

+

Optional onFocusCapture: FocusEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onFocusCapture

+
+

onGotPointerCapture#

+

Optional onGotPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onGotPointerCapture

+
+

onGotPointerCaptureCapture#

+

Optional onGotPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onGotPointerCaptureCapture

+
+

onInput#

+

Optional onInput: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onInput

+
+

onInputCapture#

+

Optional onInputCapture: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onInputCapture

+
+

onInvalid#

+

Optional onInvalid: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onInvalid

+
+

onInvalidCapture#

+

Optional onInvalidCapture: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onInvalidCapture

+
+

onKeyDown#

+

Optional onKeyDown: KeyboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onKeyDown

+
+

onKeyDownCapture#

+

Optional onKeyDownCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onKeyDownCapture

+
+

onKeyPress#

+

Optional onKeyPress: KeyboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onKeyPress

+
+

onKeyPressCapture#

+

Optional onKeyPressCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onKeyPressCapture

+
+

onKeyUp#

+

Optional onKeyUp: KeyboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onKeyUp

+
+

onKeyUpCapture#

+

Optional onKeyUpCapture: KeyboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onKeyUpCapture

+
+

onLoad#

+

Optional onLoad: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoad

+
+

onLoadCapture#

+

Optional onLoadCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadCapture

+
+

onLoadStart#

+

Optional onLoadStart: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadStart

+
+

onLoadStartCapture#

+

Optional onLoadStartCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadStartCapture

+
+

onLoadedData#

+

Optional onLoadedData: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadedData

+
+

onLoadedDataCapture#

+

Optional onLoadedDataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadedDataCapture

+
+

onLoadedMetadata#

+

Optional onLoadedMetadata: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadedMetadata

+
+

onLoadedMetadataCapture#

+

Optional onLoadedMetadataCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLoadedMetadataCapture

+
+

onLostPointerCapture#

+

Optional onLostPointerCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLostPointerCapture

+
+

onLostPointerCaptureCapture#

+

Optional onLostPointerCaptureCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onLostPointerCaptureCapture

+
+

onMouseDown#

+

Optional onMouseDown: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseDown

+
+

onMouseDownCapture#

+

Optional onMouseDownCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseDownCapture

+
+

onMouseEnter#

+

Optional onMouseEnter: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseEnter

+
+

onMouseLeave#

+

Optional onMouseLeave: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseLeave

+
+

onMouseMove#

+

Optional onMouseMove: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseMove

+
+

onMouseMoveCapture#

+

Optional onMouseMoveCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseMoveCapture

+
+

onMouseOut#

+

Optional onMouseOut: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseOut

+
+

onMouseOutCapture#

+

Optional onMouseOutCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseOutCapture

+
+

onMouseOver#

+

Optional onMouseOver: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseOver

+
+

onMouseOverCapture#

+

Optional onMouseOverCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseOverCapture

+
+

onMouseUp#

+

Optional onMouseUp: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseUp

+
+

onMouseUpCapture#

+

Optional onMouseUpCapture: MouseEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onMouseUpCapture

+
+

onPaste#

+

Optional onPaste: ClipboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPaste

+
+

onPasteCapture#

+

Optional onPasteCapture: ClipboardEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPasteCapture

+
+

onPause#

+

Optional onPause: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPause

+
+

onPauseCapture#

+

Optional onPauseCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPauseCapture

+
+

onPlay#

+

Optional onPlay: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPlay

+
+

onPlayCapture#

+

Optional onPlayCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPlayCapture

+
+

onPlaying#

+

Optional onPlaying: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPlaying

+
+

onPlayingCapture#

+

Optional onPlayingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPlayingCapture

+
+

onPointerCancel#

+

Optional onPointerCancel: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerCancel

+
+

onPointerCancelCapture#

+

Optional onPointerCancelCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerCancelCapture

+
+

onPointerDown#

+

Optional onPointerDown: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerDown

+
+

onPointerDownCapture#

+

Optional onPointerDownCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerDownCapture

+
+

onPointerEnter#

+

Optional onPointerEnter: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerEnter

+
+

onPointerEnterCapture#

+

Optional onPointerEnterCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerEnterCapture

+
+

onPointerLeave#

+

Optional onPointerLeave: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerLeave

+
+

onPointerLeaveCapture#

+

Optional onPointerLeaveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerLeaveCapture

+
+

onPointerMove#

+

Optional onPointerMove: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerMove

+
+

onPointerMoveCapture#

+

Optional onPointerMoveCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerMoveCapture

+
+

onPointerOut#

+

Optional onPointerOut: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerOut

+
+

onPointerOutCapture#

+

Optional onPointerOutCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerOutCapture

+
+

onPointerOver#

+

Optional onPointerOver: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerOver

+
+

onPointerOverCapture#

+

Optional onPointerOverCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerOverCapture

+
+

onPointerUp#

+

Optional onPointerUp: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerUp

+
+

onPointerUpCapture#

+

Optional onPointerUpCapture: PointerEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onPointerUpCapture

+
+

onProgress#

+

Optional onProgress: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onProgress

+
+

onProgressCapture#

+

Optional onProgressCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onProgressCapture

+
+

onRateChange#

+

Optional onRateChange: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onRateChange

+
+

onRateChangeCapture#

+

Optional onRateChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onRateChangeCapture

+
+

onReset#

+

Optional onReset: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onReset

+
+

onResetCapture#

+

Optional onResetCapture: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onResetCapture

+
+

onScroll#

+

Optional onScroll: UIEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onScroll

+
+

onScrollCapture#

+

Optional onScrollCapture: UIEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onScrollCapture

+
+

onSeeked#

+

Optional onSeeked: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSeeked

+
+

onSeekedCapture#

+

Optional onSeekedCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSeekedCapture

+
+

onSeeking#

+

Optional onSeeking: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSeeking

+
+

onSeekingCapture#

+

Optional onSeekingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSeekingCapture

+
+

onSelect#

+

Optional onSelect: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSelect

+
+

onSelectCapture#

+

Optional onSelectCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSelectCapture

+
+

onStalled#

+

Optional onStalled: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onStalled

+
+

onStalledCapture#

+

Optional onStalledCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onStalledCapture

+
+

onSubmit#

+

Optional onSubmit: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSubmit

+
+

onSubmitCapture#

+

Optional onSubmitCapture: FormEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSubmitCapture

+
+

onSuspend#

+

Optional onSuspend: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSuspend

+
+

onSuspendCapture#

+

Optional onSuspendCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onSuspendCapture

+
+

onTimeUpdate#

+

Optional onTimeUpdate: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTimeUpdate

+
+

onTimeUpdateCapture#

+

Optional onTimeUpdateCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTimeUpdateCapture

+
+

onTouchCancel#

+

Optional onTouchCancel: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchCancel

+
+

onTouchCancelCapture#

+

Optional onTouchCancelCapture: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchCancelCapture

+
+

onTouchEnd#

+

Optional onTouchEnd: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchEnd

+
+

onTouchEndCapture#

+

Optional onTouchEndCapture: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchEndCapture

+
+

onTouchMove#

+

Optional onTouchMove: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchMove

+
+

onTouchMoveCapture#

+

Optional onTouchMoveCapture: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchMoveCapture

+
+

onTouchStart#

+

Optional onTouchStart: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchStart

+
+

onTouchStartCapture#

+

Optional onTouchStartCapture: TouchEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTouchStartCapture

+
+

onTransitionEnd#

+

Optional onTransitionEnd: TransitionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTransitionEnd

+
+

onTransitionEndCapture#

+

Optional onTransitionEndCapture: TransitionEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onTransitionEndCapture

+
+

onVolumeChange#

+

Optional onVolumeChange: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onVolumeChange

+
+

onVolumeChangeCapture#

+

Optional onVolumeChangeCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onVolumeChangeCapture

+
+

onWaiting#

+

Optional onWaiting: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onWaiting

+
+

onWaitingCapture#

+

Optional onWaitingCapture: ReactEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onWaitingCapture

+
+

onWheel#

+

Optional onWheel: WheelEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onWheel

+
+

onWheelCapture#

+

Optional onWheelCapture: WheelEventHandler<any>

+

Inherited from#

+

React.DOMAttributes.onWheelCapture

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.WizardProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.WizardProps/index.html new file mode 100644 index 0000000000..bfd268fb2c --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.WizardProps/index.html @@ -0,0 +1,1036 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: WizardProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: WizardProps#

+

Renderer.Component.WizardProps

+

Hierarchy#

+
    +
  • WizardCommonProps
  • +
+

WizardProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

className#

+

Optional className: string

+
+

data#

+

Optional data: Partial<any>

+

Inherited from#

+

WizardCommonProps.data

+
+ +

Optional header: ReactNode

+
+

hideSteps#

+

Optional hideSteps: boolean

+

Inherited from#

+

WizardCommonProps.hideSteps

+
+

step#

+

Optional step: number

+
+

title#

+

Optional title: string

+

Methods#

+

done#

+

Optional done(): void

+

Returns#

+

void

+

Inherited from#

+

WizardCommonProps.done

+
+

onChange#

+

Optional onChange(step): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
stepnumber
+

Returns#

+

void

+
+

reset#

+

Optional reset(): void

+

Returns#

+

void

+

Inherited from#

+

WizardCommonProps.reset

+
+

save#

+

Optional save(data, callback?): void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
dataPartial<D>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

WizardCommonProps.save

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Component.WizardStepProps/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Component.WizardStepProps/index.html new file mode 100644 index 0000000000..af6cd50645 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Component.WizardStepProps/index.html @@ -0,0 +1,1273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: WizardStepProps - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: WizardStepProps<D>#

+

Renderer.Component.WizardStepProps

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Dany
+

Hierarchy#

+
    +
  • WizardCommonProps<D>
  • +
+

WizardStepProps

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

afterContent#

+

Optional afterContent: ReactNode

+
+

beforeContent#

+

Optional beforeContent: ReactNode

+
+

className#

+

Optional className: string | object

+
+

contentClass#

+

Optional contentClass: string | object

+
+

customButtons#

+

Optional customButtons: ReactNode

+
+

data#

+

Optional data: Partial<D>

+

Inherited from#

+

WizardCommonProps.data

+
+

disabledNext#

+

Optional disabledNext: boolean

+
+

hideBackBtn#

+

Optional hideBackBtn: boolean

+
+

hideNextBtn#

+

Optional hideNextBtn: boolean

+
+

hideSteps#

+

Optional hideSteps: boolean

+

Inherited from#

+

WizardCommonProps.hideSteps

+
+

loading#

+

Optional loading: boolean

+
+

moreButtons#

+

Optional moreButtons: ReactNode

+
+

nextLabel#

+

Optional nextLabel: ReactNode

+
+

noValidate#

+

Optional noValidate: boolean

+
+

prevLabel#

+

Optional prevLabel: ReactNode

+
+

scrollable#

+

Optional scrollable: boolean

+
+

skip#

+

Optional skip: boolean

+
+

step#

+

Optional step: number

+
+

title#

+

Optional title: string

+
+

waiting#

+

Optional waiting: boolean

+
+

wizard#

+

Optional wizard: Wizard

+

Methods#

+

done#

+

Optional done(): void

+

Returns#

+

void

+

Inherited from#

+

WizardCommonProps.done

+
+

first#

+

Optional first(): void

+

Returns#

+

void

+
+

isFirst#

+

Optional isFirst(): boolean

+

Returns#

+

boolean

+
+

isLast#

+

Optional isLast(): boolean

+

Returns#

+

boolean

+
+

last#

+

Optional last(): void

+

Returns#

+

void

+
+

next#

+

Optional next(): boolean | void | Promise<any>

+

Returns#

+

boolean | void | Promise<any>

+
+

prev#

+

Optional prev(): void

+

Returns#

+

void

+
+

reset#

+

Optional reset(): void

+

Returns#

+

void

+

Inherited from#

+

WizardCommonProps.reset

+
+

save#

+

Optional save(data, callback?): void

+

Parameters#

+ + + + + + + + + + + + + + + + + +
NameType
dataPartial<D>
callback?() => void
+

Returns#

+

void

+

Inherited from#

+

WizardCommonProps.save

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IKubeApiCluster/index.html b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IKubeApiCluster/index.html new file mode 100644 index 0000000000..373372d69d --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IKubeApiCluster/index.html @@ -0,0 +1,880 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: IKubeApiCluster - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.ILocalKubeApiConfig/index.html b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.ILocalKubeApiConfig/index.html new file mode 100644 index 0000000000..6a4b4c3271 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.ILocalKubeApiConfig/index.html @@ -0,0 +1,877 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: ILocalKubeApiConfig - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: ILocalKubeApiConfig#

+

Renderer.K8sApi.ILocalKubeApiConfig

+

Hierarchy#

+
    +
  • ILocalKubeApiConfig
  • +
+

IKubeApiCluster

+

Table of contents#

+

Properties#

+ +

Properties#

+

metadata#

+

metadata: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
uidstring
+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IPodContainer/index.html b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IPodContainer/index.html new file mode 100644 index 0000000000..94a02f2226 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IPodContainer/index.html @@ -0,0 +1,1035 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: IPodContainer - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: IPodContainer#

+

Renderer.K8sApi.IPodContainer

+

Hierarchy#

+
    +
  • Partial<Record<PodContainerProbe, IContainerProbe>>
  • +
+

IPodContainer

+

Table of contents#

+

Properties#

+ +

Properties#

+

args#

+

Optional args: string[]

+
+

command#

+

Optional command: string[]

+
+

env#

+

Optional env: { name: string ; value?: string ; valueFrom?: { configMapKeyRef?: { key: string ; name: string } ; fieldRef?: { apiVersion: string ; fieldPath: string } ; secretKeyRef?: { key: string ; name: string } } }[]

+
+

envFrom#

+

Optional envFrom: { configMapRef?: { name: string } ; secretRef?: { name: string } }[]

+
+

image#

+

image: string

+
+

imagePullPolicy#

+

imagePullPolicy: string

+
+

livenessProbe#

+

livenessProbe: IContainerProbe

+

Inherited from#

+

Partial.livenessProbe

+
+

name#

+

name: string

+
+

ports#

+

Optional ports: { containerPort: number ; name?: string ; protocol: string }[]

+
+

readinessProbe#

+

readinessProbe: IContainerProbe

+

Inherited from#

+

Partial.readinessProbe

+
+

resources#

+

Optional resources: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
limitsObject
limits.cpustring
limits.memorystring
requestsObject
requests.cpustring
requests.memorystring
+
+

startupProbe#

+

startupProbe: IContainerProbe

+

Inherited from#

+

Partial.startupProbe

+
+

volumeMounts#

+

Optional volumeMounts: { mountPath: string ; name: string ; readOnly: boolean }[]

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IPodContainerStatus/index.html b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IPodContainerStatus/index.html new file mode 100644 index 0000000000..97c2b53d81 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IPodContainerStatus/index.html @@ -0,0 +1,938 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: IPodContainerStatus - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: IPodContainerStatus#

+

Renderer.K8sApi.IPodContainerStatus

+

Table of contents#

+

Properties#

+ +

Properties#

+

containerID#

+

Optional containerID: string

+
+

image#

+

image: string

+
+

imageID#

+

imageID: string

+
+

lastState#

+

Optional lastState: ContainerState

+
+

name#

+

name: string

+
+

ready#

+

ready: boolean

+
+

restartCount#

+

restartCount: number

+
+

started#

+

Optional started: boolean

+
+

state#

+

Optional state: ContainerState

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IRemoteKubeApiConfig/index.html b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IRemoteKubeApiConfig/index.html new file mode 100644 index 0000000000..742bfa2e2d --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.IRemoteKubeApiConfig/index.html @@ -0,0 +1,907 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: IRemoteKubeApiConfig - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: IRemoteKubeApiConfig#

+

Renderer.K8sApi.IRemoteKubeApiConfig

+

Table of contents#

+

Properties#

+ +

Properties#

+

cluster#

+

cluster: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
caData?string
serverstring
skipTLSVerify?boolean
+
+

user#

+

user: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
clientCertificateData?string
clientKeyData?string
token?string | () => Promise<string>
+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.ISecretRef/index.html b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.ISecretRef/index.html new file mode 100644 index 0000000000..5a3a4eea91 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.ISecretRef/index.html @@ -0,0 +1,861 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: ISecretRef - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: ISecretRef#

+

Renderer.K8sApi.ISecretRef

+

Table of contents#

+

Properties#

+ +

Properties#

+

key#

+

Optional key: string

+
+

name#

+

name: string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectMetadata/index.html b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectMetadata/index.html new file mode 100644 index 0000000000..08a9eb2fc0 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectMetadata/index.html @@ -0,0 +1,975 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectMetadata - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: KubeObjectMetadata#

+

Renderer.K8sApi.KubeObjectMetadata

+

Table of contents#

+

Properties#

+ +

Properties#

+

annotations#

+

Optional annotations: Object

+

Index signature#

+

▪ [annotation: string]: string

+
+

continue#

+

Optional continue: string

+
+

creationTimestamp#

+

creationTimestamp: string

+
+

deletionTimestamp#

+

Optional deletionTimestamp: string

+
+

finalizers#

+

Optional finalizers: string[]

+
+

labels#

+

Optional labels: Object

+

Index signature#

+

▪ [label: string]: string

+
+

name#

+

name: string

+
+

namespace#

+

Optional namespace: string

+
+

ownerReferences#

+

Optional ownerReferences: { apiVersion: string ; blockOwnerDeletion: boolean ; controller: boolean ; kind: string ; name: string ; uid: string }[]

+
+

resourceVersion#

+

resourceVersion: string

+
+ +

selfLink: string

+
+

uid#

+

uid: string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadAllParams/index.html b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadAllParams/index.html new file mode 100644 index 0000000000..6e9bb44687 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadAllParams/index.html @@ -0,0 +1,925 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectStoreLoadAllParams - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: KubeObjectStoreLoadAllParams#

+

Renderer.K8sApi.KubeObjectStoreLoadAllParams

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

merge#

+

Optional merge: boolean

+
+

namespaces#

+

Optional namespaces: string[]

+
+

reqInit#

+

Optional reqInit: RequestInit

+

Methods#

+

onLoadFailure#

+

Optional onLoadFailure(err): void

+

A function that is called when listing fails. If set then blocks errors +being rejected with

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errany
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadingParams/index.html b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadingParams/index.html new file mode 100644 index 0000000000..7964fac214 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreLoadingParams/index.html @@ -0,0 +1,914 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectStoreLoadingParams - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: KubeObjectStoreLoadingParams#

+

Renderer.K8sApi.KubeObjectStoreLoadingParams

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

namespaces#

+

namespaces: string[]

+
+

reqInit#

+

Optional reqInit: RequestInit

+

Methods#

+

onLoadFailure#

+

Optional onLoadFailure(err): void

+

A function that is called when listing fails. If set then blocks errors +being rejected with

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errany
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreSubscribeParams/index.html b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreSubscribeParams/index.html new file mode 100644 index 0000000000..9b432228f4 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeObjectStoreSubscribeParams/index.html @@ -0,0 +1,904 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeObjectStoreSubscribeParams - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: KubeObjectStoreSubscribeParams#

+

Renderer.K8sApi.KubeObjectStoreSubscribeParams

+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

abortController#

+

Optional abortController: AbortController

+

An optional parent abort controller

+

Methods#

+

onLoadFailure#

+

Optional onLoadFailure(err): void

+

A function that is called when listing fails. If set then blocks errors +being rejected with

+

Parameters#

+ + + + + + + + + + + + + +
NameType
errany
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeStatusData/index.html b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeStatusData/index.html new file mode 100644 index 0000000000..d1f3f56cd5 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.K8sApi.KubeStatusData/index.html @@ -0,0 +1,894 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: KubeStatusData - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: KubeStatusData#

+

Renderer.K8sApi.KubeStatusData

+

Table of contents#

+

Properties#

+ +

Properties#

+

apiVersion#

+

apiVersion: string

+
+

code#

+

code: number

+
+

kind#

+

kind: string

+
+

message#

+

Optional message: string

+
+

reason#

+

Optional reason: string

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Navigation.PageParamInit/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Navigation.PageParamInit/index.html new file mode 100644 index 0000000000..83e38f7431 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Navigation.PageParamInit/index.html @@ -0,0 +1,973 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: PageParamInit - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: PageParamInit<V>#

+

Renderer.Navigation.PageParamInit

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Vany
+

Table of contents#

+

Properties#

+ +

Methods#

+ +

Properties#

+

defaultValue#

+

Optional defaultValue: V

+
+

name#

+

name: string

+
+

prefix#

+

Optional prefix: string

+

Methods#

+

parse#

+

Optional parse(value): V

+

Parameters#

+ + + + + + + + + + + + + +
NameType
valuestring | string[]
+

Returns#

+

V

+
+

stringify#

+

Optional stringify(value): string | string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
valueV
+

Returns#

+

string | string[]

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/interfaces/Renderer.Navigation.URLParams/index.html b/v5.4.0/extensions/api/interfaces/Renderer.Navigation.URLParams/index.html new file mode 100644 index 0000000000..6b803be546 --- /dev/null +++ b/v5.4.0/extensions/api/interfaces/Renderer.Navigation.URLParams/index.html @@ -0,0 +1,898 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Interface: URLParams - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Interface: URLParams<P, Q>#

+

Renderer.Navigation.URLParams

+

Type parameters#

+ + + + + + + + + + + + + + + + + +
NameType
Pextends object{}
Qextends object{}
+

Table of contents#

+

Properties#

+ +

Properties#

+

fragment#

+

Optional fragment: string

+
+

params#

+

Optional params: P

+
+

query#

+

Optional query: Q

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Common.App.Preferences/index.html b/v5.4.0/extensions/api/modules/Common.App.Preferences/index.html new file mode 100644 index 0000000000..87b981c767 --- /dev/null +++ b/v5.4.0/extensions/api/modules/Common.App.Preferences/index.html @@ -0,0 +1,853 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Preferences - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Namespace: Preferences#

+

Common.App.Preferences

+

Table of contents#

+

Functions#

+ +

Functions#

+

getKubectlPath#

+

getKubectlPath(): string | undefined

+

Get the configured kubectl binaries path.

+

Returns#

+

string | undefined

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Common.App/index.html b/v5.4.0/extensions/api/modules/Common.App/index.html new file mode 100644 index 0000000000..a76107a2ea --- /dev/null +++ b/v5.4.0/extensions/api/modules/Common.App/index.html @@ -0,0 +1,989 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: App - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Namespace: App#

+

Common.App

+

Table of contents#

+

Namespaces#

+ +

Variables#

+ +

Functions#

+ +

Variables#

+

appName#

+

appName: string

+
+

isLinux#

+

isLinux: boolean

+
+

isMac#

+

isMac: boolean

+
+

isSnap#

+

isSnap: boolean = !!process.env.SNAP

+
+

isWindows#

+

isWindows: boolean

+
+

issuesTrackerUrl#

+

issuesTrackerUrl: string

+
+

slackUrl#

+

slackUrl: string

+
+

version#

+

version: string

+

Functions#

+

getEnabledExtensions#

+

Const getEnabledExtensions(...args): string[]

+

Parameters#

+ + + + + + + + + + + + + +
NameType
...args[]
+

Returns#

+

string[]

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Common.Catalog/index.html b/v5.4.0/extensions/api/modules/Common.Catalog/index.html new file mode 100644 index 0000000000..fc5f3b3a88 --- /dev/null +++ b/v5.4.0/extensions/api/modules/Common.Catalog/index.html @@ -0,0 +1,1053 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Catalog - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Namespace: Catalog#

+

Common.Catalog

+

Table of contents#

+

Classes#

+ +

Interfaces#

+ +

Type aliases#

+ +

Variables#

+ +

Type aliases#

+

AddMenuFilter#

+

Ƭ AddMenuFilter: (menu: CatalogEntityAddMenu) => any

+

Type declaration#

+

▸ (menu): any

+

If the filter return a thruthy value, the menu item is displayed

+
Parameters#
+ + + + + + + + + + + + + +
NameType
menuCatalogEntityAddMenu
+
Returns#
+

any

+
+

CatalogEntityConstructor#

+

Ƭ CatalogEntityConstructor<Entity>: (data: CatalogEntityData<ExtractEntityMetadataType<Entity>, ExtractEntityStatusType<Entity>, ExtractEntitySpecType<Entity>>) => Entity

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Entityextends CatalogEntity
+

Type declaration#

+

• (data)

+
Parameters#
+ + + + + + + + + + + + + +
NameType
dataCatalogEntityData<ExtractEntityMetadataType<Entity>, ExtractEntityStatusType<Entity>, ExtractEntitySpecType<Entity>>
+
+

CatalogEntitySpec#

+

Ƭ CatalogEntitySpec: Record<string, any>

+
+

KubernetesClusterStatusPhase#

+

Ƭ KubernetesClusterStatusPhase: "connected" | "connecting" | "disconnected" | "deleting"

+

deprecated This is no longer used as it is incorrect. Other sources can add more values

+
+

WebLinkSpec#

+

Ƭ WebLinkSpec: Object

+

Type declaration#

+ + + + + + + + + + + + + +
NameType
urlstring
+
+

WebLinkStatusPhase#

+

Ƭ WebLinkStatusPhase: "available" | "unavailable"

+

Variables#

+

kubernetesClusterCategory#

+

kubernetesClusterCategory: KubernetesClusterCategory

+

Copyright (c) OpenLens Authors. All rights reserved. +Licensed under MIT License. See LICENSE in root directory for more information.

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Common.EventBus/index.html b/v5.4.0/extensions/api/modules/Common.EventBus/index.html new file mode 100644 index 0000000000..d843378c54 --- /dev/null +++ b/v5.4.0/extensions/api/modules/Common.EventBus/index.html @@ -0,0 +1,909 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: EventBus - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Namespace: EventBus#

+

Common.EventBus

+

Table of contents#

+

Type aliases#

+ +

Variables#

+ +

Type aliases#

+

AppEvent#

+

Ƭ AppEvent: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
actionstring
namestring
params?object
+

Variables#

+

appEventBus#

+

appEventBus: EventEmitter<[AppEvent]>

+

Copyright (c) OpenLens Authors. All rights reserved. +Licensed under MIT License. See LICENSE in root directory for more information.

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Common.Store/index.html b/v5.4.0/extensions/api/modules/Common.Store/index.html new file mode 100644 index 0000000000..6d4d62c29e --- /dev/null +++ b/v5.4.0/extensions/api/modules/Common.Store/index.html @@ -0,0 +1,827 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Store - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Common.Types/index.html b/v5.4.0/extensions/api/modules/Common.Types/index.html new file mode 100644 index 0000000000..48519499a3 --- /dev/null +++ b/v5.4.0/extensions/api/modules/Common.Types/index.html @@ -0,0 +1,941 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Types - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Namespace: Types#

+

Common.Types

+

Table of contents#

+

Interfaces#

+ +

Type aliases#

+ +

Type aliases#

+

IpcMainEvent#

+

Ƭ IpcMainEvent: Electron.IpcMainEvent

+
+

IpcMainInvokeEvent#

+

Ƭ IpcMainInvokeEvent: Electron.IpcMainInvokeEvent

+

Copyright (c) OpenLens Authors. All rights reserved. +Licensed under MIT License. See LICENSE in root directory for more information.

+
+

IpcRendererEvent#

+

Ƭ IpcRendererEvent: Electron.IpcRendererEvent

+
+

ShellEnvModifier#

+

Ƭ ShellEnvModifier: (ctx: ShellEnvContext, env: Record<string, string | undefined>) => Record<string, string | undefined>

+

Type declaration#

+

▸ (ctx, env): Record<string, string | undefined>

+
Parameters#
+ + + + + + + + + + + + + + + + + +
NameType
ctxShellEnvContext
envRecord<string, string | undefined>
+
Returns#
+

Record<string, string | undefined>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Common.Util/index.html b/v5.4.0/extensions/api/modules/Common.Util/index.html new file mode 100644 index 0000000000..d928cf4f99 --- /dev/null +++ b/v5.4.0/extensions/api/modules/Common.Util/index.html @@ -0,0 +1,1030 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Util - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Namespace: Util#

+

Common.Util

+

Table of contents#

+

Classes#

+ +

Functions#

+ +

Functions#

+

cssNames#

+

cssNames(...args): string

+

Parameters#

+ + + + + + + + + + + + + +
NameType
...argsIClassName[]
+

Returns#

+

string

+
+

openBrowser#

+

openBrowser(url): Promise<void>

+

Opens a link using the program configured as the default browser +on the target platform. Will reject URLs with a scheme other than +http or https to prevent programs other than the default browser +running.

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
urlstringThe URL to open
+

Returns#

+

Promise<void>

+
+

openExternal#

+

Const openExternal(url): Promise<void>

+

deprecated use openBrowser

+

Parameters#

+ + + + + + + + + + + + + +
NameType
urlstring
+

Returns#

+

Promise<void>

+
+

prevDefault#

+

prevDefault<E>(callback): (evt: E) => any

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Eextends Event | SyntheticEvent<Element, Event>
+

Parameters#

+ + + + + + + + + + + + + +
NameType
callback(evt: E) => any
+

Returns#

+

fn

+

▸ (evt): any

+
Parameters#
+ + + + + + + + + + + + + +
NameType
evtE
+
Returns#
+

any

+
+

stopPropagation#

+

stopPropagation(evt): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
evtEvent | SyntheticEvent<Element, Event>
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Common/index.html b/v5.4.0/extensions/api/modules/Common/index.html new file mode 100644 index 0000000000..7734435a2f --- /dev/null +++ b/v5.4.0/extensions/api/modules/Common/index.html @@ -0,0 +1,865 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Common - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Main.Catalog/index.html b/v5.4.0/extensions/api/modules/Main.Catalog/index.html new file mode 100644 index 0000000000..adff2d541f --- /dev/null +++ b/v5.4.0/extensions/api/modules/Main.Catalog/index.html @@ -0,0 +1,895 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Catalog - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Main.K8sApi/index.html b/v5.4.0/extensions/api/modules/Main.K8sApi/index.html new file mode 100644 index 0000000000..a747457a2b --- /dev/null +++ b/v5.4.0/extensions/api/modules/Main.K8sApi/index.html @@ -0,0 +1,1796 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: K8sApi - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Namespace: K8sApi#

+

Main.K8sApi

+

Copyright (c) OpenLens Authors. All rights reserved. +Licensed under MIT License. See LICENSE in root directory for more information.

+

Table of contents#

+

References#

+ +

Functions#

+ +

References#

+

ClusterRole#

+

Re-exports ClusterRole

+
+

ClusterRoleBinding#

+

Re-exports ClusterRoleBinding

+
+

ConfigMap#

+

Re-exports ConfigMap

+
+

CronJob#

+

Re-exports CronJob

+
+

CustomResourceDefinition#

+

Re-exports CustomResourceDefinition

+
+

DaemonSet#

+

Re-exports DaemonSet

+
+

Deployment#

+

Re-exports Deployment

+
+

DeploymentApi#

+

Re-exports DeploymentApi

+
+

Endpoint#

+

Re-exports Endpoint

+
+

HorizontalPodAutoscaler#

+

Re-exports HorizontalPodAutoscaler

+
+

IKubeApiCluster#

+

Re-exports IKubeApiCluster

+
+

ILocalKubeApiConfig#

+

Re-exports ILocalKubeApiConfig

+
+

IPodContainer#

+

Re-exports IPodContainer

+
+

IPodContainerStatus#

+

Re-exports IPodContainerStatus

+
+

IRemoteKubeApiConfig#

+

Re-exports IRemoteKubeApiConfig

+
+

ISecretRef#

+

Re-exports ISecretRef

+
+

Ingress#

+

Re-exports Ingress

+
+

IngressApi#

+

Re-exports IngressApi

+
+

Job#

+

Re-exports Job

+
+

KubeApi#

+

Re-exports KubeApi

+
+

KubeEvent#

+

Re-exports KubeEvent

+
+

KubeObject#

+

Re-exports KubeObject

+
+

KubeObjectMetadata#

+

Re-exports KubeObjectMetadata

+
+

KubeObjectStore#

+

Re-exports KubeObjectStore

+
+

KubeObjectStoreLoadAllParams#

+

Re-exports KubeObjectStoreLoadAllParams

+
+

KubeObjectStoreLoadingParams#

+

Re-exports KubeObjectStoreLoadingParams

+
+

KubeObjectStoreSubscribeParams#

+

Re-exports KubeObjectStoreSubscribeParams

+
+

KubeStatus#

+

Re-exports KubeStatus

+
+

KubeStatusData#

+

Re-exports KubeStatusData

+
+

LimitRange#

+

Re-exports LimitRange

+
+

Namespace#

+

Re-exports Namespace

+
+

NetworkPolicy#

+

Re-exports NetworkPolicy

+
+

Node#

+

Re-exports Node

+
+

NodesApi#

+

Re-exports NodesApi

+
+

PersistentVolume#

+

Re-exports PersistentVolume

+
+

PersistentVolumeClaim#

+

Re-exports PersistentVolumeClaim

+
+

PersistentVolumeClaimsApi#

+

Re-exports PersistentVolumeClaimsApi

+
+

Pod#

+

Re-exports Pod

+
+

PodDisruptionBudget#

+

Re-exports PodDisruptionBudget

+
+

PodsApi#

+

Re-exports PodsApi

+
+

ReplicaSet#

+

Re-exports ReplicaSet

+
+

ResourceQuota#

+

Re-exports ResourceQuota

+
+

ResourceStack#

+

Re-exports ResourceStack

+
+

Role#

+

Re-exports Role

+
+

RoleBinding#

+

Re-exports RoleBinding

+
+

Secret#

+

Re-exports Secret

+
+

Service#

+

Re-exports Service

+
+

ServiceAccount#

+

Re-exports ServiceAccount

+
+

StatefulSet#

+

Re-exports StatefulSet

+
+

StorageClass#

+

Re-exports StorageClass

+
+

apiManager#

+

Re-exports apiManager

+
+

clusterRoleApi#

+

Re-exports clusterRoleApi

+
+

clusterRoleBindingApi#

+

Re-exports clusterRoleBindingApi

+
+

configMapApi#

+

Re-exports configMapApi

+
+

crdApi#

+

Re-exports crdApi

+
+

cronJobApi#

+

Re-exports cronJobApi

+
+

daemonSetApi#

+

Re-exports daemonSetApi

+
+

deploymentApi#

+

Re-exports deploymentApi

+
+

endpointApi#

+

Re-exports endpointApi

+
+

eventApi#

+

Re-exports eventApi

+
+

forCluster#

+

Re-exports forCluster

+
+

forRemoteCluster#

+

Re-exports forRemoteCluster

+
+

hpaApi#

+

Re-exports hpaApi

+
+

ingressApi#

+

Re-exports ingressApi

+
+

jobApi#

+

Re-exports jobApi

+
+

limitRangeApi#

+

Re-exports limitRangeApi

+
+

namespacesApi#

+

Re-exports namespacesApi

+
+

networkPolicyApi#

+

Re-exports networkPolicyApi

+
+

nodesApi#

+

Re-exports nodesApi

+
+

pdbApi#

+

Re-exports pdbApi

+
+

persistentVolumeApi#

+

Re-exports persistentVolumeApi

+
+

podsApi#

+

Re-exports podsApi

+
+

pvcApi#

+

Re-exports pvcApi

+
+

replicaSetApi#

+

Re-exports replicaSetApi

+
+

resourceQuotaApi#

+

Re-exports resourceQuotaApi

+
+

roleApi#

+

Re-exports roleApi

+
+

roleBindingApi#

+

Re-exports roleBindingApi

+
+

secretsApi#

+

Re-exports secretsApi

+
+

serviceAccountsApi#

+

Re-exports serviceAccountsApi

+
+

serviceApi#

+

Re-exports serviceApi

+
+

statefulSetApi#

+

Re-exports statefulSetApi

+
+

storageClassApi#

+

Re-exports storageClassApi

+

Functions#

+

isAllowedResource#

+

isAllowedResource(...args): boolean

+

deprecated This function never works

+

Parameters#

+ + + + + + + + + + + + + +
NameType
...argsany[]
+

Returns#

+

boolean

+

false

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Main.Navigation/index.html b/v5.4.0/extensions/api/modules/Main.Navigation/index.html new file mode 100644 index 0000000000..57bf0ab48e --- /dev/null +++ b/v5.4.0/extensions/api/modules/Main.Navigation/index.html @@ -0,0 +1,867 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Navigation - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Namespace: Navigation#

+

Main.Navigation

+

Table of contents#

+

Functions#

+ +

Functions#

+ +

navigate(url): Promise<void>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
urlstring
+

Returns#

+

Promise<void>

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Main.Power/index.html b/v5.4.0/extensions/api/modules/Main.Power/index.html new file mode 100644 index 0000000000..512214b023 --- /dev/null +++ b/v5.4.0/extensions/api/modules/Main.Power/index.html @@ -0,0 +1,975 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Power - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Namespace: Power#

+

Main.Power

+

Table of contents#

+

Type aliases#

+ +

Functions#

+ +

Type aliases#

+

PowerEventListener#

+

Ƭ PowerEventListener: () => void

+

Type declaration#

+

▸ (): void

+

Event listener for system power events

+
Returns#
+

void

+

Functions#

+

onResume#

+

Const onResume(listener): Disposer

+

Adds event listener to system resume event

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
listenerPowerEventListenerfunction which will be called on system resume
+

Returns#

+

Disposer

+

function to remove event listener

+
+

onShutdown#

+

Const onShutdown(listener): Disposer

+

Adds event listener to the event which is emitted when +the system is about to reboot or shut down

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
listenerPowerEventListenerfunction which will be called on system shutdown
+

Returns#

+

Disposer

+

function to remove event listener

+
+

onSuspend#

+

Const onSuspend(listener): Disposer

+

Adds event listener to system suspend events

+

Parameters#

+ + + + + + + + + + + + + + + +
NameTypeDescription
listenerPowerEventListenerfunction which will be called on system suspend
+

Returns#

+

Disposer

+

function to remove event listener

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Main/index.html b/v5.4.0/extensions/api/modules/Main/index.html new file mode 100644 index 0000000000..8cac39dc96 --- /dev/null +++ b/v5.4.0/extensions/api/modules/Main/index.html @@ -0,0 +1,841 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Main - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Renderer.Catalog/index.html b/v5.4.0/extensions/api/modules/Renderer.Catalog/index.html new file mode 100644 index 0000000000..0750d6b6d2 --- /dev/null +++ b/v5.4.0/extensions/api/modules/Renderer.Catalog/index.html @@ -0,0 +1,872 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Catalog - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Renderer.Component/index.html b/v5.4.0/extensions/api/modules/Renderer.Component/index.html new file mode 100644 index 0000000000..1579925a8f --- /dev/null +++ b/v5.4.0/extensions/api/modules/Renderer.Component/index.html @@ -0,0 +1,1965 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Component - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Namespace: Component#

+

Renderer.Component

+

Table of contents#

+

Enumerations#

+ +

Classes#

+ +

Interfaces#

+ +

Type aliases#

+ +

Variables#

+ +

Functions#

+ +

Type aliases#

+

DrawerPosition#

+

Ƭ DrawerPosition: "top" | "left" | "right" | "bottom"

+
+

IconData#

+

Ƭ IconData: string | React.ReactNode | (opt: IconDataFnArg) => React.ReactNode

+

One of the folloing: +- A material icon name +- A react node +- Or a function that produces a react node

+
+

InputProps#

+

Ƭ InputProps: Omit<InputElementProps, "onChange" | "onSubmit"> & { autoSelectOnFocus?: boolean ; blurOnEnter?: boolean ; className?: string ; contentRight?: string | React.ReactNode ; defaultValue?: string ; dirty?: boolean ; iconLeft?: IconData ; iconRight?: IconData ; maxRows?: number ; multiLine?: boolean ; showErrorsAsTooltip?: boolean | Omit<TooltipProps, "targetId"> ; showValidationLine?: boolean ; theme?: "round-black" | "round" ; trim?: boolean ; validators?: InputValidator | InputValidator[] ; value?: string ; onChange?: (value: string, evt: ChangeEvent<InputElement>) => void ; onSubmit?: (value: string, evt: KeyboardEvent<InputElement>) => void }

+
+ +

Ƭ MenuContextValue: Menu

+
+

NotificationId#

+

Ƭ NotificationId: string | number

+
+

NotificationMessage#

+

Ƭ NotificationMessage: React.ReactNode | React.ReactNode[] | JsonApiErrorParsed

+
+

RadioProps#

+

Ƭ RadioProps: React.HTMLProps<any> & { checked?: boolean ; disabled?: boolean ; label?: React.ReactNode | any ; name?: string ; value?: any ; onChange?: (value: ChangeEvent<HTMLInputElement>) => void }

+
+

TableCellElem#

+

Ƭ TableCellElem: React.ReactElement<TableCellProps>

+
+

TableHeadElem#

+

Ƭ TableHeadElem: React.ReactElement<TableHeadProps>

+
+

TableOrderBy#

+

Ƭ TableOrderBy: "asc" | "desc" | string

+
+

TableRowElem#

+

Ƭ TableRowElem: React.ReactElement<TableRowProps>

+
+

TableSortBy#

+

Ƭ TableSortBy: string

+
+

TableSortCallback#

+

Ƭ TableSortCallback<Item>: (data: Item) => string | number | (string | number)[]

+

Type parameters#

+ + + + + + + + + + + +
Name
Item
+

Type declaration#

+

▸ (data): string | number | (string | number)[]

+
Parameters#
+ + + + + + + + + + + + + +
NameType
dataItem
+
Returns#
+

string | number | (string | number)[]

+
+

TableSortCallbacks#

+

Ƭ TableSortCallbacks<Item>: Record<string, TableSortCallback<Item>>

+

Type parameters#

+ + + + + + + + + + + +
Name
Item
+
+

TableSortParams#

+

Ƭ TableSortParams: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + +
NameType
orderByTableOrderBy
sortByTableSortBy
+

Variables#

+

CommandOverlay#

+

CommandOverlay: CommandOverlay

+
+

Drawer#

+

Drawer: ForwardRefExoticComponent<DrawerProps & RefAttributes<any> & { children?: ReactNode }>

+
+

InputValidators#

+

InputValidators: Object

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
accountIdInputValidator
isEmailInputValidator
isExtensionNameInstallInputValidator
isExtensionNameInstallRegexRegExp
isNumberInputValidator
isPathInputValidator
isRequiredInputValidator
isUrlInputValidator
maxLengthInputValidator
minLengthInputValidator
systemNameInputValidator
+
+

KubeEventDetails#

+

KubeEventDetails: ForwardRefExoticComponent<KubeEventDetailsProps & RefAttributes<any> & { children?: ReactNode }>

+
+

MainLayout#

+

MainLayout: ForwardRefExoticComponent<Props & RefAttributes<any> & { children?: ReactNode }>

+
+ +

MenuContext: Context<Menu>

+
+

NamespaceSelect#

+

NamespaceSelect: ForwardRefExoticComponent<Props & RefAttributes<any> & { children?: ReactNode }>

+
+

NamespaceSelectFilter#

+

NamespaceSelectFilter: ForwardRefExoticComponent<SelectProps<any> & RefAttributes<any> & { children?: ReactNode }>

+
+

Switcher#

+

Switcher: ComponentType<Pick<Props, "name" | "prefix" | "defaultValue" | "id" | "title" | "value" | "size" | "form" | "slot" | "style" | "className" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "hidden" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "type" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "action" | "checked" | "readOnly" | "required" | "ref" | "key" | "innerRef" | "icon" | "checkedIcon" | "disableFocusRipple" | "edge" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputProps" | "inputRef"> & StyledComponentProps<"track" | "checked" | "root" | "thumb" | "focusVisible" | "switchBase">>

+

deprecated Use instead from "../switch.tsx".

+
+

cpuOptions#

+

cpuOptions: ChartOptions

+
+

kubeDetailsUrlParam#

+

kubeDetailsUrlParam: PageParam<string>

+

Used to store object.selfLink to show more info about resource in the details panel.

+
+

kubeSelectedUrlParam#

+

kubeSelectedUrlParam: PageParam<string>

+

Used to highlight last active/selected table row with the resource.

+

example +If we go to "Nodes (page) -> Node (details) -> Pod (details)", +last clicked Node should be "active" while Pod details are shown).

+
+

logTabStore#

+

logTabStore: LogTabStore & MapInjectables<Object>

+
+

memoryOptions#

+

memoryOptions: ChartOptions

+
+

notificationsStore#

+

notificationsStore: NotificationsStore

+
+

orderByUrlParam#

+

orderByUrlParam: PageParam<string>

+
+

sortByUrlParam#

+

sortByUrlParam: PageParam<string>

+
+

terminalStore#

+

terminalStore: TerminalStore & MapInjectables<Object>

+

Functions#

+

DrawerItemLabels#

+

DrawerItemLabels(props): Element

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsDrawerItemLabelsProps
+

Returns#

+

Element

+
+

FormSwitch#

+

FormSwitch(props): Element

+

deprecated Use instead from "../switch.tsx".

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsFormControlLabelProps
+

Returns#

+

Element

+
+

KubeObjectListLayout#

+

KubeObjectListLayout<K>(props): Element

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Kextends KubeObject<KubeObjectMetadata, any, any, K>
+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsKubeObjectListLayoutProps<K>
+

Returns#

+

Element

+
+

KubeObjectMenu#

+

KubeObjectMenu<T>(props): Element

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Textends KubeObject<KubeObjectMetadata, any, any, T>
+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsKubeObjectMenuProps<T>
+

Returns#

+

Element

+
+ +

SubMenu(props): Element

+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsPartial<MenuProps>
+

Returns#

+

Element

+
+

Switch#

+

Switch(__namedParameters): Element

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersProps
+

Returns#

+

Element

+
+

TabLayout#

+

Const TabLayout(__namedParameters): Element

+

Parameters#

+ + + + + + + + + + + + + +
NameType
__namedParametersTabLayoutProps
+

Returns#

+

Element

+
+

Table#

+

Table<Item>(props): Element

+

Type parameters#

+ + + + + + + + + + + +
Name
Item
+

Parameters#

+ + + + + + + + + + + + + +
NameType
propsTableProps<Item>
+

Returns#

+

Element

+
+

createTerminalTab#

+

Const createTerminalTab(...args): Required<DockTabCreate>

+

Parameters#

+ + + + + + + + + + + + + +
NameType
...args[tabParams: DockTabCreateSpecific]
+

Returns#

+

Required<DockTabCreate>

+
+

getDetailsUrl#

+

getDetailsUrl(selfLink, resetSelected?, mergeGlobals?): string

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
selfLinkstringundefined
resetSelectedbooleanfalse
mergeGlobalsbooleantrue
+

Returns#

+

string

+
+

hideDetails#

+

hideDetails(): void

+

Returns#

+

void

+
+

showDetails#

+

showDetails(selfLink?, resetSelected?): void

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
selfLinkstring""
resetSelectedbooleantrue
+

Returns#

+

void

+
+

toggleDetails#

+

toggleDetails(selfLink, resetSelected?): void

+

Parameters#

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
selfLinkstringundefined
resetSelectedbooleantrue
+

Returns#

+

void

+
+

withTooltip#

+

withTooltip<T>(Target): T

+

Type parameters#

+ + + + + + + + + + + + + +
NameType
Textends ComponentType<any>
+

Parameters#

+ + + + + + + + + + + + + +
NameType
TargetT
+

Returns#

+

T

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Renderer.K8sApi/index.html b/v5.4.0/extensions/api/modules/Renderer.K8sApi/index.html new file mode 100644 index 0000000000..187cf2f6c9 --- /dev/null +++ b/v5.4.0/extensions/api/modules/Renderer.K8sApi/index.html @@ -0,0 +1,1513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: K8sApi - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + +
+
+ + + + +

Namespace: K8sApi#

+

Renderer.K8sApi

+

Table of contents#

+

Enumerations#

+ +

Classes#

+ +

Interfaces#

+ +

Type aliases#

+ +

Variables#

+ +

Functions#

+ +

Type aliases#

+

KubeObjectStatus#

+

Ƭ KubeObjectStatus: Object

+

Copyright (c) OpenLens Authors. All rights reserved. +Licensed under MIT License. See LICENSE in root directory for more information.

+

Type declaration#

+ + + + + + + + + + + + + + + + + + + + + +
NameType
levelKubeObjectStatusLevel
textstring
timestamp?string
+

Variables#

+

apiManager#

+

apiManager: ApiManager

+
+

clusterRoleApi#

+

clusterRoleApi: KubeApi<ClusterRole>

+

Only available within kubernetes cluster pages

+
+

clusterRoleBindingApi#

+

clusterRoleBindingApi: KubeApi<ClusterRoleBinding>

+

Only available within kubernetes cluster pages

+
+

configMapApi#

+

configMapApi: KubeApi<ConfigMap>

+

Only available within kubernetes cluster pages

+
+

crdApi#

+

crdApi: KubeApi<CustomResourceDefinition>

+

Only available within kubernetes cluster pages

+
+

cronJobApi#

+

cronJobApi: CronJobApi

+

Only available within kubernetes cluster pages

+
+

daemonSetApi#

+

daemonSetApi: DaemonSetApi

+

Only available within kubernetes cluster pages

+
+

deploymentApi#

+

deploymentApi: DeploymentApi

+
+

endpointApi#

+

endpointApi: KubeApi<Endpoint>

+
+

eventApi#

+

eventApi: KubeApi<KubeEvent>

+
+

hpaApi#

+

hpaApi: KubeApi<HorizontalPodAutoscaler>

+
+

ingressApi#

+

ingressApi: IngressApi

+
+

jobApi#

+

jobApi: JobApi

+
+

limitRangeApi#

+

limitRangeApi: KubeApi<LimitRange>

+
+

namespacesApi#

+

namespacesApi: NamespaceApi

+
+

networkPolicyApi#

+

networkPolicyApi: KubeApi<NetworkPolicy>

+
+

nodesApi#

+

nodesApi: NodesApi

+
+

pdbApi#

+

pdbApi: KubeApi<PodDisruptionBudget>

+
+

persistentVolumeApi#

+

persistentVolumeApi: KubeApi<PersistentVolume>

+
+

podsApi#

+

podsApi: PodsApi

+
+

pvcApi#

+

pvcApi: PersistentVolumeClaimsApi

+
+

replicaSetApi#

+

replicaSetApi: ReplicaSetApi

+
+

resourceQuotaApi#

+

resourceQuotaApi: KubeApi<ResourceQuota>

+
+

roleApi#

+

roleApi: KubeApi<Role>

+
+

roleBindingApi#

+

roleBindingApi: KubeApi<RoleBinding>

+
+

secretsApi#

+

secretsApi: KubeApi<Secret>

+
+

serviceAccountsApi#

+

serviceAccountsApi: KubeApi<ServiceAccount>

+
+

serviceApi#

+

serviceApi: KubeApi<Service>

+
+

statefulSetApi#

+

statefulSetApi: StatefulSetApi

+
+

storageClassApi#

+

storageClassApi: KubeApi<StorageClass>

+

Functions#

+

forCluster#

+

forCluster<T, Y>(cluster, kubeClass, apiClass?): KubeApi<T>

+

Type parameters#

+ + + + + + + + + + + + + + + + + +
NameType
Textends KubeObject<KubeObjectMetadata, any, any, T>
Yextends KubeApi<T, Y>KubeApi<T>
+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
clusterILocalKubeApiConfigundefined
kubeClassKubeObjectConstructor<T>undefined
apiClass(apiOpts: IKubeApiOptions<T>) => Ynull
+

Returns#

+

KubeApi<T>

+
+

forRemoteCluster#

+

forRemoteCluster<T, Y>(config, kubeClass, apiClass?): Y

+

Type parameters#

+ + + + + + + + + + + + + + + + + +
NameType
Textends KubeObject<KubeObjectMetadata, any, any, T>
Yextends KubeApi<T, Y>KubeApi<T>
+

Parameters#

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefault value
configIRemoteKubeApiConfigundefined
kubeClassKubeObjectConstructor<T>undefined
apiClass(apiOpts: IKubeApiOptions<T>) => Ynull
+

Returns#

+

Y

+
+

isAllowedResource#

+

isAllowedResource(resource): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
resourceKubeResource | KubeResource[]
+

Returns#

+

boolean

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Renderer.Navigation/index.html b/v5.4.0/extensions/api/modules/Renderer.Navigation/index.html new file mode 100644 index 0000000000..28c43f7f6b --- /dev/null +++ b/v5.4.0/extensions/api/modules/Renderer.Navigation/index.html @@ -0,0 +1,1015 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Navigation - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Namespace: Navigation#

+

Renderer.Navigation

+

Table of contents#

+

References#

+ +

Classes#

+ +

Interfaces#

+ +

Functions#

+ +

References#

+

getDetailsUrl#

+

Re-exports getDetailsUrl

+
+

hideDetails#

+

Re-exports hideDetails

+
+

showDetails#

+

Re-exports showDetails

+

Functions#

+

createPageParam#

+

createPageParam<V>(init): PageParam<V>

+

Type parameters#

+ + + + + + + + + + + +
Name
V
+

Parameters#

+ + + + + + + + + + + + + +
NameType
initPageParamInit<V>
+

Returns#

+

PageParam<V>

+
+

isActiveRoute#

+

isActiveRoute(route): boolean

+

Parameters#

+ + + + + + + + + + + + + +
NameType
routestring | string[] | RouteProps
+

Returns#

+

boolean

+
+ +

navigate(location): void

+

Parameters#

+ + + + + + + + + + + + + +
NameType
locationLocationDescriptor<unknown>
+

Returns#

+

void

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Renderer.Theme/index.html b/v5.4.0/extensions/api/modules/Renderer.Theme/index.html new file mode 100644 index 0000000000..0761632575 --- /dev/null +++ b/v5.4.0/extensions/api/modules/Renderer.Theme/index.html @@ -0,0 +1,852 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Theme - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Namespace: Theme#

+

Renderer.Theme

+

Table of contents#

+

Functions#

+ +

Functions#

+

getActiveTheme#

+

getActiveTheme(): Theme

+

Returns#

+

Theme

+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/Renderer/index.html b/v5.4.0/extensions/api/modules/Renderer/index.html new file mode 100644 index 0000000000..f004eb6533 --- /dev/null +++ b/v5.4.0/extensions/api/modules/Renderer/index.html @@ -0,0 +1,842 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Namespace: Renderer - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+ + +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/api/modules/index.html b/v5.4.0/extensions/api/modules/index.html new file mode 100644 index 0000000000..1cf1a70a25 --- /dev/null +++ b/v5.4.0/extensions/api/modules/index.html @@ -0,0 +1,828 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @k8slens/extensions - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

@k8slens/extensions#

+

Table of contents#

+

Namespaces#

+ + + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/capabilities/common-capabilities/index.html b/v5.4.0/extensions/capabilities/common-capabilities/index.html new file mode 100644 index 0000000000..c27f228974 --- /dev/null +++ b/v5.4.0/extensions/capabilities/common-capabilities/index.html @@ -0,0 +1,1378 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Common Capabilities - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + +
+
+
+ + +
+
+ + + + +

Common Capabilities#

+

Here we will discuss common and important building blocks for your extensions, and explain how you can use them. +Almost all extensions use some of these functionalities.

+

Main Extension#

+

The main extension runs in the background. +It adds app menu items to the Lens UI. +In order to see logs from this extension, you need to start Lens from the command line.

+

Activate#

+

This extension can register a custom callback that is executed when an extension is activated (started).

+
import { Main } from "@k8slens/extensions"
+
+export default class ExampleMainExtension extends Main.LensExtension {
+  async onActivate() {
+    console.log("hello world")
+  }
+}
+
+

Deactivate#

+

This extension can register a custom callback that is executed when an extension is deactivated (stopped).

+
import { Main } from "@k8slens/extensions"
+
+export default class ExampleMainExtension extends Main.LensExtension {
+  async onDeactivate() {
+    console.log("bye bye")
+  }
+}
+
+ +

This extension can register custom app and tray menus that will be displayed on OS native menus.

+

Example:

+
import { Main } from "@k8slens/extensions"
+
+export default class ExampleMainExtension extends Main.LensExtension {
+  appMenus = [
+    {
+      parentId: "help",
+      label: "Example item",
+      click() {
+        Main.Navigation.navigate("https://k8slens.dev");
+      }
+    }
+  ]
+
+  trayMenus = [
+    {
+      label: "My links",
+      submenu: [
+        {
+          label: "Lens",
+          click() {
+            Main.Navigation.navigate("https://k8slens.dev");
+          }
+        },
+        {
+          type: "separator"
+        },
+        {
+          label: "Lens Github",
+          click() {
+            Main.Navigation.navigate("https://github.com/lensapp/lens");
+          }
+        }
+      ]
+    }
+  ]
+}
+
+

Renderer Extension#

+

The renderer extension runs in a browser context, and is visible in Lens's main window. +In order to see logs from this extension you need to check them via View > Toggle Developer Tools > Console.

+

Activate#

+

This extension can register a custom callback that is executed when an extension is activated (started).

+
import { Renderer } from "@k8slens/extensions"
+
+export default class ExampleExtension extends Renderer.LensExtension {
+  async onActivate() {
+    console.log("hello world")
+  }
+}
+
+

Deactivate#

+

This extension can register a custom callback that is executed when an extension is deactivated (stopped).

+
import { Renderer } from "@k8slens/extensions"
+
+export default class ExampleMainExtension extends Renderer.LensExtension {
+  async onDeactivate() {
+    console.log("bye bye")
+  }
+}
+
+

Global Pages#

+

This extension can register custom global pages (views) to Lens's main window. +The global page is a full-screen page that hides all other content from a window.

+
import React from "react"
+import { Renderer } from "@k8slens/extensions"
+import { ExamplePage } from "./src/example-page"
+
+const {
+  Component: {
+    Icon,
+  }
+} = Renderer;
+
+export default class ExampleRendererExtension extends Renderer.LensExtension {
+  globalPages = [
+    {
+      id: "example",
+      components: {
+        Page: ExamplePage,
+      }
+    }
+  ]
+
+  globalPageMenus = [
+    {
+      title: "Example page", // used in icon's tooltip
+      target: { pageId: "example" }
+      components: {
+        Icon: () => <Icon material="arrow"/>,
+      }
+    }
+  ]
+}
+
+

App Preferences#

+

This extension can register custom app preferences. +It is responsible for storing a state for custom preferences.

+
import React from "react"
+import { Renderer } from "@k8slens/extensions"
+import { myCustomPreferencesStore } from "./src/my-custom-preferences-store"
+import { MyCustomPreferenceHint, MyCustomPreferenceInput } from "./src/my-custom-preference"
+
+
+export default class ExampleRendererExtension extends Renderer.LensExtension {
+  appPreferences = [
+    {
+      title: "My Custom Preference",
+      components: {
+        Hint: () => <MyCustomPreferenceHint/>,
+        Input: () => <MyCustomPreferenceInput store={myCustomPreferencesStore}/>
+      }
+    }
+  ]
+}
+
+

Cluster Pages#

+

This extension can register custom cluster pages. +These pages are visible in a cluster menu when a cluster is opened.

+
import React from "react"
+import { Renderer } from "@k8slens/extensions";
+import { ExampleIcon, ExamplePage } from "./src/page"
+
+export default class ExampleExtension extends Renderer.LensExtension {
+  clusterPages = [
+    {
+      id: "extension-example", // optional
+      exact: true, // optional
+      components: {
+        Page: () => <ExamplePage extension={this}/>,
+      }
+    }
+  ]
+
+  clusterPageMenus = [
+    {
+      url: "/extension-example", // optional
+      title: "Example Extension",
+      components: {
+        Icon: ExampleIcon,
+      }
+    }
+  ]
+}
+
+

Top Bar Items#

+

This extension can register custom components to a top bar area.

+
import React from "react";
+import { Renderer } from "@k8slens/extensions";
+
+const {
+  Component: {
+    Icon,
+  }
+} = Renderer;
+
+export default class ExampleExtension extends Renderer.LensExtension {
+  topBarItems = [
+    {
+      components: {
+        Item: () => (
+          <Icon material="favorite" onClick={() => this.navigate("/example-page" />
+        )
+      }
+    }
+  ]
+}
+
+

Status Bar Items#

+

This extension can register custom icons and text to a status bar area.

+
import React from "react";
+import { Renderer } from "@k8slens/extensions";
+
+const {
+  Component: {
+    Icon,
+  }
+} = Renderer;
+
+export default class ExampleExtension extends Renderer.LensExtension {
+  statusBarItems = [
+    {
+      components: {
+        Item: () => (
+          <div className="flex align-center gaps hover-highlight" onClick={() => this.navigate("/example-page")} >
+            <Icon material="favorite" />
+          </div>
+        )
+      }
+    }
+  ]
+}
+
+

Kubernetes Workloads Overview Items#

+

This extension can register custom workloads overview items.

+
import React from "react"
+import { Renderer } from "@k8slens/extensions";
+import { CustomWorkloadsOverviewItem } from "./src/custom-workloads-overview-item"
+
+export default class ExampleExtension extends Renderer.LensExtension {
+  kubeWorkloadsOverviewItems = [
+    {
+      components: {
+        Details: () => <CustomWorkloadsOverviewItem />
+      }
+    }
+  ]
+}
+
+

Kubernetes Object Menu Items#

+

This extension can register custom menu items (actions) for specified Kubernetes kinds/apiVersions.

+
import React from "react"
+import { Renderer } from "@k8slens/extensions";
+import { CustomMenuItem, CustomMenuItemProps } from "./src/custom-menu-item"
+
+export default class ExampleExtension extends Renderer.LensExtension {
+  kubeObjectMenuItems = [
+    {
+      kind: "Node",
+      apiVersions: ["v1"],
+      components: {
+        MenuItem: (props: CustomMenuItemProps) => <CustomMenuItem {...props} />
+      }
+    }
+  ]
+}
+
+

Kubernetes Object Details#

+

This extension can register custom details (content) for specified Kubernetes kinds/apiVersions.

+
import React from "react"
+import { Renderer } from "@k8slens/extensions";
+import { CustomKindDetails, CustomKindDetailsProps } from "./src/custom-kind-details"
+
+export default class ExampleExtension extends Renderer.LensExtension {
+  kubeObjectDetailItems = [
+    {
+      kind: "CustomKind",
+      apiVersions: ["custom.acme.org/v1"],
+      components: {
+        Details: (props: CustomKindDetailsProps) => <CustomKindDetails {...props} />
+      }
+    }
+  ]
+}
+
+ + + + + + + +
+ +
+
+ +
+ + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/capabilities/images/css-vars-in-devtools.png b/v5.4.0/extensions/capabilities/images/css-vars-in-devtools.png new file mode 100644 index 0000000000000000000000000000000000000000..a9df97e6bba1b152177152f6745438317e5131e0 GIT binary patch literal 1153622 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Ê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�VikJp;OZ>KKL@Ad10& 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�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μ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 z zuonJl`C2Je}viBqWl9^YB|I<*~$KOlnF+Pg+oKI0PWl z)Io&#W92RTwtHrU%Ir7r1`BYi?_{J8fw+;DKXlF<*6HO0d&qFat_VVSU! z%|FMsC23a2J8kb?9cP-?y&Dca?H2-xNAvF{p0sq@k@Rt-iM+TlHB-&V!)5N4M59;k z6cQ7+#pRXl5T=}7?2HmKy*n>`B!k|iP+ZC=)>sC){%Sd18iU< z$v%rhZkXrN`xv60r@@O#HYDQ6YMKXf|XyVBqN-aqG5fp?aImlM`SmBkB`?Q3Z3 zm2$;tJ~?wMw6%!1VUvMJ_<`b)=3_^S2l(24F?14-NJtWiC=g-gfj0uI$Nq7rG=EVa zTKdC9OKow~7mzkj%euaP-TU!;P-&#)E3d3L6RZ_2{6_|X6SytGr}7F@;F8HfHBBZr zh>CZ`R#+HpkGN&0GpKM(^&)a%r{LF%fEO5kiY9*5;`;srXl zaCD`fIeMlzm8*#alS6MV=sm#gB~Ge$;f9kT3*t=sgiT&REuc(=NseJ7Ez!R20#>T*jRW z<#&1R_^HNX#DvD~HF+J{NJy|q2Bk0J9ymE0uuqqX>aa44$r0#sAC6COjiqOn? zu9$7hyArU+p}_qu7t241^yX629aff&tY4C1Les1OkVq57L809ha0K(<&O0y7tbmY6KWnlUYKj_T_wpbkK~4!z#+))wbkA`xDa!kf5;7hl zXa|5Qbl5Hvt#`pyAbXs-v7iz}$!Af|Nkrj0Oo~THX%~hSqG2EX+l0ZUFv8ciS(si3 zA5lU}Lmgngw>s@Aj;}jeE%frp$8eu7yz9S%ws=}8Dn6?YI5Qu>nK?AL;d|b0UGAC zACEAh%t7S)RnW3VcwTv3Jqdu0`BMVum?+Go*Z@|K&P}AWce<|9kOc!$lHM{}Iu+RX1i^(?a;3yoHlJDL4(Wpm?xcLZnJ7i=OR|jfYHsvL#h^`0;yBJSs?!J$FLFdTVu2gE8%k$PL{a?!yOq4I2#bADaHO2x zA@sL>nDLwN3_7YQBW=}YEZoDdevtM$JZjMD?ogJnJ|Z0yG)ShcL98wVuo={X;uVBQ zGJ#$PMsnu`St81pxPrIjLqCUo<@HP!loqGvCdmJcnz#RD_KW?umZ1FFh48^&M3F!N zU_bY>lp&Bf`_OGya!@1>skh&(_;tVM-#N{4a75<{sQ{kMt4Sw^-})-yfYQ5j+$rHncNJFyN=(9~2@A1# z3k9EkP7k6}Dz2j16y;$^;&4x7Ya`*_sMa^QLA<@Um%31f=K=OWzJgS(+>2zG+8qj-}6YE-R%lq z{NR9!v9Q#HV%Ltw7kf?&TN__6LTNAysn2x3oMM z3nDBtb~D@*r#iP3H=$uA!DnM{k02Ok22m5zyiC&q1u}ZM#lI)iQl!Yxg@cGvdF*jN zPupb(H51S$G~Qa01R<0dA>ygZdC?CRTF~OE(b4a5KX3U0e(N|h>)jP&{Uy+knBsQU zsCNc2MGE|FiI=03Zb_yiY_o*&`pa|w5AUWQf$AtmZ9Mz>22P`vVNm6{5gFjTk`%i) zk`zBtVvwd_h?C{SUvR?c99?}i6=0l?r$C#KxN2xX`1NYKH#kyvC35@>m#^FLSxmbn zk9tjVtilwgoVTkdGWt%f{rO^()9AWdKlhfqr1m?{VyI`gYP1CMfWn&)ZA8GZg3@Kj zcJ9m(%MQ_67gh$Oa^hlK+L@)UY)q0M7=mGFizsLD#F0cXxR#GP`Y!IO7n?^pK7lSY}W}B^jfW>Q}n&tnB%vYy0h=TC2P zl+}oIc1^xY5amy_xJG`Di62HKy#@FLx^*uCq~3Sxoq=;Pkb3uG_lgZLsi*VV!E^wV zdKEEMztJ4?Qm&1m`i;!~e?EdXtN>$I9L zu8L^U0}S0&$HMvtK+Nx{IDywj+_CRp|HQQzcTeMwXq1xoKthhXmSwsq_r}v^d0$an z@;I4k|1Nrop60fuvo9e+G9B08Wq>4fsw?w1-m}o-=xAZIL|c=o(ap{ToZYb|`6~3C z=hDhZF&zGOTNtu>s`A<-r+GE^+095&yk|M#T}JaZApa5z$>0)PKK|fRh?C#2e@I~` zH0=dgn_cgdbGt!(!c0>hIZk6*N~Ay0cen=^Kqm>x9OVmt&OeL^Ah$I=7)`n~(mX2V zzTAzWgwyXfNzNSc%Dey2C8Ds910%aXSaE^G00s|M#A?ad6?<~$Qn(@* z(^k#cLH{!)^qjboGF%`SrEjO7x$Ixx!w@J(}p`j^>B7=jZp(+D(|@X?A*q@;5;Zi5Y}-yfXiLtyV$X4n(wKe}}H`q06f`WkzR@ z2PLT2d+?89^D{MXWNeouY;;uaD#8WrIM5-c+e{3b7MZ~?&*diJ;I-I*wXz_xS2@W}K=_{nuXbpQ4kah?UO|v(p*V5ESec7# z6j@pn)3$v-&-)?m1A?k=SmuZSRIRVf$|e-ozfynd@3ZqeV11d+R5f2K)BYQT>9077 zfs{5w*Fk2;{5X!&<#~5FYJ0R}f*~WD);w0DFcmR7rZU|PBg>|*&AtP3*-vIt_{ROe z&F!E2z88{ziIjagVLLFnnc>ocS2LUkeX=&bO4(y@1F`9Ju%GgZo}_(`X>JyofK8c& zO4CQ-1lG^{rP+mA8FO#ZMSg@VmTCSGMNhTw^rWw zay|mtT%|3>#xxr5{fDznQr0PTG6}Sfavni#6SH0h^qfnzCg;#-U-{&9YqU$OD4Rrd48rj@^%Q=VA@- zP>m*%#@ZTp&1*IaH0>qT9R*a%bY65`6M9vF1JOOzjQgpT56i+5DOEIN?t7RX&HLE zNA~Cl?u1?QKyggxP0|~uIQ`;Qhm(lyl0$>%v#;6md!?*GHPtnNi(%f3+OUpTbgmw*k7;fovroYPtcE5cnnlQtw!Rb=xKY7{p!RSosiUR3Yw>n7v*YW z0FfVDeAZElfYhB}v8hw5WdtOpoh>D~dNQ6;sc8}PGhVQ7$|HN2JqTxOVD7E2)gogR zgXt)$yNC(Nk57mR%Z8}1N#w^$;5dQl0RgsckJwv3QShsoGXFI2YfdGg!&lDUowxeH z5{W-GraW$1IR(jnNylbCRSNxm+&ou_*WcxPxbJc{72>ex@K@$?eF z9oL{TOi`6)PK7-Md9k+()9fa?7hV<{*;{>>)F>gbIIz0L>Wmyp2q`)=OV||dB=B78 zmXqPS>@QQ);$%fO?E$ImCes1J%QW<+gndiMunH?xrYNIxk)@)SRlnrLdXNeUvEiC+ zlq;ev+r;<%^YDPZdNuzcFiJNo=lbDdG5N>%&nvF=$lWyn6W+uc9+@RJ8`cZXV~7Qw zn(VPqD&Z$iA1kNSwcD(y@~kqe7mDRm0c#@**Wx!;HfjX#Za(!LCnz{DAJ;qm3_Q|J z4SraJ9AxIUl~H?)t&TM8g%J8jeHOCxOa8aaYE_+Yus!O~-kWJrI-9P)<0zXB9|aKN z4aY?)Kg;h2Qs-i?+^}06-g%2{)vnZ5H=i6CzR96GmY$`ZbGss@Z0`N7Z9w<@&(^jp z;7+bAMIDu6O0_&5Z#j^5_G;NgI3z|pqk3X}VNCHLhhbHSDW+XW#&bGr$aOCOW;wB5-|rzTlI>-Tpl-A;X$WGrBMZzm=3r~(T41w$W? zjKr_0kl`f$2Kx%lL2+Cy@18Fqa4mZU#?_5oeO>#hT<{Yrq~vP=sN4ANt|)wgztLrW zDD_V5R&%L4i(=k4t_G$zSo1c^Rxw3seC7lkTH}AhK4BHzAf-pRqRfe(c;wB5@d|^Zq zg_|;a>j|%t9-}H5?yF@y!g`N8w0H!Z*LcQizK)0lJ*L3Bo) zpeh{hys|1YAaJ`v+0kDzONpRa(moY zg&yhyY-LTcokK2ip%4EA5!9zeLY&%dX6h+n>c#mW#T9)Yzi#dR?y|bKi@t8!!Bo#N zYK)5J5bMb7Id_Ugq#Pm{~KuF@<6pejHYXM-wY zU32eS6c+;~$2?x8DT?#Y^NnKF+$Ivq{6yr+1cS=x78~YmB}c!hXV?8f&*@$Twzm8& zsS-8aH@|P{JUw~$$5VJK;%Ffx{dr}D)A+Z8y;Rv)G1Ip%45}l$G#1~4?d^faM6j;c zUc0l^V2coeb){U*qEYwfvnNfHQ14-~O4>h7O<~zL6OR8#8O0k_1WFzf1J8!YM*II2 zd-(33%egU|G>0J!iWt5H=BJ$x@s7+_*c@<>UQK|5jJSd{PbmNgMNWp{pzZ||eBQ&s z39Em_B^q0&A$dneVnSr1Bb$c-(umNvCLxa_?P-Y@IEbZ#PNZzcZls@D8+(RdV?~Zy z^D89%aty!StLDa4qSxz#@U~~m?0d$z3biG7MhmS@O6$&x@;#%(B?)cbC$+7x$B}*3 zD99GuQ*h6UPiruQM}9b-M4HmCz~;X1zU#C+8B@99kUuA%eM}Y>7R#O<22yBk)cByS zS>i~%?Z=krKGSJAO~t_`7P2cuW(K9Qu@*v21VNE{}+ z<@?Xx!2*Gbpni^xc}IAHt^KBgr1x$!_r}XB*nOM5)Vb@3*WEzJ)>iY++M120_1uNT z-U`}dP?#_M3iY6o&@J|>RajM zhpfeNY8iX(cJ~NQw$PsalDjKn-<`KP-1nL!!quvqMc2FE*#k8N>;TP1)kxHP0HS4`ZEay}_yK|O3YGxN-U2okmzfh5!W7(t zk@55}S|nCo7f$kVnOEF(K}E8otxbxBm_}7tFL$d{ynC7u0nfXK6-S5Uyd$fUK4Y;1 z%iWX^8;v_!g_^{C5=sTmspWC95%eJ;$ zeS%@=#SZn)+DX(f%gCr3J;z+@nQ#PnbL3E-v-MC8F&#>3ouf#v=B{zo3&Yy&6QZ+OA39o!Rw&Kz@@ICkW zoWNKm+BD37_aRr2gb}d_&c3*gBDOJZhdMJgJA1O zwg{MXF*MmvozK5h8~;)%qM1>D%l$-JMZ?vH1p)<~ec{hlQGj5I0^IpX@QM&q!0=&j z`+?aF!$bqW^gYHWjn#4cJykC?ypg2|X(dMX6Wuk5nj{h44#|OheRh7-r~Jih6TR1KkWo0a&1^!mIP_kHiiNiXSCHhU zZu&f_`X^BS4$NwwWDJ=)sOcpxmH3%ugvRKQu9G+$6afLD9Fp63g%Km&0V{kKF$K=` zr=Z3?$5vpK?jVFP`v|3r`%0%v2|qdJ!%Gb=;UyxSC^F0xBQ^cF=KN0}PGHH|7L1pO zZ?Ih!cG{PjTSk0Rw{4L_W9YrtXByE^_-J(qo~HsqtEGfm;KmYD1YTK3RwA0cP3|WT zZ4k6C-~{&OW4`=IHk88Hr&;*a-2|`P@4tRal)nbs61LydJ}eai9cS#-ntM?K=+h3| zGY#tnS8TMw{`6lrt<8YM-x@6sB1K2FeHEv3Al05NLxW42ojepr)&tVsyG#j;)@$lB<1IZEor9zcp7va~e5 zC<`Lt%0SL7*vg^Ije0^B?`M`VmWv<EwkpUJP*joHX%~Xh4oa zR!O|NitWboWzW$T=U_=&D`Y8`P#f@`0bs^-dZHUuIR0nyvz)j%jqDGiRh6o#;+L^P z0$E>g6`RIWeu4ONYhzV9OcqxjA2v>k+u(ze_px7RZzdi?r(N^Y{p6LckFrLe)xJv~#-%^-`aw7iq>~(z>xffr^#^WBcx?Erno7-^C_#vunJ*}ph@8U#5 zYbE{Y6U8D)v2V+zsOKBWP2N{78y(9b|I)71Dwh*5u#_O+-7V*Y3}d~!#_Kz=d!M{V z&IzrDM3(5iAl7$DRGz)@FMMYHiU=qDiQjPKKotP&s3&ZPLxwf&v%fsv%gnV#p;q3&3S3OvuN>0nvmWSQ=gLddE<(^iu_gjV3;q&Fhl zcD2}!I(c{b_-pf0fV=k6cvJm{&Mq`xrxori6+b!McYiK(D}B#94?68&YC@OmK{E-8 z$Q47mkHx1`QR}EZ^06`ad97sx#njJEQl`bBgKtVs((mw;u*psTWXj6K$x6Ew&JV1H z0L3hO`9EBtR@|}8kL5ZXO)JMnx}$FPXi3Z-h%7&@$di8Mj!q$>`oN_c?OF^OA z*t3O@1TxqBM&&2TO;0kjSS2eKD()WiZH(2-4wmnd)T&pRO^1>KOQ223rwOZ@hWD|NzgubV-OZJRS20aTaK|gqZ_8{;fW#jn- z(|U)@(4ax>Vf?!syOPr>eiK;_ubqwcTsm0h&CfCH`C8up2**yre7HE^d7L{ z`UbxHhm#7{T2RyPuYFDq0EBp6pp!7M-(tlj+*E4)Zsro4IX8~H^%C{#_i_I70$tPc z;6JI_X>WbFoD}OaJHC>i^$V|A9_1ImX5(X@ zTcoCMpWD8WeL#3yHU=4cJg1>0b77}(`uQEU!m=fBq<}4wA{J~Oa0E4hTZ-;#6KH#z zS^qo6%wVY5`&I|A{kEbm^%D;P-C0ew_2*#x%F9rMw*PBEuUtvn>iFBRyusS@@zor1 z0k+kBVQCfbY%!t)#g%8sG7rn2j^ao~3KG@+09n4T1Y3>=ObAKM_`@IhJeQ2JHRI)! zZ5I8Eo+1Zq1EQVPE(<*b-i%zArz_ z@7yu-tMi0L)1T>U*LD*sT ztp?@F=?<$V?5u6SqX5^rLqJxDl;5!NbMg~C`M86R!kp_Ld0>XSoq|TH*?aH(LUl=A zH!jC_xB!?--GQIac?-6c;<}!)A*WOC*t{t9rs<=JyYKg(;U;*57SU<4>Cvnn_tM4R zN=K#1CPXW1x5ja+kLiMrsifV}-Tk%lIBN2<>b#jzcz|u+(N;$vE}u@}qb2I4^?OaI z@A_T{;!XnAliA8w11YT?vtDzm1V>HjgPBYkOxe9}C#xpun*2>J`iLopo0clxr7n;$b!+oSsBiFapNC zAZw`#+~bt0O0YT3D*<{iP)r7_v;UfCL|5&FFpnEJl;CBm`s1%%jQ|iGr%P!K>KLNK z4>JL4G3#Tu`X^^ZDgUW-YGkm})EcZrcE!e~In_Q7rBDxIM*lJh!0dk(n*Tpq|I8;R zYuNmJjed97ywHP0{ZlWibSGePEy;|BTCRIK=pfUWlA4D)V8x!hCEuVI9L_ zuB_=6A~+iz7pnruqw7s+SauCh*-cFJ%H3@xy=^XAS@?%rhld}ZpawEkCrx0AjFBAJ zBkf=$-ubP#p8ow$=-e7iZ&UrG?*`j1*SVx{I;ufa@k~}91dr`!1?{%Q=8LS7b033x zD>alfz0fUb9b`6e-1YPvL}Xq#*E(iQM!y`ZC1n~zy2qMxn6Qac32}U&7UJ|i+-Xdp zeb595w{`L%xu;Y$JL;xtOk%HZZ(c0MLU@jhHPa?#j^*@9_i=C=)6P=gc=HKF(b4}Q zOEdYkZ(s8Y+H@RYs>yVZlulgs9P#FMZ?Y}!io&M}4qQ4&zw$61Va47su<0qZ`ZQqb zk_n=4QthfP#UCx{)natN-yW}{J%J%s%X(=+|C9pk#>#GbbvXZPHDqk~-(3yC3Eb(7 z;nFe?@hYV5+e#qL#R*rrCh3N(c=jwc3|F&J!YV z^RMFmWmeroFCWF*%jy(=-we?+*OifFE3$+`#q^$@LHW<(A!LBunYrd26&3`QAx-UG zX_x%4fjBi6I2Q6i?caQ_$7}m^O51FPOS)*RVlc16(!}>pp=~;=g7T-kU9zA#O!B2R68`?beOJ|iF=-OL!Aa9eTXU<>t26KC2#_smIB=p4f3;rIa(*7 zh95i)=o7mNm;D}B$hmthnmY5gp4|B!eAK=ECDuSbmbqHJQt1ZgWWGjf$QbelU$`zM zen{S>FT$1JD3Okh-=tpLM}~;&lkR7FL=`X5S0x~!+RwQ<)Si!J3O$R4oZhj}dAn%O z$EQ;q`Z;>s_O6L8Y7%mJM?>RnP)cO;8AWmdAvWKn&t_*Fbh|7ca_aio@k?e8a1CqC zfiG{N-`z0x7Nm3%H;u0L)oSXTt$qWy$JlF$TV49#PEr2&@SXu5FpAGStn?bw{Z~<{ z82Pu060V8-6kXI@|D)HHREL&&2(__zIn7qc2A61@X%w?F6}~9kJZ#v1SW&rVwtt`5 zX{E*|D!_Qn!m$1qM7o3T@<4>JE@qRnPdwAk_{>PzjZ0Aowg}}Rvl{2aANXIEdy%9R zF)LFq3Okv5172p|7Hm$Gf3LN2JEX{UIzekC28A|~oo6SvHHNl=4bxE9PE_E~2Cg^i znR%g6dj_#U67<6whCWj_uhD z?gK(gI>DUvNm9XQRJZnMy9%z`S(`lig!;tj`U;SU`;Y6*9DQi;y*Kj=7vIyXt`25s zz%ORCUUCoX^2tyA@Nlj@CMLgeGt+A&%w?_l;@4T>UiFp~SgNk8n?GNfyA;@!HHown zke~7xa9y8pxAjZT3R69jlan;KZKYTB(zU+*&Ihs%KD;5Bb9eT5I@NkG=XtIc-6Qrz z!)u5rit83SUG@bs`RPg|VF=R;!#$60w-FCG?-1Z5gi|R}iBWT!w7vUUe9{0tt7OckaIlb+2RUdM zilh0u0YY+Xoa(Rd$$spUYnX^t(bVwvB%Cd@C4+ltq8TkW)yXeW6q!)zqPCMvA1AsbsMcfLr;=(Oa^&W(tvc5JX#>A@Rml6H>nrs z6n)&s3rsRO^Qj-+{fD1LW97E|l#-o>)!e(*m)lv2woY*c6IQtY zD4G>tA(PIr{{dtImR70T0x-^5HJ<~-L$G4}y82%$#?1Ckm48=^d$)o^q&?RV8g5Pu zXk9pKH3H5mLs=_=80X87rtQG2-x(j!b1GictN=Jm>!^VZAMVrFnH8Jl16Gn^P*y%^rYDw@ApVc8QaP!`$^?`%oIYqY;jhG6TE zlc`%XM51!!u`CK@M)<_0M~zOqk8d(eCzyH`b(Bs?-HmITprU=B_+Zv!)%aN28(8_? zFF=$(jSvDq%1Ee51F%Qxi_1jeuaYw z&!5~IA{1fvM`D6*L{#=afE_SOu~cx#=k#dh?Mh@jSX6$KB5luTInl0L!gXn+EVjlz zkyBvw=3r0v4?zJJUuKO%)VO+PjZ@QJZm>+KYl_n#H(XYFy2rwDIx(yw4}XD}e6S~5z4mY>MCm*O&-tv$e=ey-58(k)CI z8u{X>Gz+75=Yfdo+ZE_PZNUOWJ8+@R9TO8aTfD-@84#5J;n{a|FkQFppuG0nAv!85ckcXX&boo?@$;^~|clBj6TXRN-1-3tb0-za6A zTx4#~Qt$`N+H}-FVFHhFI9$56Fg{-MLc$WWH~sW_LX7|#vkeg+tl_!d=}2qpjD9L8 z?(CARh-^z11$Li4h_uxWa?76bn-a@&OV_3Wkf?fiVd>%ff#8nZ!1U-8JDY!Rnmqeq zq1~80iLA63Z)tmWev69od?>K%XP$Odqo8TaroJwOQ?U^LA_ao=R$WEfIM{Rx#8c7? z)%^`_zJ85_+()(HNG+32((D?8i%rZ?FEODM=n3X@Y&1Vmf2C#|_7cPIvOWL-i~&oC zs5wD}Muv>@%`GqMH#4V`y3|c&_34!kUBxb4);qTq+yTuS`{VLg+QKiVS(ZJ?mag!_ zF4%sA%Vq%i!}9u^QrFW#5lK(M^E1=Sn)XSy;|lBJol*bu9hPI@ml^>s~=8MADqoXqJ@>f8?F zNt2}4bv`r4U=q=$;r&2s*-RIcS$EpVJ27QY`cCf9oraB>H_Ur``*iHN?i&Fj3E%xS zPFuvm*U=PwKHXx?Nqk?J2f9N9I%xXzCg(6cF0X>0k+` z5_eg~j%$cViijuRLP4yY#uE%CwhLL+4$UflN!eBfCwvXR81IQned4P6q)E-eZzd ztGzgvjZ4IagnPK)!8b25p4 zV8@T46Y2z0HOCR;xui_@Zj|t!tp}}+0Z2o;)RL7|dLHYt&$F!>z^?MP6O!STH#`Y9 zAfng~ZgEOLX;2zwkd_wd7(zl3Mn&n6kZus^0V(MYsX-ADrBhnEySr0j=$K*V zeDM1`>%427^R9J%YrX6F{WGljhZsKheO=ey``Y`9zln?K{f3Ls&5>qYBqcBd{sJTx zluCEM9O2*%90i1;MM;2tp#eBZU0`=Qb3w}I`)?~}pKqdM#&owx;ZM|3_|zPg3}D1a z4gkANi@DkUG6OJ#|2*67g}vPO%x+CNL6aoTQk`E!`Xi(5Jw|Yj$Wd|Jy4cHvoI;et z1R#y$7SInvBUrixmGL35z*73OJihMqW9quL50Nh8%Tzqh!WNlASA9zKqvagLYk@UB z$+MjtL57z}zPq=1%!A0JFN2I}xVvsFR(83vrMV6%?iowVy&-<04Z<_W)+m$U+PeK_ z!d2q(c}$kwn#;OZAIlociSteeGeK#niHSE`YY z+?PNK_6m*iV4jj%^4HJJ5tBV#`I_5@i?V6_8F^C&_X}g#Fi6nF(=Z`X+2rW@_u?|= zCkgD#0$4s91KuOGs#~Eq%SWH$;_zTj9i7O}$9)M+nXl*k?f7mH_9pW|jeWLk57Qew zQ{Sd>`7iYeyeA-vAMxh6nU}F7ykT>ddU9c-9Q|it&{BpYhVkb z{THB_-5A%e&V%}0xw2n}aT$rf-+!i8WAo0Sc2tN__7_A3Bp~;E&IAxjW?$ZPhz~pd zqnBSIpqu5_VLOWhX+SlP*d#^~EbAseKVnHx;;{=DcIV{0^NK%Fx-@vWwW@fww22;0 z$^yDDlta5eFP^dI!G($uAG}u#ZM7Aq6F3xDk|)%#mdoR5UfRkioy&=l&?uFLyu>;l zP2=NZn8ErvgD3NNDRR7Z6rYwzyaPx7$$8leegTPqND{Z$1X39i**{%2Q99-cBC2Kn zPY5Jnws`O zj^_^fja2L9E~f@#%$I=kk>Lw<4Cm_lhkEd5wpXkEi;;swIO(gw0qW_+yjKR5z#w*a z5TG8^^{e(i(%_1Idu=<>1_F{Op#V@bx_#P&me_+K3ndaZi*M%R(f;ZrO7xQ|*x5Fx z`IjwE>m`7VSJ!`UkdQ23Y^29f=fu(gP_jz$9c>=y^FI};z$2tuWKj8F-tEtxwOYL? z3q70`3NQ+40>IpLa)|KVdk5l4zCowAcc&xTIRvNA_u!4fg=EC9e#w=#+ZH!wXfR48 z?_ahA2Ji2CtOrcq?+KFu97G4dF7p&|-Q$05=k!ok^Pv4Fd9hM+m{Bm-pVrI( zAv9w7a|Edw;M|qWDWJ36EIQ=Zpy5&Zdc>-goUOhF;s9 zC9(bMz2_hL>Yw0m7N&ArxlU2)M7qvKP7}Z4ConFvyE781GsDte(7li z{**XI8Ilp52Gp8&E545`?fuJcvJ{b%l3d!Y%0VAqSo~`^a_|(9)AI42&;rGO(S{TP z=dU8H+){bu)29@Qj+NKAls&Freu49ngo6nribsAW+#x@@pymrtVV)?8pkd^HjNPHS zQhhn8P)}a!wKwxfR+PDzI71`h^+|G@+ARR)dyCu4#;d*5j7bAL0N7Qa*jTm|23o-ch}gd# z0P3ELWpoAcu#Os8v)#3`H5K%5KuIym88F6VC@>?SE9~ZfNba)+?$Dde$a*(XlJG}} z|GfBACk?{gb!lrf#zpq=-iMYd(JqdpK2R%V7+Ih?D{l9<-Dj>mff1wtxpntBASWs& zzxzSBY%4z-JlPC+<)D3Ns?CN$3?)Fl3Qf{muuqnM3Tew@o1KiCdW1c;;T)GGgfCH?^aD?eab8qBz6N3;256pBlm|1FYg}NX-1RimxJyC|1C^ z)LxL1%^lQfG}9@|{RLR>P9>48<*F4=Awn5z%LZwU8bj*cz79&VVbV6yx}gHhwL~1Z z%E%R`Vl$=XL|H!wkhkZgNMA)hS(*$5B4Q>O>u|!2z#S!6#(rB$U2BKG2ls@Ol|j^Q zZ>2(l3w&(&7OAevIGeh9Ijh=J?Dz+1Tbg!zn$|>ALJrHUZY1o;f8&nRw+I1gs_OY1 z=8dLlQ^qhS2>JGEsSBAxb?lWuq0?Yte@LfOYo{yeYQfe35FJ;DKvwHFZv^e9esLSR z&YvnBHcwsX+%WcO%7gh+rQHG3H>Qt73V@?b(lX$1@gG$5cz6KzX>$&D$Vnfwa>vd& zt9q`l8IG#90k@KnEx8N{v+dJ~Jb!u5Sp;}GfypBhNT!ws%+0(mMl_`nM>=cpIfr|K zA43aNol81&(4Q1X+N;jMkUl!ao!-6fCYNztK$~;y+z9KQnBzgD-FrZ2s)$YDkxNoe zYFs8My%BqIi;|&JiZUP1fcMSKaCZBt>414pqY|!MpMUjl4s4s;eRZE-J2oLn=bO` z(@iV+pDX=Z{!WrQJy9GGJ&Ea_Wom#>xW%S8DET-`#BANVRZ&HH!!u670fgBaHJ1vx z)eWJ#cLyBUh_a0?IHPPeWn%JpE<13lYZ(n&u`GDk9uzYNAeN;)O@QUg;kI>IJN?-o zjz~Vh70sx5h{u{)R-K^d7o!1IXrdcLCVfKD$X}4!qw7e1=yOSOV1KRbql;uFFE=~~ zPlM7|K0D5O>}^n5AP{##qv{gpd>^FiLJH-<*w7z=GmGcs9gcZkwksl^!Bck~Q?>lE`knd&(;)w}qtk|Gj^ zY85z-B0ejDCP3GlS_9YMLPt|AMJHP#oT44E7m@35A?Ff&Ye-GO(PAF^4vL%L-H(*9 z62)HJdsc+&W};-biMPv4CMujKJ`p9lFvR!ze!&%-8Uu=x@ze(aOc@ZxT%dSTu&RGl z#>vp9n*fVCEEc*VcNS9CZa~=%=q;=n17R?;73;(9bDonj5OJ5WrhC#Qf+E-fTKB+Q zZg(hTU9L&2j}b}Mho&-IU&gPlN=r+D1r6`Rm1g~$&4^RF(q!Of0$Qd%qQ5Ou?|-^w z0(>_Ehq>gsh)BC?Lb}qmM*NynFIlpVYP+jL#(Jr1CZ;Gso*yMHXa4`#a)0$G`<<7n z*N&^7ta5UV$H`Qpz}3Cszsu9eTmPu!^$h)E9Y2`j0fx0j`k;0~HB%p@M(NFqt+?}1 zK)>L2)OPpa=!vECt>PCuVt5vKq=eQ|gu$7U`_{8|ePM|n?Hk}0T z;{A4-$Xo->2(as$(n251Feyoc3%nLxi&&?TnWBp0-L)xP1Y*t&E0!kFS5wo|1XR1a7^>? z|6YS%3Mv@VLGpz;Fbr}rD7ehnNd`3hV5R}hNSW%Akc_xHQqicKYaCKYZF4Mmqa{h{p*Ifan@&Cl-bXewd zS$5KNEr8KnM%2i_R0m}-$R7j6)0M)$*N%+_U8r4}re}_gr|z#k1qPyiPw;8y)yZON z+}7`Vd4~yEo0CR8fwl9(+Xqp zkPx49(CCcnL@@dQbB13NR^{E6mrh+qqQz zTFnEN2ft)U92XKr?R4N=T;Sovpiy6n)dVOcK_gRAM&H_^%8m|}hlvS8$H8UNjIRIu zxwqc;2#C}6UW5l;f)NdlFdqAvUo1@0Ck|JKFpTx<@m#f(ub7i2^k8rw2-sPbIjpn% z(c|sxfOoM-biUwg8CTI@w>_c|`=R1|0YdppHuDT5E?(_2-IM&Y_-XZ=n^`To)^-$z zhG2@zUPF=CH%2ILG5|0K{0&8BboA{~g~D_EkxSWW4BL%YzyM^1EwA3eYyAyiFo{S_ zfJHOA048kRvSvQnq0y*OMPRpF>g3T17{gFUUS(Y-4{a3dE{t!b_965IGL&_5geE0L zD^xlPR^dh-Z6zhaSra-c%u+k+oI1JUw1eq)FY50J-?DpkM-{7tf{>0-HYf|ln)7ZV z)+EYkNst-~=Q)7buxQ1uxnjz~up~!RII6>nRssYV=+(4D*&<{+75&%Xq0A`L`=ucIh{s=)gf_B* zG%{r~{U|RQkw#`l=!HsGm8-MrM%}56&L-5!B0${w<~(YeTUw}tz-2MhgNbeEW7uW! z_HK=9ZVkbF46t}Lk@fjtVPYk!I`{Cw?`q(uTF*}KVIbZIbnKSSd)|}gN zxsZxZvjslsz)pV?7)3H*lIc2e?K0^#SvPU*HXtLbG36g7N@z#SL2DM+O&3=#_<|Cg zDDQkU-$Z|{FCsJ8CoR15Y5&s#gUt_{Nz&Jto&5b52iLEfJtO8NM*&r(xc8GgzxJY= zf;|I09Mu*?GDX1lS-$%>kKzoAOJu$tBNlT0R6Hg#K~3(1bt0>%p9;EJi#Wlt%je zLM|YYiRaCBcpB3C!pr{G=X+<&N(yQ5n?v^lP>lr4J)&>s!l*cc8h8&KKs=fp&}bJn zLDVD$^+THpMB6}^h@2ysCIOPRbzDCuiD-R{;&^T(A~bOlR;;xv;!8-^Zf%=EFDvr6 zA2iJd`rT=i=I`IQ`#i7qLY|r7?q!O-nNpUUIZ@+U{$a7mPzS_avuVecRMa3IKg zs`+{RDe5jBN}7pVYW;YZ2pa-LDs*;+P+>zfL#g(Lw}0N<{KN?+9<*V>0r!|IQBX6S*bsxy6gCnnUinhrsWsV0tpLzlGz@at}woE6mtQAJ~(fvu8f$%_C2GL=v?R+rgI{tG8F%nn>~ zj3xkWYo1PTW|8%==B~=Rx{0r4~5G1cZy8SH6|%Rce({Tr1RG~GpkXo(15Q$ zOZoS~emzUzS40o=>NyJAsgHB9uy7Qmv9pzI0=jYoE|26%;89;f@MO<48|`qZ-Pete z14D^@2xXQ|kfSZqYZNf_G z5;yeZ0O@G;%!992z^^(r|J^_aavu8L5w*)?R9|ztR9`+At^tCr^`vac~<|{ z0(Eh?oSsaste{Xnzkv9;XuzzeAEx5!f`=dN4@cs57Nm&)k!Ba}@U>---@z9T*TI%^ z$VV{^r(^l2Y-xr*%eRCAE;HXR5{WIisYx<6I(6g=)sS*L=@)1~*-Y8YBnO;JLglvb zU%!6WK}{erZBcYb|b`8zt`K{>V_!wsqWg&^^JJj1Jvr4{}5+XC`>DSW4PQ>oo!QD{a5E z6nej>Bcsx^Dbg;8Qbm$35(b-}cg!k=17gQBUiF5eBA|RS-Aiy0n?Owr0suG0Rtx$n z@PhsTQPZ(b^prrPxQXhUcR7DU*CM@uw=CWfGT1B(G@BbLKzibl*?N3Zgd8_c--Gw> zWXt0|_`~y9-{$#b`LZl+S{rX&OgY_OvfOd{A|vUWv?6_s7qskYpNNduws|Ty)#x1R zbd;#svMb~r)S=gSe>YQ4Qm?iCv^bd1qo` zq9ad{hG2&nD_Kxy@%r-jehduY{GXqoA_PL~(9Te@djmZOhCU`fJ*Ny9FP=G{KYKFf zM-Qu}E&d=*T^lLe4`7I8C%{U*{mj^*Nw{A2Aj+?w(F+mq!m@v+a=AUl=r&yTWa;~H zgc^T8arE9~Hqk3yoN>4P6y)5x(vqd)S#itr%!UlZPR4hSeH<^Q1z=QqydIDUKh*U> zkn?Is2(Zh*I_K4yse8ZS$gQ=-`D(`0Me*0I(AS;5d7G@W zwpWUDSdP?$M(^o6G_dv|C(|2xu7G@9nwy_`9^9%*n_hA{C3q}6+Oo#P8B~j}K(DOu2%vAH3jM22@r1u6vJ+kwlNX#;g~Q=9sU{&!X=v;q$00n zd2N_^b7M9v;|IAG)cn3921clTZ^7<_Fq5mPt4E3iJ0E_(-4QC_*qZ*@NVXZ2+-4+oRN<)$Ba9lE3e&8o6?x#T}JK_&i7$*Vz0jlARup%B#n& z6gkA^KE2;(4(7<>SB-c}f%v@Q%!fxOnnoXA_(&X-g(VMtI3iE>JE;Q8STa(6hc%RB z`m;srFokFrqS$-uBj6d=Pm6w(HIqWT8f(5}mQLS9Ug;6vnv4=A1!Z#Z2$NOg;T0{p zx!{H108zWNcV5kZ`9ql!jH<{-sof`A?`_IF%%6kkm2kpLsmo~Rm zr@7&l#)KE1Gc=O2q8Wr2pCmJ^Vl<3%#Rq|7;$g(FjyA2;qa-K%aNRA68FpNeKP*c4 zh&U!g|73eYm`nPBo!k=Rdw$#dpi(9Eq37{$DrxOvT`Fn;BYI}S-H;0D_ak7lP_q zHCgWjoexc$RZkyUPaf}CkH5zpH!`p4M)q^6-&t(fN_XB$o<-AdG#nQ5mLh5rGzgLV z4cY*z?0GT&deWljq|;o$GjO%CX@)uE+&sHt)_jgoe$D!vZxgM$XdX{?*5uUbM@1Gs z`Q(0!t9GMd8C%dxPB5Yd^$`l9ubTGyb3vC7^fta2_~R`+T=s<$J`aQ=OK)Dxkz9B$N207B1 zvOJL4b4-<4UBs$h^wbvmS~|GMjcRykR%hQjRchAC2`>nTxk?|;9iJ@-HHDJOY9QyH zI7eaX4+3N{)bS5tDw%FA&ZXYdNt2I3^lE>oqNO+(-F~BmJ}+U=sL5*%Cm@+K+~{3Z zukU`~RR~^CdEsSNk_AuOQ>rF)7A-w7mhXe&hvQ?hGhO#J&6FhLl|r0tKGI99jO7x< zr0$wB*)>D2SrwZ@?0QHmclCs$SrvDGZKyz!LStkuCmFYTwIm^CDs@x-gVJNkn6YF# zwPe2?5IXzzX8O}-Ax~a}(L5Xj;|)1eIUu&ef~G8W&pLo#FAwiJ}wg3gN&`gp&qm7K!LHaxsKY?J6kfAYg4 zkfJ}3uuP2o-Qk}M>j!c`P;8mlH1Oi=?BEB)#PUG2_;qUt6Yu{naM9irW&qrbJSAVc z_iRqn;P_>o1xLq_aN_uVBjudQ8P(<<5C%?v)}(SxQ)*E%UQon0n82=#!=k+Xj+(78 zVT!<2f3}-u?o0gU=+dBo;_1<|+a3o|gj}@;0ij;Rjw1HGP8)Q2A>HYY3ueU1DwdWP zvx^5+zrSdEM^a6>c38uSr1X#EspEp=N`}5ZNe>2QDH=jF_qWwu3xCC3YmDxg9kd7i zXAw<7NUXk{z6qyExVL2J)jkdw0xiIG_!{=A<~d9sW6mcRbv*9pcf1Dqt}P4I1mwA4 z&IR}>yyZ?QLVX`FdS2wU?u^^EtZN&Z-DXK}L0=QPS!eQQ4C zHydy}$>|H-5Bj-2R~+P;LK6gUFl?f3eRsBT$-dUGmIpyOEQL+E!aXMzc$oWgv|=xl z+3hHvBQL0+!34~H6~7OPn~|fFV$$1bZMP_C@zv7RGiVzznT|@QusK)wt(8VW9nB)` zTZFHAYak=lF2%0ygqoI6#<7RV1N!%jvW^$B-6E2ne)2ED_#uM^feGPR{ev?_SQNVe z27LuNQ^nfw*${pRe{xxnrX)RfIrGOMQvPyV{K!XCb}pW|%#FskVhUAMX}<9(`FRPO z0U&tK_p&=EJJwi^fJ68+;pvmAD6f(&)Z#lDH;tGpwy4wOsi9U~Qv3s^`cU2~wmqKW zOT{L7AXZr5agI^;+@>s+qpF z{8P)*aSzV#+uhtrpk!|+pAVakg+z^Z($vQ1k&qc99u-x-Au@d?`_@>*jNJD!TbY@; z>Z<^n$PXe>2garNsfiZ$R$BX$3i1=eA{wrVUFEKO0(VQW z@BuR<|I$|Rw$u$JW3&jtRitaL|4E^4D$u6N_uU$?=mz#KlcGD8fI`ZHLC`u@e1JLm z2a(xtw`itAsb=+XT1c||u^wwE2Hc#LTR$8||K`09#{h554@!ZT)s;CEp@);UUx7iH z3&j%1z2Il*VZXo- zED=K|%z;AGEs~xxI52t4WP!sSqOPlv4s{{8XR~5|@9$7TJ7kK$Lf`KNw1PenZdm%W7$V*51?r?eat@n*W!#MoBFJH?{+@B?w zRVVHQc|Y4l@1~>#ZCJEJRlgjhfu|g&>mRl02jsPFG++l@OJ0_9w&e|? z_kS#gLbVEy@PZmyK!-X1s%H`HgA3##$GiQUcYH)D}bKL>;fcWX!R0Fyr9p}I-kR7I?0}oF&hEg2*5PNfXG?@{#kGeF8;MQE( zba&u<6Z!bVPZ)&L&5hi2TIr@=y*T+y&^d7IUQQzx=3GaAyWD%fRKNaSfP8$hYRgk@ z8QV((j4oh{?tSiP& z)%a{YMIa!U2qr>K`QK*)^A?@NFUew&1cqh zwYNS`N&oWl`fPfZ5-U2Uppo+4OQuQ*+nTTsoL|0q$BAJF$e0#SmDe3KK%|d%kB2K3 z{lP&hmWF(re(V`_^&bF)V4=LaX;Ck}^4GY<4z;E!4ptZzF3SQgW;GA8s~votcuwzd zO2KrNued@5EOnpMr;vNn1Ew^W1?D;ztc%v z=ro^kXh+*TPjL-DuWs!tepB@i2bR&Y537o=u1}X)>po%KmsmnBUb>_7S86tmiD6Bf z3tdo{&*tpn$Ljn-<0e_uV6mS*?MnG!b<^c(>RO4->5g1HomfzA#krApkR}vuXMT?p z94n0|boAkiEKmDt6z?6eJy+}}!J!a~=Nmk)ENANa6!$uvWxU@8?oxK`TRxd(GGF`7 zooZGjK;&EnC|e+f99TV2wg_*^)@&M4ffFu{^GJB6))2(k^v5<2bGq?^_ITS22r3t< z?;e{={$8D<$+U8rg;Rmq_u{BiXQmT^2kpk8?@ZoMVUYdm+>t6=B|>nSCxDrVT#d~2 znWl-6Jq~UIBI&wecS}G8a0ynmfS?!Jj^vQHR^&f!CAp2v$l+Jg>3yUId-A2x>rw*= zJULNCqQBFEZ<#6j_rzR{a8E$r#SR;2M!Fz(GuaRjJ@bFKo8B|)A7T!3n<=)yHlw`CUY)1dO*}l8W4Gc6_+GIN23e!4AHd)=yh(8q9Q4n0kNEup$9lubgbp z(<5s;+DPCCJ}^4z|K1WMK}5|UnV}?iTd11Seczp{jVD|D?eYEH z&jg^my2bTZUOFc)ChZ^1Rmix8?yEu)CU`rY3uMy?$iPs@U(!4HOv(XqLOvLcdWQ(u)s>06>Z9!1x0 zA|nOF^w9Fo%kxz+B@>rK+>#GW);C2oz^O%s3Ak~JwKns%%&r>`*b$Q zKHWW{$pj?Y#H>~2OP(e*F}1OiJE1u#VMyqK^P!0n;1_-a%^rT>O{NUWuKEvo_0^* z`?Vg|asiI?0GjLw=i$ZFD|;&|!uQv!SqM}F1KcZ}6WgSEx-Li<3K3bj z->hlr8UC}2iae-os{ojCK=!u@>*=p|=PMSw6-gz*jOU+na^jlt_m1gO{A=lE?HP>H z&y`sY)r4nFdlH=%rY)yO%R56VZ2<_RsqROtmD9>$r{0H_#uq1+O#mFav45K|lF4r> z&-{n}H5v(W_ol4o1iJ-xN?n5iK*0|p_zH!vQj?nkkd)=fQCS*i&eBwUlkfy`{5o#$ z-9~-!)v<(}t9#m*&rWp!5VH%?5Z_Pj!kjw7Xnx&diBJWDJcj?3edn{UJHAI2~Ys3tBQr2HFbtg-jPQE>RKT==GD z(AR%H*8evN;c;PXz~ebF=V`oA9zQ+#Muaubb7SoDF%gD~Hm%+e5wmom6E1+h&}Nt& z3FZVLxMNYhqz^~pU@LWWfJ2sz>QRLz;E>f`wWS!@t89}l`j9>^8R(@(XqkM<{Ooek z)?{gqO63`*vbm(5g}5KGQJ6VzcijC$_~wE)qy5K3#BDmlrL_n@8#Qn--UZ{>XvjY3$_WtKhr2-_OTM+ddPb(8hSbBY>=z~a zo*7O7;7z8F>kkOUaRB%_mf)uOQttk5Fazy{Po6jm0D>#sACsh}#ShFxTKfyHX8Taj z3agj|uD#T5C=rG2bM{_S05&+o3o0<&?*0ip8vrCk42SF`4vme`a@HNK#$&Vj8%>6=inL&d>LB0k*N`c?s z!6~v<1L%!%gs__j7n(7Wl!V^3w|*X>kNR8%+GcO#I~F?j-^^z|XF+B;L+aIY)Hk5Q zl!oI`%^2mj2LzZFyftO*2d@4&*605Qz9Y`vg|2{`c1t4ryH(t9vj5O?W5>7v7hTRovG!U7@y@ie&M=eU&bUt!CWq6A0lIMM7FHEoo z?k4i^@LGP}%P)Bm6iRA;TBwWl`fO=f8H%Kn(?I4 zsIOiXhXM>~Ak-Md>*#HNi)4q6_rIDZ{DOJ+=cBp|JGOsXzt(P>)Cqa(H6*d$p9;N$ zjOoX=`v}vq-3C)E=OFx!d6pBZls-3%#*^Df+7W-x3<7Ee;q79kf0d38e@n;u|4}+F zI<<;A-aU}Hp%X!x5a{t=!Urf5Np)i5qQVf(pZ1+UZ>1tqO(-;2;t;FMIX1w;cmU>xpU2FX{Ro zT&9FK+5qTPhNT#IE`H7*k#k^pw<87wGV(jEbn486#gyqn$|%VJjMhsWBhB2H3P#!gHcDvO`hGTMEqv-O1#>tX1!Rnm+jZTSg{pAs8nuR9{h&k-hOl4lQIx_ zz{iH`RHp$8bHN2xo&wj3KrqZo*DnAZY)Np1hwYuzH!VZOLf*($vOyje>&Fw@GTWGkb}|T zL9S>8)?q3mxD>2mq@L_N!y8^j-S;JSbcKym%DSJHo&8iKxyN=i&eA|O6&ElhTYM8N zv?lV+Q>f@2c<>k3UfzE-BztW76>xZlh#UusEdb2aD_!PZ@P56shn;0V`DF99GifMx9{ll;Ww0h5c zx=s2gc>Z|RYOb;4-?@Y9y3t&h_n#iBl1IifS5=Ny%Kh0zH(4V?)bUr1tf^_5{)Klb zh+tujsQY4zUfvc?pL}OO;@%bAOI7nt&mtrw6`PVidubcuryj>HT`_HY=AI{C{ib0^MJ%Wb$#G#a| z4v&XBo|f=?b(7PYYBaokXP&?`9NH@TPSwi6;Wh-h&i?YClG!n!kY;-C7M?|+Zg~en ze@xN6FZG+C8FKGFJnvhPo>ILE;roTt7(w4Ft${5g1N;2>P#nxxok0)Dab?vpPHgP#_uZ&L3?iAgUi$!G z!memgrrFWMuv@jwOT(RTVltT{9eFZY`0GpF*^v>-{mREhlR*4}zUeUl&sl^ua;jt& zFp#IIA6PbRUAw+>yiEu}?JFHR(owc$`J&rfGQ4aH3~C+sFVn}{J2*fMchVPW}P8=qlL0m=?IZUjb-^fNp|ihk-4-qI9%_eF(q!?fRd0g z969#mEYrxc$*fftiN{7-^CO0pG(;aM8>549&F=aTrwKm4L#gxZRl;iqPz6h6Tpr&W z+Q3H(nbYyRIakSj?G!2wf2N6|b9p4pltv6<74c4HRxjlCEplJgqp>Lkt+Pk(J>50>fLa!`qXrtblwcb?| zPt}94+D(+arqvW4h$q9_?#RW;(1?nfE7I~-v9;PaV9=`cy_;OwPsYQ?62L$?W45AM z>h|tb2K#gE*{t@Tn`TZfpB!lI?AZQ09m0Ahpp{zdTpS$zhs6by2Yvg zBgNH!#Z-xY#$~+8Kwvd+dS{Zd>R+;f-<;l1A;bo-(^JpoDk=2D=!+JKlcm6x(oRM? ziKe=%bCd0nx7}9m35(a)XY*1S03Y{aNrZ^H_B2|Gs0FyBpQ&l3(oy?Xh#Me7B|f)i zS?E2ZF;30&N3;*Z9pu%df@7YY|5!9OF3{StWCxRXoq*0BYwoBpd*25b&DC3%pKTCh zBL~K)LMyaD^`dpPLVeu!PGSO-7`a<%snckx^lLZV_Tk%?98Z{yua9V6YVDs1@YnD% zx-0?XY%)Ud`Te-HBc5WW?`gf-V4NFZ`Y8^M05-%s^k7#Vwk`^P#O*VWBT*w0iZ%R) zk1jHMOr6CcmE|xx&lZL{F)hKrh_U zNdH^A(!(`tPJtu5Oa$;ReN~UKDGgzl>AlDx_J(&6kH-O+`!m#&L?f+2_X1^|hv&c@ z==XlS^3Z~RCSTp5z>{@Vxom-woKzO!?}REM46+ z!+gNx)4_RY>g($2GpJ|R-4e(GK&r$xIcj+T9A>4FF3Q*EdsJGibBxQw1}2Zl#7B;X ze&=p`MRlxRAcA==r++wc!rhh6r)$16YWd99mO7rwN-gBVZsuYqLm_WWDbt_o-F1H? z#7CLckxyqiyfQ4XK-=+1gM@|k`L-FzP_+z!XL0CpcTSKWgLq^-ogKp2MBkYef8$bj zs?OH){AQ@KWgQNFC5-<>**B^e@({5FEqU1LAeUNh-g-}d0(AOHUz5Q`(smDo-T_)W zYm<)DhQcgndfRkj>E>}Ne5^lw*zzNpnM|K6%O!l~sk=A_+ zOL=n&AndOevykC`n>?-?g;;FVm;ZwZ;!^V0T`wxC7iPs~8QX#@;R~k>AO@H)6143U zd8?b-A7>xJo$!Hy$ijc6pbWfZX`}lF^jhQZKm=&S*#6Oot<7$}1pax*ae>b41kZpd7MT_d3@ zBt%e|Yr9|PXo6hk#_RrLT&U5yMW8LxGtE}snu?xHirj6^3i{CZhA7H}HPwZR0Qw*w zBtrmr8tvd7djw$PxK9Xuhu8YW$U=U`?bjfqp)_LCT81;^Ae6`JJ6zv+cb^cSJIXiTdpA7Pm3H`+ZI3 zil&_?8gG41a1f^N<6fl?Tkt_&68Eg{4Mzfy*Xv5zdIQ(>9W=f66YMuRiXUE> ztzMjpE!@RD-;T7lxf5!C!FzSZfC+~;MMRNX4I)|FEZt@66bYD1jKTiQSL2QXWWZ80 z(6e@CdGAtdKyo)p2r~vVMxP&Erti46w)8Psw0+(Bnb2l2(UNwti=6E(zGFLCs5Tx_ z(7%Xxqt08xubrr>LUg7(Y@eQ0NGAX{vou$f!>1d`P#p{QGNWyyWw5b1j{m*yj{UTp z>iv*M2r~T0YQ6l@4~)JoAI7UK0`4My4w#`L zY{;$=4J17cBq@%m`*|n`8Sddvpo zveMr5rFv5q=lRhb*8!q4eC4MzcBK4F)oOpM*5y$Q+A97KFKDCPJWCy70!;mT-+ez9)W;O`7ok2$5#~xRoHe17!WG2~b>MK9M()c_u zVkyRSs$Htq6Mb}NUq=O$C*TffH4i}dJGv}iJ<8d6_717wNJ=Vm@%yi^&*Ut|*NtB0 zMvq|3y~$t92o%8c-5Uf^x;>54mg?8jqvoC%2!FRg>3|B(a&)c*;d?hN`)+(ocO;qS7;hmb5LS`L75&Y7SNRSvm2e*OW zx`>d6(Zd_Dl~DH?pui&o#6c-j!Co2c?3gKs-~d&R^<$Zeg9Y#48^GT#57kuy$_U%c zbk(XLi7D3+yA_Ltx}ocwsHVTf$ld{{2s4&2y(>0Zr%^01QYWc_*ONwhpFNN*mz$YP zn1wCA09q6DhTQqy`vtx&ho_1#sl!I+V`GPyCl2Z6gOuW`YgXmwKQLEtWBYLKNv6+# zf%Yovx$hEHa{-AVi+ul=Y&JnXqyeGA8=Ih~(!?a?o4*gN~q} ziRgD{_vyap26zO$qd7hEHz|3Zs`FK_zM-Aq6aU}un#4#Fne@A(Hr%q0~3IX9m4 z-r@#5f&D+CCqIF<>dW>bk$23jm@U!OdPBuou+!z2#S@+s760rEBHr&7KMTLL>)+0* z%v*&Boo|=ejPFcwl3Nwaya$|s5;@PQ1Ywu2n__O`mO)E~V;bMTAfC|$GuZ{OvRkB06G+_AqA3#ePm z6#9-vX?9`~27n6NStCMLkI|uKFIoY-a|U4cjTe`rIARLqwBFkXMf`JjS&(elvCj}& ztI#uKqTTj$Zvb2gsg9ty8U9`l7$VNg-(L(Em7qsH<%MSMa!*M&UqRi~nt@z{2pCE2 z>Fl0NfWGfz-^_;k!5gt6PW3Q?`2wJsnHH+k-+>p-qs!PJ3j*1ByS_UM1kB-kCn{HN z2Nvn84awwPNTP#VJ|WByKZ7a1S$o`L@JH$uU;lGHpkM>2+VNjjfSLD!uEjrEsQ1?c zWNuk%n}v4-20b0KZ5n!b!lG1dCP<}%2D3a2>OTh@ z0%WDfQ~d1f9ou4kh2ubzsQK*H%lcsUI40AuTDB*#|BJb|j*9wizlC9_p$AYpr9|lz zBnFTMDMdP@V?a`nZlp_4kdhMVmhO^n7?AFe?mC~r@AJkwzjJ=;to6L>dH+ENb;iYg z-`BP8eeJzJA<`p(wjqXI3!PVODEK0TFyl-yp+3U)sJUp`m#rO7i|Z$Hu>^V#=7vcu z?*L+nBVPJU6PQH|{eFkiIz6Fl5l8_ENeg;#rj*WJI*qlFTc~Mc^|k~PH)tqE7`CY@ zxgRZqpHk8N@`+>t|LLpDV77})Y2^TRG`I02Wg(J&8j*f+m*LC^oP+f(b^2b?EWrf> zN2rXWqIKtR9NQ*&zG3iby6gZ(_SeUj!(&q>vD&CGtmYqVWLvN9BS6<=X|#L-Lr;*v zo@=yXRuuUZ=Vf_rv>2ARdJPecj8V!WE&){&FA8gV5-zo6YWaJ*i>}qI`;zQ;yJhio zB5+6}O1Y2jhjU`K5&S<2^Kki6oKIz3^gh3;HvPI)3eMNYM(RDhcHEMg8-pwDS50s1Hy6Q&mzo3BdemnsTdjCsF zT#OBK55VYT)TU0Ir!FOl(vQMwtdM>BlKT4A_zY|U`}gijyb%-KWJaKF0P|P-+2*q zLrc4!oPgRKrzW*Q$cdFPYI#S{*B+OF`AhkuPj9iuW*?{X7BL#X93g`gbhfkPVlD2i zkBU7Aw7ikxc9~}cFfSXOsQ#aFc!oj3n3RF8geMW+wTwk#+&f)?BoN^`(;aZa8M`o2zNxU9|wJVk!-9&0325bKPq+h4|n06MY~v53@I|rJqq3 z=k0nhYa5^*Rs&^#V0$<=%A90sR({kl%|Ds-qj-R*Tn7u4bGy;vzA}xrVYW9%^H)R( zW3Rs+O`^UR-}On6x5f8Kp$4>XZ!*3idmt31EK4qX zz&!E2@Q>0re;jH01ON{HwRNMN>8FRc8_Z*g>AFiT7eg(wNO*weY7jz2Vi(8y*GFH>wex&Dvxl(Q0O7B{C{B@&~q~f2Im(CXGgq$ zwaMph+BNR#FrFixO1Mk?@iyE2WIcO6ku~fe-#~M!;Z$7iS3>CE{TsD$`yh2DI# zmDdBYOf(yO(B@@?f*-GH;rt^JbGspB1Y5Pw_4_$D0paugOixk0I0oP4pInC9n_NCJ zmkd0@)&dj=@0{y%-}4{C&rf+|(EOZUplUWEhA*jCfACQ$2`cdQ9P-evbRNBsM@36< zS~@Ty!NyvW%Y=wx4%DwVVzerIA2*O9!Dr%fF{zhwP;KAR(t(!bzA*?#qe3BL@XFsP zKO+UVLiY0{@j{ik8&2^Zu>|N}tWt`ZO^<53#h#3@RXt|Vfe0VpVuZEoy`NYA`H+sU zL%7LQc{-KXvV4CiGb*?%&GiY@pYmNyuxG3Ki9cX@c{5Vei#<3vmm%hUHU)Eewp=lY zyKyG01nqV|b>OFQKUOuG)N^_Ab^Do~bq`p1dRIsp?rs>|P<<@L&_?C4fNV4<;_|dU z4WNql%1nEAESGy(AHTP)x6GIVD#HW%rJF{`_Z-J24oc}(QaLb>7!RA`oV`TTM=%3* zfvdZ->)CAwqmrns{Sq;!t@O-Dtm|k13t=%atEPoFhcIzMv1ZJVV+$Ia3B?LQNIZX0h(8&!Hkb?x}vH#T`O4tj7K zOcT^a?fqm+J|T(1`ln^&Pv7TvUhkvYOJ8a19xQitC9jSRsskv9I$k#iV8@QZe09YCY_L5phJa#>4&aTrqIj4^HJL6)pQwsO5^>CP|}K=&Y9e5pN2LPKA|Kc^DE&#foe+U?B(n z&J#jz)fLc#I}^-CVHWh!S-ouvevmPsp=*3s2|zLDgn%J3cY?54F{D_MbtsGN&zqJ> zvmOk-Dl}oG?1{C}i5jK?D;@HLibjfrYIblT)i&%1W7#O3hg{zc;1>1ke<%NyYoZ}q z@|@hi>3}B@Ldy1wQK?%J)S2w4)4H2%rVnieh*wf*e6JaZqghKnjBk1QvzN|TD2t}p zc+Kpt1+K1DH$nTCYWCwTL0{lA&)+T($)Tb?zB#`lkr}SLb2D&Vt04&;uRU?wdhDoK zbu%wn0#%P|UBi9r2_}ADjo6dG`CE^3S7*SN=ViK6oz~Fy{uIxw z>nODWb%pS&(1h(09r*q4+7lF)uB&NO1$2fy!~Ud7gh6QigEwgj{hROFfDODDUdS=s zD!46Mzw~wKNE8rZGJ4`wp|BU|Uf356j$hY-dPazt6}wN|M66$4N3_B$71&C{vP?Gs zpC-PJ;uk`q^gD+ugYq#fVZu~7QubZ*k^a^bVkx`o1BZ zdKHVyl!M9D5cdTcVhKtrBsQ#SAATF7(WeoT549Seb{%nrB?qM^^yD8-x9f8Oe|DU4|?uZI( zfN_yP_zG$OJV_hn$H1*Mm}omUXgBE;FL_eA`h`Ce_Hl89j}#{^1f4%}?b z+^TZdb#qcD^a%J1@=Y9C#D5i(CcB|WA0%m0*@(wRbsixpf4f~;SB~16oOf0KY^QAI z?0`z?`v-hpGf#!TcM|23)^KCILKq2UqzCpO<6h(->@kGYxEfMm$23>N9OHA{1`PV` zoLr}D$=p{;nLl6&b`g*+-t!NQmZLd=HOitn6p#rUpZF;YkSkrQ7iN1P27z&501DvT zzve45IfcOU&uu#w)fa|kG<*?(x%v=Cpkbsic+kcp}Cf3yICFc9~Zm2S~pB40=A$NYJ}j zC2?_OB%ah?J;7GTCiI`4PGsT(PZz;E_vPh)rC;YqHJW7l-87@C9v&(iICOl79rjSa z3-1wI4$m0WOM6b~)vh|preD^cL?4#~i2USmb%Hk|>H+|<9~>8~RMlKm0n%vqt7M^g zGv!Q={BEKhHR$bzfcy_Mi))uvx>$_2d8IRWkB)7`C)Y~-Mb^j2wAl!Z+_tZbRC}9R ze@);^mj90CBnJd>(rxUQ5-0tbs@575wwZn0^;DM5>4!4F8--8SW^sa6;hg9zH*7;twl0BFcl7g$7`9<#ih zpdz&dp^R>^vr%XxWoo1HwYOX52j!v-5x=WItMdC}nyIPp03xHU_(>WDNcjkz>`87rf4NL1KR2*A^2 z**aw3^jq}0MMHT&=BB+IX(aJ`43N4_*ots|{t2Kjq|B^Ya0r(y;YP*XcWWg9C0$v? zb|xVqme8&Zo`Dl3*r|b1t~lj7^4M=r9)f-rJYuh@283h2$ zFf*?ljhVf#(U}wV(f$~gcu5!@oj~5%v6|k2X`=S!M0i=A$ANY< z8E4Oe&qE?KHas0rmyT{(?SR-qQL|L6%KOzYCpR| zTU+>*+ynZztMN|wA`*m=bf?=xn)~88+s`?NCZ^vaO?EH@u{Zm~YLE;+c?qR866a>X zcXFzl(ItF8qHzM+98{*XO|a?Qg!xwQ%8VLtfRFi!a)+=lYi?3HLDoBYO%7 z9e}G0K>b>EOZ9V*@A>)I%qj155iVICsfl6(nm-M98T$ZMHi>+Wu(C<)JI))Rp#T$) zIp0TXhmlazdnmITJZQE-aPJ5^=%OaFvVJ&MGi)v+BZHVCw4&gPk;7*&mjTbWGz|#A z7UE8AxPPTivp&rnl!49qAteTA$lHlAqV{7CRv0)0tt0};GPBC|FS3J!zg~Bv^BD_~ znv7}=N}U1fi*MCk z%57IxK9xICSaFa+V?x= z@N0|GSiE+H-7KMQ`b-If<%#g?CBX44B72FYrZIwSd>B(Cd6-meBb(3&zT0Q1D3zT3 zx%O!QS(ny?m&D415fI@#yyC#Y$%!GS2p1J9Yx$-bPW-63f)vRR$Bpd)*`>C{LD+pB z?^v1#`Exj=dxU5|HcoVT%2)aMYMVMu)A7S&e1ob*$s`KTSj^~{RHxSpY4#VnY>hUf z=DJm@G|!hJD)|9GsbK|@C~TQfnR$>iW=BGV-#KYVAp7EbCF6d!1ohj}c;OKr|7pBB z0=gVxO+RrxC4ZP0;)ZKwDW=U`A!;^jdfLlVqS_l$~{%|J@AP_nYDQzjZSV-WyjlB%23sGTJ8Co+ISj zDjyN8;A7nqkmCYu1H%o-;GV0q^p6(lPZH@&XJzY!Y zN7J%8j*g-9JSZf)80*dzD)aSbBmPqo+sAWfjG3Q;iyOB3C9iLFOkq>r%rjfY zZ=kB!FRZ2aSA(?!6oqKc^F-j?8y$W{Haa}Ne&u$K@MUngABNR?yw&mO$vLc`yY4Nz zR?zn}v4|?=9t8?|emlU}!9N8% zhRoIpFu{B-^b$JeN)~$|@2RJBUGvDqs#|dVa?%BHUsbjd62OIYS{)Ri=Oq^>B|kjf zH0MjL(#?Wi&k;d_9@@TNLmcAf@8Spxef7w{hi?XScLjPt!(IU1TM{^!SCYYnIxdKX zN+(40Yr^*(>nr!4J4C1Q$1&}bQgW5)=c|=v23ppVR$TChZ`Dh`KGx+xLX^LAz&dHI zu!K7w6exrIm#P-U%b1_oWPOE_HY@}4=nPB*drde%!d54llGGcdUh3ebS{EQ1SQA|ijWyEL#6 zk-x8Jl79bRk-uXb<*MBy8pGG&4^7E9CjLhLj!iNDpaLR)H%9Lxe}DZe@|O$aTDgL| zjS#Z->Mf{sr_;D?jB6&i^hD8dzx{3Hrhny#b`yI=xE8^LH+K&qT@sFFIu*mTt;I|K z3ds0GWieLRWCO)orSMM{vmjl7`wyag`yTN#1lH%p{rZgmht}sIBkeweU57LgjnXVH z*JvmZ1Kdam!~pj{3&4YQ+@}CvTE~YG8okH zRqCFdo6BhzqZ2>Z0;0y6oUt80d2gyqE~%@VgmLZQCvjHgF;I*p;Z*vqEvi>!RD`vl zy^|F`(`#TCSwRECe1lmzfGLhK%T)Nbl)v3{hP2EA@nCPzBf2iq06nLL9;VY#5_jDH=j70Yt2!@tiqGvbY|Lk6z8+e`vvQkK`hwW(0^#bl#==TZK1B=6p%F?E%U(7 zR-tbzJ`TRjj9h%mpFCwB(s&+P93(@)vi7y{7_5*}cy43mktq{V_-e2gKsL4EA6IC+ zO6^Qaf;~e$p4?JVGu&0gbP>B`%M^+_X5xNS*15Ih!SAFkWd8K}+C8zI*85ir?Krm8 zR7MsN5EGmYBfgIbHtei;*SU!u|CS(2m~1**c19f1ZIBQFB~PdAonr(8wI&1aC3sE^MC^b8&Tl zUD)gw6VTI4{pYCe+YjeAgqvt*7l5|^juHR8LE`Iu2W=h#VC?OX(RRYUO7Hs%1k2X0 zcOVE{mwo6toe=bgxhaJ$^!x`Oi8dWFozgSfHS$M&8sb+mrHjF?;Y3J^^?X^{RUws~ z3FqCC$HQ@7;oYNvQ_JOOkd#3LzHg#@It)a(xNccD{wSqSt9Zzs0*?#FJu3;u58cU2 z5W7eevB^5z$50}LzZyZ!L#y2>BR&7-w50tQI~sRWPP8z_h>|8xX;aNwo$=}2;Zv;( zxr-cX7OK%_&b6gez6-rf%Wz(JbY~vjX5PySOA4*aB~@ef#_wHPUyKB3`|{c;Aa6l_ zN-D36dyr>ChQ?Ivsvq$N)@qA0eB2>t3H5oL@YbLH3)I|G!6LatxI(#-0-s-p%8J}g z&?bH2QUc_snUYd}EQB*Qph81LP+OHPV4ymP&c{5xnQvR&?(bZ<-TI;KAic7%pAf%R z2S^5N96I8~KzbdXPW2Ar_(K^H7?kl(=wQ!3;01v% zpUy=4yes0HFE5+Jl0(CaXXbsDUq}iY#~P3!PAO>p{I=@hD_yY2+(NMZbz80yn@A<* zEfCB0G&QABwkmI2I`JFn`yMrV`nzMkH|HBrtKQVhP0BikIG^(jAk{{br_-an23G@ko`AaC&VXpa#Y>Q7WWUZfdYyKjRYV$vbol}5F!9%pV^N;XbpPk*iXted;BmgB7CVf?_qja zs!emI@^#Hp37>6&pC|kr$`OR5lky9o|E6L**Cek6Zt0vJmx(KN+lM{uF~SxN5IqEf z*i|>IDJit+VV!($7L5ulutg&1f`wgP^+uIq9i@vHjg@hNGOtwHwfA?a3GPzbE89pJ3W;Nl${4~Ey)b`wEk(JbVD z?N!V?uwt!A&ukQ|h|-~gGjU+@#l1;RzwsK!wAGqYF=wK6O5EH*h4Z7-PY}|}N^HO< z#sq*xRonfnZ@5L}vMjFPuAn(n&tFmP9DrB;aeNNoCO=4aUi`DB^knyID)Qf~>E5<* z3a9bjbY0Gw2xf5qAUy;e{mt`$^QJNZrsvTikfe9>$7U#g=h-rB&&TrEz4oJUL$7ulIqr%q`F3oLJvM_Pv1yy6IltR5~hn$u`s@&w6 z#K`0hS}rl-8mD>L`M6Ifh(fx1nrr~a&RUc=A&9}af2xz6akW>>13oqSb7d8!k?;wF zB+cDe*{4eZ7lxHl34k1+Uq=rpl6r7gP-@~=TbndAr9#umABpK)$!brJOqmU3n%9~q zhIevcQ>iBg4#?$8DA6~?-Ka#OqH1ld`~uCyYR^Olkyi!6b{^SUZ*VbFSXEQtPgEA+ zZtF}01A5<~=^9m;TCGZ;u4asg6<1ZU@08#9s_u8Jr+yT8d0f0o_|L+&1tQoYdVuEn zFJo{2MJRfv;RG^0s97Ns;3Lb{pW#!nj9D~dH?%Y7{FnE(&5bVzv83&YBiERfU zJY)1*5$#+Nb<0nAN|j_yYpeiP4=Y!!!)mh~<2T3+d3d`{im>Tey^AcSW-a924TS{l zDzZ0IJi-TzndG9P4|xk+glyaFbsgK-F(1Z?C%UQiDht_N$fSbg-WVe+pz$r@--%yU zxGE(z`aoqpSde_0A<9S=G1{~amWGWss%_?(-{~&ey?!Oanp=ymt>^Zmeeqj@F|s{6 zO~c5WlG6CF%gU4^*fweX^^Vn2O)Bt?)$Ul*_$;WCwcIJ{kQX}vua#zbnMGPs@%qnbCO_(Nh z;*SetI~$DWQ4vLm0(Z(wh+_;5eBadH4MM^W3=AD5(XU1nF0?5Yd&7J2xu>M?{WuJk zGJAin$wg2t8uhoR3Vm$RntEn*T-oi^s`!d%@>!Ui=@>wbC!x`zR=Fm<$09f0;Fe}< z8Uw7oscSL6=rL%XkNGGb*ECOjF8zjYWx~fi-YtH}A<8E#%YAMh(JCkUeX*y>DG$I> zmYCqls2x;PoxpC5hbY&$DW$j(85xc2yc6R=@Xoa%E-z<`PiXYU3i;JZqKj2HlW%agft?z zXs9akRhiUHr#EKs@G5CPOscwL7_)6;8sj}2;UwhNYw!>gphFhN6M8PkYk|GXmM`gU zEn{J4SN;Mu0?$m14hR6*->zFz_&!~?N9HnP-K3(BAden{dU)A880=QuKxp@^8)BdE zck!Az=@8s46wrwL@4T$u2J3kU2i-7ZZx~?pUhSA~uzLY?R_Dz4YD(WZg2(sLrG{ml zUon3v{Onn!>c0b|JH)tGOqzZ1{!(lq0UXu;+xc)QgFwYRvj8ft0#NaYO`wJDQZ-Av z{5BKn2^n*vwrZUfeHe~!_DBpXcW7^w*_ceEp~)tTS)C?^PP#-_2}?a0XLjn4pF$af+Dm8xM+tbQ9v}E6-6y@sf;y(Y70eioQaZlH3E`` zcr!$KBZ{#rozeB!AUM(dbjUyeJ)VN7g{2mecG6_PX(W6IK22CIv9-(CdyTFDBs_^Z zM7U6Nil+$)E6$tM-3BVX9mc?J8&wu2*Vfi?=&6hT=lE?RE}}My|Ka0zAD#$A?!csc ze}+zKyc0c`2>+-|S><>1Fbn|0lOv^O;gd|FI=)%qPet`EWBsG>L*Y|?YIkLH-sHK( zr1m|=7}Sjmmb%ue;m?c@S+0JN`ET@M@Ez`#FnUf4XfRy7pq8N4ua%xQ_h=5tP-3*P zcncDbYp)_^C+oDx%neM>T|wy##jIHh1Q9pWa?F58-NPlrE%gDndE*ZE02|6kwV9Du zY%oR!ie>oEF|Xxe{CyL} zBw{*d)8wuFaI&?(VvHXY^@f#${GjNcv-%F{^MZ|MMh){Oo@{Nub=_{x9}Dui;>*|I6A6 zK>*fP=ydwcJ-Ov`Pqqu^C?ylGiC#+9xTY5)MF-~2q5mYVV7ik??9>hIa9SS7a%CsfV;Gkbgsu(^_B0<;PLC2;B zo)?6gQxJTbsSFNk2Z%9bxz9fd6-_UX?k*2^#U#ysElA{iteacEK!N5C;!pvUgP0aE z4$f&(a~Qx3QkG(Zxise&@;1R##)(02mIPN$d*|;kq&0R>y{(BB#>vS^Mn)c8_!mQ? zyUNSOw2Xgc0m$0;C_i>lpBf^AfS zgM@UH{ck2e1(dWDujSaP0ytR8hv7F_xeL}6jq7*DnFgS$KUI9lKvaL&itgC_T)2mUfU{D#1`m(DpnFqYI9v3fkR*}2m&7Il$M)} zlR@#A00FNU9Tv@`1wsFctY!eDr+}0r$UN=$-~I{|Y)`ty%KI%i4oJeU#!Ckq1>yP5+jy@(c9+;Y-TuE!Z*5QfdNjNk$5WWO7T>rZOx=n28 zf)$;%&q}3*m5CN5Hz<<77LH_1OdO7j{6uU^Ay-puTwK~QJ4cpAnV2+3Lpn%^3}k(5l*}6#>3HFVVCM|tSK{9Ve#Q703SwlGXR=jP6k_*p zvt|5f8^JQ{OoS%df3SIbhKl+XxM>{0FmV$Yh7EPJiHa=@3*G~=|J13miHRUj{AbVl z;FgoA{{9Q~M-vo_f#&OQ7;$|gV$O-k^9s5rI;8(sF~|S%1pI%Fq;&vIQdF9G|5-sn znS>3m{R--bCpk&{Ms?)dSfjg3*~ap+P?|@bN%lR>^v5JRQ&2oIFj?n59odD9=m~zB zXaF@T{@s)$&7*Hxw|wUPQosP+{g8vKbD5A|Bs9{YBJfwZi)Sv$*-kxu{L!0Ay~(WVkVaP$`N>c{CUF}K_!`7 z5%k3u7C2h6wc*x9W#Tt?Q||b*f?+1}0(_YGHZAcI&A?JqWcCD%ckaCJW${kietcYd9O}>ouq>%dO3= zTTk9hs5Q?~J5YLUYHF%+)1*;(!TnSTqs%Oku#9i|>tZ&!LQ{lg!3i}Hv(lGJyF0HH z?9ia`EAfttpUt4aobv)%qTd`zRI%TPnX~l$v9}8B?)C_Sr~74B^sVyz#qgQ8COHyf zrBAZG+TMz=8K5BJz`Rw0kWl?_0naS*x7 zjg8I>zBX9T5hOpRIa2hhY3~d~LZuP&)Z(>#vdr}I(*z98j73&+8147qh917 z$hT!uhNCd(l=4xScZq%^G)JUT_sJLtv`Nt2;YAFBj4UVjrh15d2HvfvK3V(?@Bt9W zcS_%qy*H7n(O@ttDhO1G3A~)lsUw>Jvh#uOJdvTDzY^uCf8YZ}4}g8hQ!jPw?-(XF z|8SJnNkZYLOm(Jr*|(TVcxQcnuA%-2TQxVzUN_vo0Oq^`V-+q(o_A7(KRZ4@?GwHI z-A!vPEZ@D7cl9AAxUVsSN6h|GDY!UUhi?n%P>seT3tWa%?FVcX`@ToJI?7rta9NkeV%axgcD82ch--isr|^*iDF`~+HkC#L>J(xq>C9dD;}w3%dWJNND|8ZKAiarJhac&-StAvL>|MO zR6^mqiQmkav%d$Vr}d#CsfO5~bewD}$h8snhx)WNMLKvtK9MKzfi56p;tixeFKWRs z&pvKNn`CeL^pK5*Mjtf~1>)hx(0d$|AYWS4^y2Q~3ss*q82Y%Yz&Mwk+w7XbawvL* zx+d4reDK#{6iLsVNS#Bmum#TjPaWA86;%RB0z`QL{F4w#f+yoIXrH}*P4ttqARW>j z=&vQt_T7hx2w39zaK$T2;O|5lNB41njKummZd*PGg1(%NIpnEegR^94Nv^cOP}wLu zcK5>@Lm^b!l|x%}z5D%??tt3bXdoyp{s>riFnEj!@iO_3nWnk{`ptE8c)tXm`+h;1C|q=!)OG5hOSP+Ulhb|Q^D3N2M>}FLKW4(+8mW~BjmihQ zFFq{DV(s)|t8#|Eqkr%*R;}ae5ko;_ge*-8Oa$`zf}+RAH}9X zeA2<2o)nxG-*G6pcL=o?T-;qq&MIMXoE zcz=wigJurfDQAMFGu5z!PX-=I+V%_Rz+pu86{d%PAZkGHzE3oHVsk_!^xdD($k)-V zx~L9|h8jQfd-wW)edBb^vztqYL?;v}&fNqKxZ!O&$Jky4o50n3vnAMQqp5v$cg%r5 z7ip~7={fV?1m3N;j?4+|{v&=7fUmq(Nzp#uR~(gO2=EeCn`{IGh5_FJ_RL|!9#5MB zGI)M;i@4$CMj$@lpPFZfOFzQ4*_`J~6V(U%bII?lL+sbA!V3--hu5Qgy8@|>p=Lx{ z?;~`al=*Y@v*`qeKvFm`br!}-Ep*tGeJM<9jBJR9QF?=?l@=wqPT&gu0 zl|K0Nse6+{S}xC)ah-3bB@o+ubty26+`|Wr-Bw{WfZ^$PVWgJHhoc6{b`)aXWtgj9nj;*Pcd0_ciD5Ah76=VPn>m@nwfl=#FSF! z@}576=J}JO`7iX@+1F<;mFH{ku8JIwa&Qkj4x>h~gHrETDq03nGOYH2dS;~y5)cBl z)I1f^5HEX2fG8M?MeI#H*vR1FgTaclAf$keXXriGk07U`*Gn`7iS*Hy%4~^Pl|Il9 zs1BuRfk*+z=WAum^Y}TyyRq+?4L$r<@!z@nWc+{uu@!xwFbUe7tIAE=ph`riK=%Db z(0$f8h{J(KE1W(K`w)YS%#C5}INniA9_)2g+*w0tZm|62>!-D17+%YUFN3scZmrIYL_zVfnB4j6-W$<#esB4eVWZPZa^~aaU>nNAD)!06lWE-r9%8{! zBhQNd#ziO%3I7kJ$K7aTnu=pg*3LF6!3B}R&L}~m-IvCNQ%jm9zUEGmh#ix{Od8NPYvIAv!-!atlXiYNvZLVaD{1?#ht%@$n;R?P}6;7 zARn6C{iPCRWp*=6?Stz2@&k&oMvpb2HrL@-Y`|Xlhz=t7#S6)J)mU^^JFoTbq?gQR z=!Y`}nSlKdUKpH}V_VeiFaXi`DFr|d$9_%NeO8m1pIvNaJUy0wupxK{kyeBNWKAMdb{I-kdG zD_(cw#RT&uop*Q>^`*xZ6MoaLc7`%Wod*Dpuab40P?i%5*1P z3`en=lr)oaV`gm{s1#4Y=*3sf&ND^O)!fn9GVOwTM62+o7Chgx#)n3`$nP$%W z>&hqS*FSzLdiSEr=8`GVihf%j5Bm7&(>VOK1{Rq};IS9y0<3} z;%NV;Pjxi1QNBL&Nvi<)neKH5-K;Ymd~8#!m?W~Pdzi_v1+EC-=JK1b9+2z)TnHO$2~kSTn2Lxp3`OWxIgv4B9lVvDGYCd-!o^X zGs){RUnwUGj^#v4bOc1k6h!E6xeNzg%ayCxvI{%ePlthny|yOoKJ+uey3f64Y?>vh z%e<25g}2twl*F8ETA80CbBJQIrqeV|pPi5!)ai+BAFh&GlW>nklvsLJnUxRf_BBpt z+WdH7!s*AuR*AYhLjCwa>(OdC59R{vh@-yi^!h>*IGRt;yS1 zJ?_LxUw1HtZj9HZ;n0X^gksYnE%M+(r@qc31*qK`Y`lK;YK5EIWB-p1e8pKk<_Ect z%B!q98hN*IjVMaS`g4B2l&GN5b$9J#Dzp70ix*6(e|Kitk{_*E)X?%Zu zK42$Jel5cs4hFYF5EldkOrX2-vHMa``7X>pq{^q&`UzfXZ7F#7CUO1?P~A7q&Ed*G zX?LRZH}L}cy`|Ry{zNZ9cSUZ3LZCL3Rs>WtH3)3E4<3%waeEk}z`G^B=h?uz2dAIt zA*VOLxUdNS0s?+I;3eEipiTR4S6BtFxX+shQ3+K{;(!%s#8oYE8O#+C2Xq40!!=qviPA6_z8?|F5c?CI@6wEBJ$DZm_?8_CE+AVoj?7g*w_CW9#n zFN!anY09T~B+`#ym!bTE0?h#$TP6~GmoeG^;!uWaI+r^3_*55xfEkG)e1Iv)?Zo2T&*7)IBdKtY>TcVGSL;i?L z$T>lSO-CV5=#oar6?(ceM@P}5zqj_f$;)%|{W#QeG9$CXa^_`u%7fk>qAruG1h(3Q zak7-Fm_6?kh~<2vKd;4<%F7gC7MUn&jo;R$^K&9Blepzly&Bx_x;ZU>=cMr3&c2v* zR(+W&O!xe~&8OnY!k91;*FE;!Sae*IkqQc`urky_{Hmhf*iUqwCT z@o0n}8x-FFzY1xJa^`hP4(WSdDRf1K$|P5fWXY)u=GR8jJm1>+GhIn<`QmN)r^bmZ zd{Tzp=Pt29xD-87DQ5@EGN$WQg@+MEf_k*5E_F_ObT^j@6MRDw>j6JC{S zlU~BZ(UU)(Xv__%;DT3BeGv_|^FQ8Y704is`LDn3b^G{Ov%mOQ%sb%YN~yl2uJqfZ zl*N94Pe!lvv#>LTId$)Tv^k~mb?@;xx7oaWx!vhwzb+S*Q}x# zm&0Apwz?P2ZGf`_W8=rznV}>#c05+NBr~tIDJc8;@|RT{Sux_y4I7T%Fo~@KZ|Ndg zJI7@luSRo85SIy#ND~`otk@&9yRI3!6ciPp?knZ?qX>4d(O7?);diqkq(xG#=2L~w zDkfIKsBYnkoySRf^4p_7be?lF1s8p;u9u}RJWG0J`K!S5>dd;b#3G)=XTi(`GjPNa zOY%#a8|_g&ZhfEH$;u-#{78XBYz%nVSLgGsgu(*fRFTLm0J?6a$-4{nD zD?Kz9$Y4jarpJ^0Kc%#P#N9}VeDS`0ZrAy`EoNhlf6HBBk8J=&Leio!ef<_1=@7U0$yxHIl6lwWHrp)`Dz)_ z%Z1;s^hRo|1<1rKlWvvEVTHQkcU;?iq=pgbh79U^jcv@G`vAbX4H5 zCQ?}n)j~1J#s3e-tq!z?K^!NHxIVuHlH2^hcq*s$@KC32 z9>Big3$EZ&Y(W^y0I;#)zi?%;>>*;-o0zXgg*F{q+(sPu(z~_$-36`cS(lo*{i)xO z6(w&o?LJaU&Sbq{VWD0TJ{81c)KVCQLeyEF9Za@$OS#(-#16vu&^e~Ft2YtZkU?+A znOXnhnVh`oZ+EyqWCvVX(m1+05g<~T#n!EpVVK|F}wfPLmeUgLm9 z@ufuL@aSRhNc~z_rRt{xFQnFO4zXOk8<^=<1kbouLn@_ki2-rr-OE5XGb|`6w@sEV z-@A}x(9478)ppJw;Q2%zXZj6#8mK~;w6yd-%EUfMd)GCN>|rg9p6;u_u4Qj)F&yvj zxq}SceqCuYx*?x#goXV|`?Qv1X*4vnc#s~jsvzdzY1^DFR$%wbnI}uLoH<&_SN&R< zQjAF{x%%BSjnMneH3l*LdMMR)byqMU4j1fFk>r(lj$Z`DM2#Y5zfQ$FaWoP4v$${H z9?|_=x^c7X+BkGv?vM7u@pzI#5>V@ z)k<~BslKX-=+!#C*CN>P7aczNqr&R(2)iYo!ZsG25qD*3n7(YQcaV3ql`hYqNwfB3 zBiovqy`!U}%wSy-;&+#{GpdZjE*&-6kfq39phvG$2noyREIzWc8@SYd{J1CmH{X{sjero#O$D&cbrdW$5-E*AxN6rFQ=mr z9|%oR<9(3YyT4mRPNopRkaLah-?&;{j?ltKh*QOrz=-2PGD&F>TjIde}Sz4 z&nAa(zZZWQJ0&pilK*#qNy5Jl-NoG57o*_QUDFF@1)8BP{)TrxZSTpMb=hZ~=o}Z6 z*6a^?J;M)r&bxKQL^sdV=&chkV8$3)-IJ!LN&`EYao8#G{2KX~9@fbsM`*eIr0{6q zVKg*Cbot35uHA5t@5!v5Oy;*|Q_zWOjKQK;rs1;EE5*V!d>D zvHkI*(8x7AGgthg!hMZBD9n$}b~9(rwUtWjTy~h!yLL#Yh&K$47iR)lO-_~YPf5)M zfWQe2E52J$P?u}Bybg0V&4v%2327VJw04irkU9#)Z2UVCYBlOj=F_K7Uz6O0NvXMH zXokX^C%p4`o0n}!n$uger5tW8)N4wb;?U_ThWPidszpQ}>B~|1K=xc7f(XFW-;3Ya zH)xi9)T9OdE+rSJK|nFmayfBQ81?8rqR zvKiG65)Rh^D{U8h77!G>nAI1M)+uY| z=ba-`*d}KKyG3)2lFVP8?Mjn`lpTgC>kYlQc&y}~sYPa6yUNaDIh5YoP{gj$c&maB zUIE?XsgD1@;HkBNEvbDU!IdQirIc9gU|rq!i&_nu+s{^p@xRhC;+xyH6@8B?GYzhLMA?~0(NI@~ggF0+?tlP0;ig^TdzqiT-XfBW=R`q^Q;ZD$ znK6+uL^QGKqbs(nAH58Z{kauas&%n{r-+>QJzVM>e>TOY*{^hdiHMYsBW6DvAM!MI z2>VR^gVTvWlidh}FGm(8peYIUeWE8NMh!s6C$5a5@BeZ?HSwyCfH%6GSF&ZC(7m;fdavIR1@`aq`~4r|NzE+&3@ z18Go88>61Byet2JQniKl+sJPqVD2l@_E`ms{fhVwo&5d5+Pa|eG1jxrgIB|UAt1hF zT4Dq4{ehH$_?z{C+o-5jc1%0IO8CXXC*V}{4zL)M@MVcKiWM7_Fx-K-!%ylZoc<t3uVLcac8x6J7?uNg0}YeYAve%Ret`2O*~ID2VM#d?`u+jr!L{`gMTnQ z`%PdPi~RU1iu7O2k2nAje%Pn76o~bj?Ly39k1Um#kNP)g^9?WZkk*uJwqz2pPRt%c zkv3o6rz%=0{xZ?jAxw!$&*dne63npK{fHLa?2u94qmis;HXQ0})~~|?aWS9&vymS` zKCP&o|9$Y$Bc>{Q)gH_+Y1YJcvhNXtb~im_ub=C}CR(*ZKd?z|y`1zs1`NsW6lZ1E z2)5&gv3K2YxHpL0s6fDbXy=_J?&d9%0p7nGyyEmlsZc(8otC4;-TJ(&c~3M-_Tk|0pfpErO8@#h!e zdso7bE;_EoAI%o;MUfF#wiy}uS_0B^_ELs5lpK&NoNj$Pf6Bg{f8GJr6;fg!P1hHs zvB3*CB3XV1?RyH6M_m#uPm^lq23W8hZ>$3&+yc)19x*vp%cH~b1|J&IV>jF8Zx2H0 z?(f+sbN;JmsCwoGd0xwD)iBc3x*Ir_GD zFYf-GfEc^Z-i2M5zbVSz?3f+K+1rhc&ToEY{_x%En^-0Q!pL@Qg>I@*~8XXD-}Wt<``6npq`+I13t zz51z!yh>_)+@2lYA99IJq8iD$ln67=7~!blR{CYTTMy`bFwxbJ)pt@Gfhx2bq^$ny z3W9p9MtPb=?~89R>&~pcvn{W~V1{hPenwKDATlvZ=78&fBnEy-gJ)SYX=tJ{uli9>OO-Cn= z!G&^evY>!BfwThpy|>+z)wxnvlp>n6H|eDR#5C~Pn+$1gLrt1rf3TZ*C0Cqz?|HzK<6~Xc26|JcgeIvN#B7R> zMuX$?MISBLlT&?BenY4|6tdLic2N+k@Z#uxwYJwCrlUn~mz9N9U3Pu9a%JoLj|lMf z*smdWAl-ifV$XmGDU9lHr49|xeK9?Ert*R_V@0giD|${Q0-Yn+pbsleyvEI~R1x2F z2NyUv%~CJp&kHW|yq6sTvv7}BFSD3Mxo(s+uy+KsT%R;W=rZjCK57#*R6B4)94=WMm00LnK^E%kDIeLOW=<> z)GxG~@|*rJU}ANP$qlkxjuh2%&1B2h@hDiq}&QKxgL0hm1goxwf1(Wg#Q{TmW**b&8qCKFxP-JE=IX8ScmY;hk~WJ=Lmt z063%qB8}ixtt%EqP?64xi9mX!HqVrk|9!Yt^`{?Gz(9O6FRoQ%@ zAR@19NzdDYbMM?>r4(Z;prB6Gk~!Rd0|OR9QV(;#LR9R{huO zeZM8LT5r6d6ME+P4St0eXtuZaa<}SSJ)U1>t14^W0Gqq-X@wh0#Y1RZrYj#W2}Vyq7iW0m@t6@92=i3m9XLPp2*khO}*{+W$q<2#;cTLG&Rh=8v4o(Zu9ZIh1w5JM{)mmt z@91xujo%W!xl-mSL};J-6Cy4(Y3SF_nj=`q)2Rt(4TMy2PBhjOVt866rDr{MyXrVi`t@K%t{0;g|BFwge}|y@$F5uRqq@%8 zY267zxMwFjQ!HynJ<53?!qwq&O}ZqBVa@9PeYt^fQe-=1kO5OcVg&Wo*)DagOd?+t79UriRx356VO z{i!P=t9i3CR4-a&hAgBh9moLAf&EcXrM38PF#FlS1!0e&IF42vz0?)a`;a^qfaM8f z@{c$<%NT^3uqS0vc#FwS)VWG!5a)y6PM&K>9o5E>3cW*G##>JLF`OhzEtgGk5t6QN z5Pelq%8wpu7jzOC!`PYrv1J_n7X(~$YCs%(%};r`_f}RWw^`=!PsU0kE76iBB~JCY zGv$5E4#r@s0o}Oho?DD^I<1|1%QZOY1vd9nwOIZ4AoP@_KRWe?i4f|q2fW0OKf>wA!aMvXYzFGuMwqfX*kIr9cYM!YD(`*+27IaxYGOkdKpdU z+fy#it6;)4F`GZnu5FOi+-k->=DF2l-=CYp-}|k8T}u5RueA*vEgC$szr44B0r3uG z)Jb=zS)C0n9G*W30q0 z?PGpWS+!rF^^(R{Au%_>FW)G|A9uALWD+b5J9u3@?&dV5v)`I1T;i?;TwZ~8jgnx4 zAw0N6`!@DK3^1GU+jDNWuVqKDUUb?UUoyAckndcT4=L`k6;0TIMEh*89u%^4PpPr*c=kLzDA_m#O z&lmV9;f-esvbX(Gim-kM4E~SKr9N^>Nd{v+p$8B1B6G>Lx>@UZpUvJvZuh^UVA4@LisY~{6?U*vB2QEyE}Al+gn1& zuNRyISKQsStqB#?MLMfT)k&m9#qZ_mnW>%u-dxx-yss7i`=`Hfs78RCrQtcfek9ft zE&lIfbOkBQYO11o_Hc)ICCWk%e!ODIr&3kUT6i#rhTi8^XH8hMl-0^YS?_0f5Ee_r^>$`;<$=4aYspwhiy!pp^ z?YGDB`b)j@F~+F|cas}+EkBw_Tz5wFK9e)>>l~x`5SMdomBv=JrAB5WLAJS?T_=n! z9ZL?;IZBZ|14a$YO{dV8kg+c=*4hLjc2Og4ve&aFJsM5=z({rg9B z`*)*;4^9X{{KykF37!`T0tw+MViU7BRy|fl;fNobSb4CI7F^x*;>%kFv&kWjk#Ys^ z)8>zC6Ilwu=Ix!T6^_H-f&$HAc0PUZ`p02d2{;TXt!R|GsJ&>mItoT5zWi0NkGNWm zQ466I^&LObT&s{;ih3+LeWWSB$FYoioJWAAeFlTNLHZw2q==>0PmS9cCLsHk`ypOP zq64w`5g>B1+)oStvv>~go}p(_hnk&~?9Ak|HSg1>h)zAJco{@7x}+Y}LEkD)6|Q7` z5SAZ7fM~J`v#c)(HzxQx0{dgb?C3EmoV_zh+*}qZ1wMKAws>Q_Fh(?Ge61{GKW}jR zo`V?fJh50vou#dLLln#9U~l$Ae55FWh+PIy!|sN_5^e+jaLLQlFVO0Snb)^E+H#U5al0HbFE$U_1d{H3s(iLth(PYwZ0T(V`P}e|NsJ_8p|B z$8h5o38!LY3F5K7 z+Uc@kTkqR|KHl)$%Q;G^H2Go~P7iq1UX=O%{rx!Ubk&w-yNzB_Q5ZmEiFjECk;eOP zq5-5P5KN(+D!xS8$pN#tf`Aq5{2z!9Gy->x^-AX>v4`e?TCbVp1lg%*{-J{bF!%rL zXPp8@oZV?vi+N|A&RfJ#pY=5i=tsKD@dVV&^}fxNav;O5w+2ujabH!W;URGaJqyI= zS-hZeCPE1f)(+=8{Kp(^IF-;3N7ZX$j(0Q*Ui#{oTpf#pPv=f&LlAKkB>2|1*QatC zT)xZX=RYY!?WyY5`M8Qq_!n|)sz|AniIo^M@Gf*?&ak5((z$o zW%IbFgTLdp&&rtiE2$V@ftuWI(^kZ#Jel z->ZS?bUqIwd1T-|CrIeQkOuWLR#xuCJ%C{UzVLLoBz{$hUMl!PU{=aHgp$1Ljvg0n z7P`VEt$~Tye-fkI2aVe3Io0I4YIb%~b#c>74q97Hr7rmq&geOJn@k7I{PgpLLI{~N z>~!XEK1Pd?JxS$s-J7V@MRBlsuflGs9+?~$A1QN@bLP$7hQKbFEGH6y>EQ+wbG7OY z!5d|4-WL^SK939%if&;qSLACxY;`cCU7hZTO!89OpIPKIUalG@FmS{e8m$-EA?QW+ zY;Zn?%goz+WSII_9$KgH)>WN3G&S?Q6z;P%*ygvR=8CbxrJUuA`*!S98M24|7c(34 zL(+dtMPL?@A7?T>e5L&9o? zQK6LC>`uBRvz@}iw>Tq_LMh`XXu*bh@0vN`0eIDrfe^r&E@oyrY;XHWx~f1yn`=uL zTP`&9n5q1B`FSGJ49lgtGQwrN5-<;PoeWC!D7-OBi89++9sX?B81P$uc!l6My+^mc zQ4y&W9#zFYk%$+3@7GH}7UQw^)px5n;*RWs)b}?-S#c*JX-?h4lvDLQ_Kj1gD=KXD z{SXO2mV8V=5!}V9xs_derM4xgJ57e(ig{QH%aRs^#f+bB!+{ zShEnf2eCTVd7(MMlzsEEE0llV*Y605qjwC%ZHKzE2|XEoGg}ifY?qHdyQy`qp=TPD z;`x0{a*U@SeFe{B^1w?q(xUhcx*yQf950|4_IYdDfN18Qc#-~zq%mdg(6EfrKie+G zo~$*TzRQVDTSkJ8_w~wpqN3k)s#KRi^Ms6!0=DPt+TD)XGP$3H(eG?#2pDX$>Q2-1 zg=$?k?U)1X9+(24GJ!ZDnB=m|RQUArF^M7ul ziO-U)e?`vz@`Vr|QN0PImde+tv72gBy%n6DV1e*8=ho{hUgVd`^n*%%AAELsmcUK+ z&aFw5taH*Lo%AS1NQ(68=$mRV&#syL7;%g4sA%d<7^;0W*lj6G+MbIdP(JysJ}Gf*G&f|SIR zAo4WSp8)eqh=*Z__M~?iVQ+|-&C5}?RaN;5!1s)ggQNR{07?@9@)5w9tdBLsM{CzrsY5#>OSFg+`}^rPq7mn zb!b#$6t!DVJ%k*wbm;emt4X<#Ua-zJ^aP^ngaQ(n{b6rrMROFpYj&hx5y9@?5*$*T zJS98oyt`NB`0%PHvYA^|(7aqf3yZ8j-V)`@w755XRY~~3aT;OH#vx%fFjIhVr`rR& zK&pFBLa%TpzNO8I;f9^bb?AY?I$R-7{|TI922IWRnLI8@d~Q9j(PGX^?`-&vq|fpf zOq6I`bbD~`a>zt|GmS~9GoF=}ou_LF?IRhG}+L4^0P{o;(o(B`1O!uF8a&KxAA z>ru+BT*({Y&-LflwqqNQSnZ+DS|=jmoi0i5OQgV95q=F2LuU%ymebaDxNytzmP~gU zc4-5UD_7O$F!pMbdpowm5P*nS;^kP(!V^@z{f7S4Ai@`rh*#n>pe! z7nUV#WZIjOQ%w`GRy0y==M8n~Dlc!;(vjDMtM||ohHgTF`egL-_s*d zmF}pUwv)B)wLTTDFF%bQgg7#b9Wb8eCQ+l$?`%*4u1Se=$G zK!o&WW4gyHYnwmWq(gwzPX#j-2?!3@dYyGOOPG##XG|20h37>nw^4kA9osXNO39)Q zf-Gb6Fl4_5B5@~G6`^7b=Xe}67Ez1QYcf(btz*a1d3WGMV0+Y!~R{rEIo z=Wm(mxEn6a;CpUq_-M|xw}(J^T+;CC*RQ#8mzfZ|-=b<=!<@k@aB?m=ib6r{_l{@O zRNWl-fYao*im!@&G4#$^^jXNAEE=jWU;KAZ*N(nt1M$M-Fi?iuE7``v9@~epb#&sk z0>{dXI^I&|bc1~zrr09cW<~P;s*HG%Zy4mXMRlrn4ua+?%-HBD@fuWnF6*r!iyWZR zxGgJA1ese*YudJ5v@;(@z-q8l(WYHT;+>Ua#!7?6@RiRS!ot8bycZZe_OdYgVyOq( z<0<>)K8sNiWsebO0ewfR5dV6gGzJ(7S`eF4DWp!H`p8_ zy0SNnsVrfb)08_`d-aj6seBTk0G?9s|GHE1^VFC$mfHSLO;f@)F~Z~Mt-JsH-`qa4 z#q8e-c>9%Sm+lAwz;pCr$~^s|tC$d`SVVveV=8rN)XZ1w(|0?Ofv<+CBvW}?q+3HD zY_*=g7Oy&5Qa1}Ag5IY_v$><3icCi%4PW2$#*-t|DBQk5`0R3Y(D$#ew{gvdu%}7j zs1FbxSU5a0^*eLsMmBvb)F+Ur2GNkyINJYd+U$50xD4P)r__6krN26LUKp%=<02#524SIht3g(4&h9 z>xW#J&2(o{;tVaQ^A(D0$BsFOUuKgviA9V|_lHZF`CJDI4>Kt%j?XGquUKP#teOaG zAQ$)Ft}h;N3ubpF{HF^*dF}}7MoY;+FBX4e)RHVeqbA^6ar?4QN*Er!t3EpS8Yj@8Pn|n)^9UA{@j97q)jKXWS`g^6V?|8^ zZp%H)5p7U#mksYH$%j{fV*dy|jxW|fud~xNxct;f36tqI^c@Cj#XN#bXiBuNqnS!YlYFP%QsR>WHYw_(XN?J&WyZN|a{W%I$)&j+;yY z`1o~C*a_M1XEWea-PtE8;im$Orh5K#pJ{L6Pe~=x^h(`yV&wp3-E@C2>YE%23bNge zBP!`boW6c*p?0+0S^`MxgoHIyhVT<(j4GRa;-K_4MUiD}4A^%%oL%sy_vFBg zA@tMVE?s(~;~`DnxvuG=Pj{xP<1#MKh)d508qj@fe0MVNk_>r9IW-baaPpJxb<}Us zsy?!xn`$?`(bdT~^Xb^({(XtN7}5=7YL3@Ic?icnQ%>K(1yiy`cU>LS z#)9K*loi_`fljd;Hk&l^cCfXlKOiWaT}T=u_)rH}q9 zkzW!_ja!&}KgVlz|1*)tximaTe^J80r%E^QV;$U#W0y;D;<9vGE=Ylwa82e@Ryh4x zOoEIKdYr8XTH2?S#jQV1`Gd@uov;K?8_BVW{Zh$@vl!e?fw-O>>=mi<^v2tLj3uhy zFn_!kei1Swujjw<(}@e6&^;7MZjv9KTa{u{VS(CCE}q&ymzs@6S>j?Z!=F+TqFhHD z#DPl?7aJ8`IkJXzGqYxjypv`TdIvqm3f#Tg-Ts-+2;{;bR(gZQqU ziRP&iPW|QsR?}6Uh7l8;$zvwHHAto<8H9XPJB)mDy(m9H&+!(eA_eOtw+X)q7gDt8 z=qzM(HcDOeN1zIE&!0M5cLo`|APcoO^X13y5^k}XY%~t!N{WUHg$5q~7TNXAQ7n(K zD@RHJKS8KSG)19)bguBL)`%ukzD9TbnY(stUqjpBzD6xI|?t$IrZa{ zx123&h^X7E2eUauUN(L&+keBh3w0khII0b>3Q!W3_D&{qrC37+-VZ%ttg^}&`&O^w zrNLN@*0N{GKYjmAwd@Kp#>z%CP7b(x^~HBxRCUdPDh958gy3NL=o$9=&d`RQ+)vCP zw9iH+(4{;h7aPvsyDVjMGHKv&6~8^zq&c4~+|WkFOzFF~q-3Nxmw$QU@#(Vg5tmvW z5Zj@@Pd4w@Wp4PRcTyhs;sZD8|3(E-Z+8b{UNd?`T_m$pErxQ7t?-j@6jJjap4Fv` z%@&%!Sj&tseFxrWaa`Ve3$|N-W1T~BkMQ=w_AhuB#ktjf*8syq&#-DIFXqxEDfi9q zh#2wMz+ejN_+^%Z#q16>Zf;&QzyPsKqAEEC-m+Nwei_Yha#rSI{??zg(x+uY+DhF6 zB-60RJ2~7=5%C}FXQa4aFmq6{O7Um-?dKL7Hwf-hg`}oE3_rX@oV4(>>I%khAe`SW z_*{yGF&{~~)b$(%X=2{($94~!R+z4-b+{C;rrzzt-zl>k8Y3_q_qUh+(A#)Af7(!J zIQSHVUq)vvKEzjsj6OEW_q}xQLyjI_QbrRHQ}$$BVP5-`M*fI-8M=yG=5vdJdmEoO zMUq+NMnkyUJ;@3;d1u~hoN>CDql9AN2?>Ui-lEUMLQlhfo_@U+2*74Tu&FY1rQh(v z$JbBZ(COXD)G_hX9520+iqlP{69olO4|pOLWqVMSOJ4=GSTVz=h9J ztL;M?Fu>FC2A6+$w=S`iVoe-BhY_lAx%`yQ6OP$7?5^3(6lX8@I?SC*3s*}hm zkR1yPV)entyJHHK?|`icXRISR-r@}2NS=)!ODUrEn-IT42G2#M7k5qq&1A>QcedU@ z8FG_q6U8&+0K_Fgd~_%?utzw;rCEr3cktWx_z>>E-FvYwAV2tWPLl&XP4&dN-A&U7 z8>0?=u@R-d=BCO0Vvu!iu8GSQgc9n$=Lq~G$Hcda8_!Rq8TK8Cz!xEy<|wtNf6&xs z$c3gGn8B{gD6xjt94M~5>it;n4Q6T&W*#a0Yh(Kc@KO_3*K3std)~SV~oGrlRo@a!R9xrS;vMYbegBOgSpmpR<`F)3ujQhWmi6BXwaa>2)co zQ(c0%Si|DJ?#?OlJW4E;7klM%CQp*NX1K>^BZ3mn;9K)QWJL(tilgx4qDfr!sD6#$ zk?>~+qz6UDz`F*@yPf>rN+8RI_=%pZVS;kRxRFbf=_=mt=x-}*LL(&D${wTY8l-}> z+N8sGZb~O*->lNKZq%xPe!Y<7CGTb296gw%YKSfWH~}Q-dGKU9m>OV7n8v%*%xp80 z=##A%Kyo0~=1$YZMa;?M$l9Q!rL z8G^LFU2ycID;GE8F#>We9J?Gn!Cc!DIKOT4jP~4p4{8l9aAnZz+x@;PI zFZwSfV7ekXMXthEqn8S)B&OE8f-$$r2l-32$vt3Ol>mh{75E-)X+@jXsHB^X%*WGN8! z*b6%xG*EByX_qRKl&=3N&uNd*G}FADL~HE5B%oIoKnB4r2cu#lSl$JUr!pcphR1S$ zP$(oFVYyc=q*T2(mqP>{KWbK8Axy3WV|s7G;a;bA)cQVmr$_ak_qlzBTHpS`hxN_c zZkYY@^HduxOR(KGPj>Sjst(QC${`-(g1BNmyZrd6!tUI%yw&>BV#{i?=s`=+!lPAx zQ^9;KB@PJP#e^SrLU;UQByHcw_XU~J*6CIdW($=O-Q<0$m!J!31GqH9aRTp1kKK+0 znlgK*y5+C%0S=xh_O=G}7xTbp6tI@(w3bsb`D%3w!Dh0eSw=c1xMW8mFfw`#>7!jj zv9I?y1>}q3!pkD0v%KkXutG|)@DVZwyZ6y8>@3x*)L#pmHeEmUUh>OhQ^Nr#WG z%IYQ_Zt049imua|mR|bqA2S}(A^3ir4mG%0*U!y<#sfbvUoHI&^5z5YE<0RvJ7d_Z z9XcQGg$6k(FC4OVWvdJk?T72&6x4Ots@aiulmnL|zFCL0tU8F<$J3ekj)ly6;6xaN zy}lPwHzH5NHec1C$zCGVRff z8WRQWOv~ib`Ho6_{;Px3LccN~n+T>9$E^Zo_$F>x*+KiK)e zF^7{XwISP-<~|u+z``T%^Ig^J{Gt8-A%947518SyE=qwLgYr{x0f6bWDY(stS+bK< zyCPEVGmV$UMbZukvBhS8IF&`YAvB@bBNL-e9g`sV48|k{*VyN{c{&l~bqxUHKtVlM zaL2exw#ltveiAkus;DGMi(!nkrhql*Na*TF_|(vHr@jo(^5(;4R^0s7>}$JQipsuK zZo)1viOI}!q*`IXDg4G%n(;7IOnIRV_2+risAl+Q3hk~7gLe_sf{lL-H}};>2(8;%OR_jkcp19VU{X&eo{ZzK3nPPIT=?TC zL-m8;Jd|VF(dLwbdIW^g{jQYDNwLLK$Oh(xvhuPeC2lC~(nmRsDZ!`FP|SY*-qVh! zV8<4%@Bm!!Y)iCk6u6 znT2j^ zKdt%+ zv0*R6~1{=&RQpF?cBMX6%kGJFOg<4_m+j z$`dOf2wFL(v*h;Cam3d;i`l`-12dHH`$l6$TMHo19NC9HI`omMz`-Ml()OFc8m@!~ zIM0kEUaRKMWpUSRP?epUI0_HSJbU%Hdv zqjEEyQy1lfW!hXhS~^NX34`L;y#nAjQk}PJQ4+$aeil37RZVa(nTm)y6~d>g557h6 z*s%@O7YJ(xXgN_cId&#|z1u!g`OshA#z4+E#<~q^?#og2lR%go9iaPZxTE2^o|peL z>Y?TS_kpGL?a9Gh%5^ex=Ks*K#`omf-*;}rP=t`9WRQ|i3v%zB6*mc&mJ_%6qYLaw z^xi$)@N_{%vCP!g%aM=CWt&_jQnza(r@iG_@G|$Q^Saq(U$3Q*Z>?}5ofo9fC|JRU zokr4n>cO*oF2>%xS%c)Icz%FiyS`N7zA6^++3eUxcMtk7{ltXj6Tm<@NwiJ1r*3BW zS=YFH5%-Q6TZE4U?GN;<75K^Ud7p4eF`R4<&!w$KUKDMf)oQbVIMf7i8wzGxRx7Eh z=@;1I*a*>6-z_z|pr|cS(B?o&-PJ-X`q_kF+6`h3<}JyR(R>G#OKp3o|1I!~Gwko$ z-FhRUBQ$p~1zS9{(B(DweBjC9svmpCMo&4!ZDaPi?^zRCO1qG{M3TI^DpqM^>gDU; zEER3X`)yeym>ssuyOb5rScTtBY9x7%hDW6FYH)ZOrihiSaJa!bq6M@*hnk%asfELg zrcTMsQ7eK$0E2~QSfD*I*7$Ne-&ovwR#&~|QdxMt(RTah3bd%w0hmM|lD~fQrY0iK zB6X0Qkhscrrc;s>dN><8u4Ubmm~purthQS%>Cls0y`>ppU6R4VI;J_5wG6xAqA^$N zhmhG{9(68BkA>Lx-anl`n}J^Fk?g+6lXgfcpy3u+SxK3Gp?4>^clcb zZ)En?=FZ7PyxZvZ-$OwGVIZM(>nl3Jg$V<-3H22IrB1^odP0landY(K_TU!TizRde zd)RWZdEV9PhIn`P?eP<+>Lc+HmQN%UbRW8j(78-5X2mqn;NQT0xS-N#ci-GAdFNbos^zE{9L zxh`#ip{R`0*7-jFp9(3B3|N!wb9`Hqcl+%%EqFysw#XYC#2I(eCC_cgs)t`dmm{-w zPxa955Dy?H}F2>SVS8bA7w$E%Iekwdbu0L=ZwY*5$(uaiiGD>T_#RL0b&(u(@fJoY0a_de5X3{o2gwd2#FN zu>6)0fTLWn#{|xq{w*sob`;R15^{_9pN`Fv87}_lTf`d9pM%n!l#ypDG=PXaBdG0T_rFtG8ZW_Ng6NcRYA8m>!*z65lnGb%*NNC!l;& zGwY6r4t@ZI>8_ec4tHr31yB-+ zux9pmIc=h}q7BM(zBqe4Rpk^YqTN+u+=R8>lOvd_ajR?;FS~gC2Pg}zw;`6YlyZ59nFmy_xdu0+H4sf$MKVjOGN^nD zyk~dWfBKLd>`yCTya`s&H8BSm=EE@;p=SP+TD!`ueP;m43~Z#U5YrCbM)$vbP}r`) z0{9ji>A&~Luezq5?#QNcd-oZZi0pNltYARM^k+%69Xd&1xS2$Qp7<+j@7x@dl zTGXu1=`!!j{l1S9c9udUz)dW}+3k)o0S0`Rb@j`z^l*DJ;{_M4fC@r(Zq3luuQ9vA zL!lU>wG`D9BiR&ynWa|bmNO$X>i2@|H!z-l!p5Yg4KNH0XYkSZJ4O;&9nSTf?6{6n z;*o4b6{KdM2eJJ>0fnx@XX+bqbuZoQl2;N+gyQ5(Yl+(ROs*6)(CcxN+kAOv`{K~|GqmD z)p_n?z_gWx+GY>5A=7JnFC z3RL}RMvRc>{x+$k`$gv9&0~MqjcZO9?_0|+d6J`M96~wggRHErx%1__gF&>h`>W%H z!t)ACy`vbxn9mKX3&Cva9TEM~zc!7g4xK)@e6cI`zX2GVM>Y!iEp)k3jB$Py^lVJY zp}6g0i+*H$@mRmKZ)X4i6DreaJWm?X7vEBm{pL!KR!{s{TFrZ{$Xy*HKVFp=? z)T6Omq^W`=i)Pip+C;tjbp=V!ifqk~)P?^uJkWgQES7B5J{eiQe{~I_fhqLw>2(|x8eO{e@*K700np&MlNa-4+ zSU8Ih4r!_dQ@R|cp3Y;v?rjuy4;DWpgRwu`G&%ZhbE2ABWPv!zW0v$1!HeM==2-?2 z{;b0e%ouWo9M+#gWVb%WMp)_K=TE=M0SL`c73hOxQtz^7S}5Tbf$gSDsvLQ87(GBl z)-Bc-y#JOOI}oy=m1Ri8&Mf`Gkc8ELw-HCn;Cc)?^~IcJT*XHvSrz-T*2zI57Yr}x z8SWe%e%YsI!l#09)V|h%pe;l7vu?2S8`rDQ3hIB`sQ^d#Eps3v@)$~+$I*9%w%o}$ zp`gVwKR?Bj-8oAmQgd^PE7G>-;jT3fO`e}`F-iRz2@?b$oil=*S;B+oa;mA~e9}1m zAp!pAQo|ioQn$tRTz+?ucB0&r_`HX5Z;7^J!>z+Mr)UkM4perCW}lBH04K2c;uTR4 zaaFyM5SV>|&z=riyx0&fB>DgSmcH0t$1M~OE zMy-<=rAPOS$EIRfhj?n{S2M6ImxIgmn#IH6fJUL1!rj51@u&e`Fw}X5i`5fGB-i4f z_zS^qaJ?br!6{Qzw_^@3$7lyR=!r=}(<7D6&PNn_or!{G7rwTf!S;e4vFlIAf69FZ zfiU4ph@RH9w)Eps#n0uj<7H#N!cdV$Uq(950NWyNk6}im%$OSBz3;vSB;5pp0C`f_ z&+6mtIUPkCcKPVMwZjl0I3L7-%Rt=WXe!IN>-Iuy%J34G#N8UZX&&znJ3p4b1g#Jg zmNNe%yNq9JFaLDasZdl7R}=R5!+ihgEcMmV_%#l+)E#-p{Qtwi2tk8EAQsktDKPQ_ zUe+j|2#CcHcU*>E$>Q>E*@GDsDm_&gae|1wz%f&dRh`#s?GJJT%(Hq;t@A&C?%O&N z*iT-XEr&rswtl6QbC^uN=<$*ITh9~T(66u6`{D=o&w%j!*f@2^c-*(^hFm~Wxqc~| zsrmJ&eEtscsNMUN4h-CO(~TWtIH*GKt#30H^UJyor`vAa$rzmWn(Kfz#_tm>?dmuq zvhIp+bs>V_{0cMXpjsvGDGAsslEkUa1k4<)CThY{(AI9+vw&mYZt~a5=BZ!L2hvr4 zkC?m$p2u!AdZ=2SO8xi^j@W|sVOF<_=|=M+BL8)4Z!_OvQ#W08$<8%cLsItF_!JDy5;9fyna5q5rOr1seO&qFyI0w^1=k7WsFuX(`7;QTQf zKE%kj0-CWw-WvE3>eOZIKf>%-RGsz^OEpQmO?;B3uO50Ac!c1QH~>%jal!B3gZ?eN z8^wd`=?%L>F;!S8r8(5aZe+v`F)IYy)`v-NLjGQf4t_^5Xggk#Ffs4Zx6d8M#%IR# z@f#}Pp$pH4z?&E9*AxDQ*lVdKc@h|VQH$R>KnEB?aTjEs?w22x*Nl>2Ky`}QpD%9( z+x0?e1!hUFfHPwP(Cv{ zI@V1UxVDo6AaiVn@mg0xxqMh1NGX#W0uc80xiDz)ikj;B8=b zW{A%d)~i0$$X^=!$ zTIy?8%9yH^91=6SyolX7$|itFmApTJ8|BTISz}KYby6Os3p{4v>WFKk_jCTh$+PJ4 zIR0^1F8PpH=h+_U4)~1^sK0qb7^e*$$Vk{He+HCb9SH*i^5A=jTle;;8mohpoy@^x zu!HUI_$hHub4do}?oO-_WV42r&OeiZ%Hq>45{k0DH88t|74T-3195He`;phG!E>`E zXUjcH6)NfxQqIeJKxf2{{}hvN{*ziNT5?9=Be6p1V zO2QE0K&=t*A8YleCRoI7ju-Rs)w5mPG7T@^%33k3ng-|(8y}Z8INK@&V*dH3_AfKf zJ)1Fqekq_gDaWIUwFip!@kriGR-k?rJ1)q2q7HNj*FM?tB;b)u_2<+?UhA9yG~c1A zS@83rQT=&`*X3h}=ZX&E9R5*6jvx|pVao9)SW{HeNI0o8vPrQtMM^R$tsHQSUCIrl zN^&|W#c*y~W#`|{&*{7EABAkRPbX&*(^&icye*_yH6>~Yq9_5n&Hr;Dr=!B}3eU8w zj|Y#0D(iU@)RwcoUr<-)kI0mdAB`Uhy6U zTx?Sgr}siDEoY~9IC`ox-^$`VPb~}P&#(?wqlrh9sC_;dg@%_AGg6vlAC(z= zd3uXhlA{MS_B~`P@2}iM=lr@N_Nb~47(D(V*&~_o(^=1BlO}n!5kzJsS-ZB~YC!k)Q z6n&Q2Uy%kPG%pc+`!{e|LWbP~8I&VEv5E#hZ&{CC&#%`q9rIY-z{plmg>?uO%Icmvr^LGae83&AsNZVBNEE*^|g?ZBYI0kD~OY#UDo^ zd%jIp?xC_7CYAD7&4eJ4_WF;SbPfME@^LIE6^7R} zoj^~1ojir7$<92xNLh!4NIb(gU;Jv8Dq8j2&u~X?tmStsHf%~Iec2u|0yy$d|KCxc zemU0^JxjdWvq-G@x(42#SSx5ysdz`wFi!sY4`(gzIHd8OpYEX zAN?sK(a|6L5th_br5-rXK|`Zz7g|~s&}+@0cRYZA$Q0bCng5Th1b=yz3cCN>`G-~f zU{bUd9H`~TN_+gY9Mzlt`DrVz8JMDvvd{u?#ylx{dI>x9FzM-nbpy?ZG$yXg8M?~f zHs8y!g`&oKXj0U{Ui^%|{+LoNhZ|~(bZegr4>rU+-~pSwPG0=O=ubH}kDg?(~pZfw#5$ z(&9Khr!Pg7WtHrXrx@l6DbJTFWaZb(zXpkg9$@*tJ!3=~^T`l;BQ(U*D>pl@L}hn9 zlFn)GOomz|^AnOWceWF|eqf}O3<3o~SD!rd^2r{1glnQ$egQu3C->Orj?MVvFF`FD{|T2FjnO3#nR7Pu;12Afr= z$sRjh@qRxW_!PGwZc#OoNv!tcNnb=-#A8WMp|d>)3yf{F@{XI!65KuZCaEas$`f&K zkTah3jkojJZ!yVo8;v_sz4wXO-Vzv-GbI57oShKt`7fDFc^!N{{c+*pb15Zr+ki%% zUQGx%dB33(ESW$fdFhFn6X_k?d_F2eIzULueP1~|O#THihc%HI3%M9dm%eoL%e1cxY4Xgq@DLfe5OS#zws4 zgs7CB#L5$J!1O|7j{6-pdU9d>s{<+Zq(cL&GG$jv2uUdTLKrU}-0(+Vc4^rX%BO`i zTNpz(ls5WDA-rRegHV~qn*EiTA6=_ecWyexN9BINFF`yF680@eZ5z+kwH#QQjYK{kR%DZoM!s(Q(aA%`Ng)G0xiez->PV`qi;sqZxpX4lRrfgvo%YNFn`tCHI z)LE50&xL*YsMqMKc6MTXi7fcam5}}Uj>|qoc$Cq$(QsV7SNVooAS?9iS@JI%b%lVN z&sgCfA=g+yAp{J%B{_#fY6)bKIAM-}lQ@@v7>UGV#U?uA9Y$dB_6u}b_4bO-#wW4v*iX**j zf+u_8w*xOvjPa3`(Dncu+ns=|=D3Hc_OGVP%vCb4dv%(>J^N|%q6@;r8h*2I#CB

JYemPVr(cZ75T3WUBpQAUQ}1?6z#8_?@-hUBGQ+@(nGS zzB_S;C_4ky?q@>zsM2kktHr>z!9UZzT50+YoTRVoKwAd$0hw-Q;a93M2+}o_@_DoQ&kb6?F-NQ zRV(}zA;KqL2(QlnN(MpU+q%d66wf#y^+llg8(WY$ycJxWZRlos_IcwN9Dech8G_wP z7b>%Na?peN^|7?_Sp|_R&hrH;-?eAOuSn~E-qUSLJALa4%3yKX&rlg*v~AMr$C~e_ zKiL2ZBlC1y7Hj-ZJzW;_N9N`px;*LIV?AABf!v7l)FCImy>w}NIdg!c^!Gz{=H_WX z2VNUU!R2v8zQ|RVs(pGqgTJOl_7>fS=!LwW(oE)I<_ISeGZtb~LX^Bj5(Pm=WEpoI;4=;P&+x$m3ji3=xlXy<#P2gAQH^U#CB zO6YmowN{rWYjD8kS6SfUV>ZoU@x`fxR#?O(Ujc`Q8MW6N4ermv47+H=Koc z1sL{tb~X*?-ABU_H2xsNpCw#hN><@M>-;iG+##-q%FQJVR6!hIGtCy)9woXv2Gn(9rJgI5%bJOuXA%ZfQ+v&Wi!m&OIE{2S*tp%hm>q zX2#KMyMs`&%TZq``*CYw`}}|;*>R1mzLT*iFLL>CCqR(!?Cy-DN16JXbg^LHwHq89 z;@97BY;&x4LuAg)B`<&HwyJ-L-AOgj)fQ5-+^uSOkuWoc5oyhU}I-c^k>^!{U~jC{fFG2O~Gutjo(<-Cy;- zBQQE4?DWySj^Q*+*`!NlApbpMjFUFPMK*m&w;*^T~nKpPf>JrQD+KK8K`)~@<# zK3{JCTqenSJ3(kTT&CgceZ4*wM^=`w2&B^%C|sqFU)6Re+t;0yC2M!cMlO#rkr{vs z;PLqb7@l`)2r{JTtgJYP3|p;tG^{PJHmZ7g5*^V{VFs*z6Z=iqemQ||68lj^sHkJL zrS4ylJQGGAG~jwKRBVOI7>-l%F~%aBdZ)$EciM{}2HLs98LuHOS)3Nf=jHFV+M1I^ zTi{B5a%SiE1DNrfU{_b=>ALq*yTwSb>M!T@%Z+VqXHn_J?_?v?F#?+(>mQ!uPA=CL zJ^3cy8X!KL_R#&H&J}YG;4$5LaS|{pZxPCT)>HhkGsQ7EGIrPN1>gXc)d>(jX zL=}+}jpyJT$~a;_vP*c+#t`&uKH#`9q5g||S{fb+pIjUBcj8wnJwH1R&1J)vo;of$ zZB69DE;q%qA&(zys~zMYai)EC&%nLAEdfRMOv{!ZJc~63trZ=0Xd-iVQej~)G;hJo zdU7AaPd~gnGrTRW4fR>0*6=zK{|U|IvNyO`2+6DwqEtU593a|jZ04GEyY$6s3pIb< z)S*%G>mEf8hT@U89WFi`&0urSoR63NHPu1fAwQb5mwleOX&+(3x8Q2IotK&`nyT2b z)#uphah)7tbyx~l1Rep0>UZi@gRu+qKdP&vH-LT*wG;4Z)R?T)gx;gdpFct>KK;UE zJ{1$(?{IEAE!&WuztE;$O`E@DZ*2bXOlXpoLnZ9#e7%#aMyc}f`0UAf1`o}YTM?|K z72Pz?vsd3B58W%ivudfQNWuK=>#LTGgJ-B%@O$-Sz zvIa|fZ$X;8CRF^lW-IrLxf(mogTq9azAQUda<^ga#Ik3EvbT+b=~4Qr$mfe4mpLE0 zO!~9n^7CB=s)+D=lg%4^_A8@PwUIi;ZXB{l-C6I1X1rboWOdPz^zGpWd>BQ(e$MYM zozuN7WfKgU-Q!+3(StUx-~#4r>s@`wA>vt2ZeT~-J=Nij2k$pXWupB#EB2-Lk#WL%wAx-^adLjPRZED}pgrJEe z8vUmA?}V~+nfQ>HHBIPd{ZyB>l(HhG|F8zd(JKg^AjO45cfF4Y$J~tt=lFk!ye3)e zX|{q*6z7xDZ6}aorVVU=1edx0e#YRU?e!VyBUhW0#AJ(bw^@H11#3;jf}<HL8+q5O_@y&L#EQ-p0yJ*(~=vXG#xD0cww!pU3gv2kd@y;uPD7mvz0#&IpMHzxMX>;RCwU zQMTEd0JxmGZ}ba~jO!R_*Bs{Ox}W9yWe&kE)=3b#qqY$c;#BO~)W-P-(sa4^EnXLv zGbo{rBwoSDhd!+b!RdmzZz5#{CLQN$*M6u9rfC;(%XmuMxFW7pb{lr@dGzl|czq7n z>$Y?~!Zz`eP_v7#3Sn8MWryRv?465h4ktI=hH^0gxi1=HdU}GMa zkB9p%jna~0TDPisKN9tcTU$=0US?kp{?uk1wjxWn>!Qg(*e*0Ri z4aeS3qTGf2%8JgAo}yNIR{te`EL~c4FZjQ3>GO%3tvOg2KUcUn9dU35H%wKRc6xQt zB=QfDjuYkd_@YW^PkJ3vqd!Fc@2d%k*w2%kCHHYH)FH376P?miMUmp{w4cZ~A z{2-&Am=7Z6&#fNX$Z@p~FNON9oSeUJJ-AE;W|1hK8s>4r z*t+)|z-JfEp*hTEhbP|7^PbJ8sS)!B0hC~w)RPs5kvA4;M)<*#iC=p;V0>A_GYsQ_ z+j)MBI=9W*ijFaFnmqcT0JG?P@oaeJ^Wc<4tWE5_BkA4g^F4$M;Zt!b%~LMD z>Yihu`Vh3ZCzFzR^|IGvGJtN8=RNJ z{C|_NcjTmfX3qj|JB{LxnN3SXIc%Y4s?1{Lnrc58sLcvXmspRg0x8_A>8ChyIuq{r zP(&MT$$;H@!;2TGlFw{0J$(k)MDs2N_rlfOo!r+b7^_)~737pf;hk5*|i z2^J!>KgrdgL;7ajTX?mVKFBAC;>viWi?i(s<*gc7K;hRDysk5G5dp#MJQjHE|DTOr zxqR9S4$*T>1K8I`i|JXMWuXY$O(xM23}bw3h&a8KL<7AH1josW z-V-dqPa!?uh$wY8&6Q2~WC+5}vonWcPh-_sdV>ev4gW~TWxUDqyo4gQLdcbLX2{eY z)*85Avo}%%$4_48mVgq)BDY*5y?s|anziPfGxkpAI-&1R8-L>6;$hdtJq{T)!oYQ? z-xh3pa4gd3hNuNds{V8eFmbLGOvsPoxxsGA`6WHD*NO*VFq{giJO^Eqb(08Zb}%?w z6))js7(*>PN9_D^zD;gfgne^~TJq$!YEy{Z1~|xe#US5}H)V$7O;YDPX|G>%15xPy zNX6Dac$0sCJMlVYu9@?s&B(LUcSr7fjKs8!{yc43-gtehN!;bz(>bozlVf1K92Gg$ zidvRP+{Gsmp_{=uZ?9V{gQyu^gCj3b&!IcHush_+<$a7)r{^q;7Xu%5aczk3D{^H&Ek;$iHn=^}HYitaf6njoE+q4fSIrrY67uQmenukV?v1Qdb6av!<3#j| zBam$NHk`WM8K4zxs44w1stD0AKi_sZ95qgJ*VBK;LH+^18$LGerG1A@f9%YG-GMuK z;_T#l$|*x;@LO~~vl>rB6RdMfTExg$)Tju5y0mzmNyeq?73)7>GWtb~ZJ(^=Tg|D6 zZ4)*>b#>r*)pURD(S*uL=Enl(PNr5$HzNIw;j(yK`qDj0JF1lq?bNLY5 zA{^akZ6cn_yB*u zf#)m=;%v-;gtx>MGa4!SKn^w`wKfUKuZEj2rJ5=39S|2Yy`YKdzMbPt^X{fA-vaUL zrF(RAZYV3rnwjy5w=C|Pd+Js&2Y9ht9g84g-OlUiKFrdDDh~$QJT;IZ$aug=r5>z8 zpX#FQak)=(;_$Mk58jY67t-~hsvJnsVvU($1AnqMy+3+RL9-aJ69y5})7Kq!9_hQ? z)=!e#yY-o{t!ZfwNZF=nouDa7|*2fw1>Z@;0JUVF$II0jbve1Lx#<@P60g2HE%`Fr!H9tD5R34wblFfJIU26upS- zPcn4nk>7PYrj5@QOm$K&nckWqCv{V*3~X&ZYMQ?RBw$yddumDwS{#4Kj{XJz3y%5N zgNk_0-}@C53u{BbSfS8GJoezQPCLJ9=x8jDI+LoJrH7G9;xN*4zj5(838Vx0{Dx)W zb%dCriE`paMPDy<6^sRQ-y@NKdMT;RMowsALTp`J0k=jUn+ zWJD9$&zp92NXv$SM4<7lo|I%#`~wlj!w$cxNF@J-ditVEnpr6zCb#j~%AKm=Bcx67 zr(eHKPi4Q?o;&%#wfM~XcD_!GvIFm(<}KJ|EH^@vg@SS7;J!4v8g68ma+&y5&^)yd zU@Kfj&0?Tq*ojt8k)%VR7+cC`e8=Jm$u<>+aWN6LkGDk%j2IdHWUUXSK24B{b@VlB(1Ig#4ayM^i%?5$ zFs?vwt%3B*x)W5{vE$`MLY!a2IyKf5j^hz4mrcDU+l1l{!07TeOO$pgMFjX?k!ANm zJaN(;=xJpdW^!A-+Rl=B9--AWVAt-Gn@oFud*~pOy|)L{mXtv1fd2Sa9g6K0coF58a!lefsHeAcuO3ze?E{vQ~uqPPD>gV(Rp_5Fs)W{ zu+4n$gIxL@X+exd_#=A_O|^lan=Ofjb4k-51-3=v`Nh`XROC9nP#w75|4zX}%t2sk z)d9^Bf=sCivKO8N9VF2BdZdDLl%V6Kyqp*prU6MZ2W0^>vt%;d)7_YPN;eniR2E!c zLa`z<`CbG?PO@UIhcc$tazj_A>Cv_&jJj3%gYP>Ht(VJMNegg*l)sx-~HB~b(4r9tsz*DbFFgM{%0A1mHcl%C{H3O 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 z

-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%0DeGr79FnL-Bvc>2shhmxm8r>a!f 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

    !WU$7?^bk$d4Y z92Dir$D+?hUnW-ryJ~!PI0yAOD21q&WDef<)`h9T*Nfxau6C>dMq;{QIXQklC6^;N z=dGD-bovb0zQ6Nt**TaiO;0Rc%4a`=oHe#H%vL>n9k>0S$F z5tU~anUmRnk{6IE@Prk29@RXDD0s~hKARP9b$@g#RV|$(UG+OzVZEoY^7-hAllJI0 zAsu@p;-OUsZQbZ~YAtGY?sv3OqUH0dHw1&)S5m4;j5I0CFO|r(2>GnHokVQr@g7A6 zY-F^gfscNVDpq413*Qpp?WWXTE&6ktZ}H4SCp>R!$FB*uGoQ|6UTn91ESsazYYy(1 z{wkqHRzm+PA9a{x{IaPwOlu4*+_Y27c9DPAo|JgS2s{VY4{w_YVCNG}0rJ_Bv;)Z~s$qOHMzQPJt$Bu9U~F+aWeq?Rp>DkifH+;FT}4 zppb21%;0-?kc#o%4$wBFCY+8v4sal!(c3dPEX?0dv8O9Z&aU=%qtEAW#*1rFQxrevC{hBIC01U%d0|PjO=BAAVCUy;aJQ^22#SWvcBohKDt|6mu-BZ zNn`t})L`;OzG1LUp87QXMII4-<>^~Oed$%DMmPIP)fdV#eIk`L8Jh5X61d7u1P1^=Iu<*1crD96PiRO7Tk;QX=YobHA(QWqn|TFdwn>HW8!z)wY8I zg&~bb{$G_TIiFi|qc~HC^4kRtkFHE(N4LZ1x~^MI2k`6;FmLD1iQityIu72wc=5*d zYqh_hv?#t3)ps9?jIm5K6jHg~6oauHKYGV#ygoUA4J(<{ z{6B=fRa9KzvV{wcdw>KD79h9=cL^c5LvRR?;O_1OcL?q@?(R--cXw$Thla*(?{m(* zkNb}Qt>1c$HU3&P=Qpd^j`4H-u4c(zvhjGUK*Fm_Pk)Q}0;4-mJAbc?&Ovo{g;fX! zju9Fc1qZ|7?^+IR7M{i+FU=)UJQ`N_8I~_h zdhCtP!ANzc0Fb8BvLaYV0PeUHu&`Z5j1&vbx)39X0Wlx89>5{l;EHwlTNVI~HpagxZ3!2Qt$mf~3nT^>9xDC-kXf2c_ zjvd0T{w{@HWSn3^M#dqLpxM}lVZJswW=Xg^(C|x~<>e6zJFDA113fAI*CTSb)?~Si zg=$zfB4K>vYbaE2wGr~|#e)dKEP`;o_JuSNBtQE8s$>pW?e47^cp-|tsu-Z92ielU zTe%6div&%LRvdL}zOCWCR6{MrS8-en`ey{ssT9QKb>? zAm^MJck;XSnd{zh-7lyv%yw zJ+qAx1ai1gP@%Kg?ut8@Kl!3we*TnB6Yy&5i2o{$wj1XA%gp2OiVog*D9IrSk&fn3 zd;epR;pPA}v_mYX+T#HfHs^AESe}=G`uD${XWmc#7a|Lxf>`s`N~KFScL2?FL%0>V zdMr$C%R9L?U*k-R68NEEq8pQsHq**KP;LT-+9+{+S

    VKnTiGtHXR_wG_DlIR`U` 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

    U}c|VS4W`gZ}7Onq5KQ@SckBe!r9tcI1z;hSh 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�=az;DCa;iXFU78LHz;kEU?UKDfWYmAJY~;LQ%{r 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 literal 0 HcmV?d00001 diff --git a/v5.4.0/extensions/capabilities/images/theme-selector.png b/v5.4.0/extensions/capabilities/images/theme-selector.png new file mode 100644 index 0000000000000000000000000000000000000000..5c2eba316597c6becf89399a9404b2da8029ed2d GIT binary patch literal 417527 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∋Dvp1;qEkZIX=x;G9wyc1 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

    +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    + + + + +

    Index

    + + + + + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/capabilities/styling/index.html b/v5.4.0/extensions/capabilities/styling/index.html new file mode 100644 index 0000000000..571ac83e22 --- /dev/null +++ b/v5.4.0/extensions/capabilities/styling/index.html @@ -0,0 +1,1125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Styling - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + + + +

    Styling an Extension#

    +

    Lens provides a set of global styles and UI components that can be used by any extension to preserve the look and feel of the application.

    +

    Layout#

    +

    For layout tasks, Lens uses the flex.box library which provides helpful class names to specify some of the flexbox properties. +For example, consider the following HTML and its associated CSS properties:

    +
    <div className="flex column align-center"></div>
    +
    +
    div {
    +  display: flex;
    +  flex-direction: column;
    +  align-items: center;
    +}
    +
    +

    However, you are free to use any styling technique or framework you like, including Emotion or even plain CSS.

    +

    Layout Variables#

    +

    There is a set of CSS variables available for for basic layout needs. +They are located inside :root and are defined in app.scss:

    +
    --unit: 8px;
    +--padding: var(--unit);
    +--margin: var(--unit);
    +--border-radius: 3px;
    +
    +

    These variables are intended to set consistent margins and paddings across components. +For example:

    +
    .status {
    +  padding-left: calc(var(--padding) * 2);
    +  border-radius: var(--border-radius);
    +}
    +
    +

    Themes#

    +

    Lens uses two built-in themes defined in the themes directory – one light and one dark.

    +

    Theme Variables#

    +

    When Lens is loaded, it transforms the selected theme's json file into a list of CSS Custom Properties (CSS Variables). +This list then gets injected into the :root element so that any of the down-level components can use them. +CSS vars listed in devtools

    +

    When the user changes the theme, the above process is repeated, and new CSS variables appear, replacing the previous ones.

    +

    If you want to preserve Lens's native look and feel, with respect to the lightness or darkness of your extension, you can use the provided variables and built-in Lens components such as Button, Select, Table, and so on.

    +

    There is a set of CSS variables available for extensions to use for theming. +They are all located inside :root and are defined in app.scss:

    +
    --font-main: 'Roboto', 'Helvetica', 'Arial', sans-serif;
    +--font-monospace: Lucida Console, Monaco, Consolas, monospace;
    +--font-size-small: calc(1.5 * var(--unit));
    +--font-size: calc(1.75 * var(--unit));
    +--font-size-big: calc(2 * var(--unit));
    +--font-weight-thin: 300;
    +--font-weight-normal: 400;
    +--font-weight-bold: 500;
    +
    +

    as well as in the theme modules:

    +
    --blue: #3d90ce;
    +--magenta: #c93dce;
    +--golden: #ffc63d;
    +--halfGray: #87909c80;
    +--primary: #3d90ce;
    +--textColorPrimary: #555555;
    +--textColorSecondary: #51575d;
    +--textColorAccent: #333333;
    +--borderColor: #c9cfd3;
    +--borderFaintColor: #dfdfdf;
    +--mainBackground: #f1f1f1;
    +--contentColor: #ffffff;
    +--layoutBackground: #e8e8e8;
    +--layoutTabsBackground: #f8f8f8;
    +--layoutTabsActiveColor: #333333;
    +--layoutTabsLineColor: #87909c80;
    +...
    +
    +

    These variables can be used in the following form: var(--magenta). +For example:

    +
    .status {
    +  font-size: var(--font-size-small);
    +  background-color: var(--colorSuccess);
    +}
    +
    +

    Theme Switching#

    +

    When the light theme is active, the <body> element gets a "theme-light" class, or: <body class="theme-light">. +If the class isn't there, the theme defaults to dark. The active theme can be changed in the Preferences page: +Color Theme

    +

    There is a way of detect active theme and its changes in JS. MobX observer function/decorator can be used for this purpose.

    +
    import React from "react"
    +import { observer } from "mobx-react"
    +import { Renderer } from "@k8slens/extensions";
    +
    +@observer
    +export class SupportPage extends React.Component {
    +  render() {
    +    return (
    +      <div className="SupportPage">
    +        <h1>Active theme is {Renderer.Theme.getActiveTheme().name}</h1>
    +      </div>
    +    );
    +  }
    +}
    +
    +

    Theme entity from @k8slens/extensions provides active theme object and @observer decorator makes component reactive - so it will rerender each time any of the observables (active theme in our case) will be changed.

    +

    Working example provided in Styling with Emotion sample extension.

    +

    Injected Styles#

    +

    Every extension is affected by the list of default global styles defined in app.scss. These are basic browser resets and element styles, including:

    +
      +
    • setting the box-sizing property for every element
    • +
    • default text and background colors
    • +
    • default font sizes
    • +
    • basic heading (h1, h2, etc) formatting
    • +
    • custom scrollbar styling
    • +
    +

    Extensions may overwrite these defaults if needed. They have low CSS specificity, so overriding them should be fairly easy.

    +

    CSS-in-JS#

    +

    If an extension uses a system like Emotion to work with styles, it can use CSS variables as follows:

    +
    const Container = styled.div(() => ({
    +  backgroundColor: 'var(--mainBackground)'
    +}));
    +
    +

    Examples#

    +

    You can explore samples for each styling technique that you can use for extensions:

    + + + + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/extension-migration/index.html b/v5.4.0/extensions/extension-migration/index.html new file mode 100644 index 0000000000..788e5a1c7b --- /dev/null +++ b/v5.4.0/extensions/extension-migration/index.html @@ -0,0 +1,815 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Lens v4 to v5 Extension Migration Notes - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + + + +

    Lens v4 to v5 Extension Migration Notes#

    +
      +
    • Lens v5 inspects the version of the extension to ensure it is compatible. +The package.json for your extension must have an "engines" field specifying the lens version that your extension is targeted for, e.g: +
          "engines": {
      +        "lens": "^5.0.0-beta.7"
      +    },
      +
      +Note that Lens v5 supports all the range semantics that semver provides.
    • +
    • Types and components have been reorganized, many have been grouped by process (Main and Renderer) plus those not specific to a process (Common). +For example the LensMainExtension class is now referred to by Main.LensExtension. +See the API Reference for the new organization.
    • +
    • The globalPageMenus field of the Renderer extension class (now Renderer.LensExtension) is removed. +Global pages can still be made accessible via the application menus and the status bar, as well as from the newly added Welcome menu.
    • +
    • The clusterFeatures field of the Renderer extension class (now Renderer.LensExtension) is removed. +Cluster features can still be implemented but Lens no longer dictates how a feature's lifecycle (install/upgrade/uninstall) is managed. +Renderer.K8sApi.ResourceStack provides the functionality to input and apply kubernetes resources to a cluster. +It is up to the extension developer to manage the lifecycle. +It could be applied automatically to a cluster by the extension or the end-user could be expected to install it, etc. from the cluster Settings page.
    • +
    • Lens v5 now relies on mobx 6 for state management. Extensions that use mobx will need to be modified to work with mobx 6. +See Migrating from Mobx 4/5 for specific details.
    • +
    +

    For an example of an existing extension that is compatible with Lens v5 see the Lens Resource Map Extension

    + + + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/get-started/anatomy/index.html b/v5.4.0/extensions/get-started/anatomy/index.html new file mode 100644 index 0000000000..20e0e5d68c --- /dev/null +++ b/v5.4.0/extensions/get-started/anatomy/index.html @@ -0,0 +1,1024 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Extension Anatomy - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + + + +

    Extension Anatomy#

    +

    In the previous section you learned how to create your first extension. +In this section you will learn how this extension works under the hood.

    +

    The Hello World sample extension does three things:

    +
      +
    • Implements onActivate() and outputs a message to the console.
    • +
    • Implements onDeactivate() and outputs a message to the console.
    • +
    • Registers ClusterPage so that the page is visible in the left-side menu of the cluster dashboard.
    • +
    +

    Let's take a closer look at our Hello World sample's source code and see how these three things are achieved.

    +

    Extension File Structure#

    +
    .
    +├── .gitignore          // Ignore build output and node_modules
    +├── Makefile            // Config for build tasks that compiles the extension
    +├── README.md           // Readable description of your extension's functionality
    +├── src
    +│   └── page.tsx         // Extension's additional source code
    +├── main.ts              // Source code for extension's main entrypoint
    +├── package.json         // Extension manifest and dependencies
    +├── renderer.tsx         // Source code for extension's renderer entrypoint
    +├── tsconfig.json        // TypeScript configuration
    +├── webpack.config.js    // Webpack configuration
    +
    +

    The extension directory contains the extension's entry files and a few configuration files. +Three files: package.json, main.ts and renderer.tsx are essential to understanding the Hello World sample extension. +We'll look at those first.

    +

    Extension Manifest#

    +

    Each Lens extension must have a package.json file. +It contains a mix of Node.js fields, including scripts and dependencies, and Lens-specific fields such as publisher and contributes. +Some of the most-important fields include:

    +
      +
    • name and publisher: Lens uses @<publisher>/<name> as a unique ID for the extension. +For example, the Hello World sample has the ID @lensapp-samples/helloworld-sample. +Lens uses this ID to uniquely identify your extension.
    • +
    • main: the extension's entry point run in main process.
    • +
    • renderer: the extension's entry point run in renderer process.
    • +
    • engines.lens: the minimum version of Lens API that the extension depends upon.
    • +
    +
    {
    +  "name": "helloworld-sample",
    +  "publisher": "lens-samples",
    +  "version": "0.0.1",
    +  "description": "Lens helloworld-sample",
    +  "license": "MIT",
    +  "homepage": "https://github.com/lensapp/lens-extension-samples",
    +  "engines": {
    +    "lens": "^4.0.0"
    +  },
    +  "main": "dist/main.js",
    +  "renderer": "dist/renderer.js",
    +  "scripts": {
    +    "build": "webpack --config webpack.config.js",
    +    "dev": "npm run build --watch"
    +  },
    +  "dependencies": {
    +    "react-open-doodles": "^1.0.5"
    +  },
    +  "devDependencies": {
    +    "@k8slens/extensions": "^4.0.0-alpha.2",
    +    "ts-loader": "^8.0.4",
    +    "typescript": "^4.0.3",
    +    "@types/react": "^16.9.35",
    +    "@types/node": "^12.0.0",
    +    "webpack": "^4.44.2",
    +    "webpack-cli": "^3.3.11"
    +  }
    +}
    +
    +

    Extension Entry Files#

    +

    Lens extensions can have two separate entry files. +One file is used in the main process of the Lens application and the other is used in the renderer process. +The main entry file exports the class that extends LensMainExtension, and the renderer entry file exports the class that extends LensRendererExtension.

    +

    Both extension classes have onActivate and onDeactivate methods. +The onActivate method is executed when your extension is activated. +If you need to initialize something in your extension, this is where such an operation should occur. +The onDeactivate method gives you a chance to clean up before your extension becomes deactivated. +For extensions where explicit cleanup is not required, you don't need to override this method. +However, if an extension needs to perform an operation when Lens is shutting down (or if the extension is disabled or uninstalled), this is the method where such an operation should occur.

    +

    The Hello World sample extension does not do anything on the main process, so we'll focus on the renderer process, instead. +On the renderer entry point, the Hello World sample extension defines the Cluster Page object. +The Cluster Page object registers the /extension-example path, and this path renders the ExamplePage React component. +It also registers the MenuItem component that displays the ExampleIcon React component and the "Hello World" text in the left-side menu of the cluster dashboard. +These React components are defined in the additional ./src/page.tsx file.

    +
    import { Renderer } from "@k8slens/extensions";
    +import { ExampleIcon, ExamplePage } from "./page"
    +import React from "react"
    +
    +export default class ExampleExtension extends Renderer.LensExtension {
    +  clusterPages = [
    +    {
    +      id: "extension-example",
    +      components: {
    +        Page: () => <ExamplePage extension={this}/>,
    +      }
    +    }
    +  ]
    +}
    +
    +

    The Hello World sample extension uses the Cluster Page capability, which is just one of the Lens extension API's capabilities. +The Common Capabilities page will help you home in on the right capabilities to use with your own extensions.

    + + + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/get-started/overview/index.html b/v5.4.0/extensions/get-started/overview/index.html new file mode 100644 index 0000000000..ea0c0a2d01 --- /dev/null +++ b/v5.4.0/extensions/get-started/overview/index.html @@ -0,0 +1,920 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Overview - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + + + +

    Extension Development Overview#

    +

    This is a general overview to how the development of an extension will proceed. +For building extensions there will be a few things that you should have installed, and some other things that might be of help.

    +

    Required:#

    +
      +
    • Node.js
    • +
    • Git
    • +
    • Some sort of text editor – we recommend VSCode
    • +
    • We use Webpack for compilation. +All extension need to be at least compatible with a webpack system.
    • +
    + +

    All Lens extensions are javascript packages. +We recommend that you program in Typescript because it catches many common errors.

    +

    Lens is a standard Electron application with both main and renderer processes. +An extension is made up of two parts, one for each of Lens's core processes. +When an extension is loaded, each part is first loaded and issues a notification that it has been loaded. +From there, the extension can start doing is work.

    +

    Lens uses React as its UI framework and provides some of Lens's own components for reuse with extensions. +An extension is responsible for the lifetime of any resources it spins up. +If an extension's main part starts new processes they all must be stopped and cleaned up when the extension is deactivated or unloaded.

    +

    See Your First Extension to get started.

    + + + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/get-started/wrapping-up/index.html b/v5.4.0/extensions/get-started/wrapping-up/index.html new file mode 100644 index 0000000000..ce2558ae97 --- /dev/null +++ b/v5.4.0/extensions/get-started/wrapping-up/index.html @@ -0,0 +1,930 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Wrapping Up - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + + + +

    Wrapping Up#

    +

    In Your First Extension, you learned how to create and run an extension. +In Extension Anatomy, you learned in detail how a basic extension works. +This is just a glimpse into what can be created with Lens extensions. +Below are some suggested routes for learning more.

    +

    Extension Capabilities#

    +

    In this section, you'll find information on common extension capabilities, styling information, and a color reference guide. +Determine whether your idea for an extension is doable and get ideas for new extensions by reading through the Common Capabilities page.

    +

    Guides and Samples#

    +

    Here you'll find a collection of sample extensions that you can use as a base to work from. +Some of these samples include a detailed guide that explains the source code. +You can find all samples and guides in the lens-extension-samples repository.

    +

    Testing and Publishing#

    +

    In this section, you can learn:

    + + + + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/get-started/your-first-extension/index.html b/v5.4.0/extensions/get-started/your-first-extension/index.html new file mode 100644 index 0000000000..31f5ccd2ad --- /dev/null +++ b/v5.4.0/extensions/get-started/your-first-extension/index.html @@ -0,0 +1,1042 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Your First Extension - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + + + +

    Your First Extension#

    +

    We recommend to always use Yeoman generator for Lens Extension to start new extension project. +Read the generator guide here.

    +

    If you want to setup the project manually, please continue reading.

    +

    First Extension#

    +

    In this topic, you'll learn the basics of building extensions by creating an extension that adds a "Hello World" page to a cluster menu.

    +

    Install the Extension#

    +

    To install the extension, clone the Lens Extension samples repository to your local machine:

    +
    git clone https://github.com/lensapp/lens-extension-samples.git
    +
    +

    Next you need to create a symlink. +A symlink connects the directory that Lens will monitor for user-installed extensions to the sample extension. +In this case the sample extension is helloworld-sample.

    +

    Linux & macOS#

    +
    mkdir -p ~/.k8slens/extensions
    +cd ~/.k8slens/extensions
    +ln -s lens-extension-samples/helloworld-sample helloworld-sample
    +
    +

    Windows#

    +

    Create the directory that Lens will monitor for user-installed extensions:

    +
    mkdir C:\Users\<user>\.k8slens\extensions -force
    +cd C:\Users\<user>\.k8slens\extensions
    +
    +

    If you have administrator rights, you can create symlink to the sample extension – in this case helloworld-sample:

    +
    cmd /c mklink /D helloworld-sample lens-extension-samples\helloworld-sample
    +
    +

    Without administrator rights, you need to copy the extensions sample directory into C:\Users\<user>\.k8slens\extensions:

    +
    Copy-Item 'lens-extension-samples\helloworld-sample' 'C:\Users\<user>\.k8slens\extensions\helloworld-sample'
    +
    +

    Build the Extension#

    +

    To build the extension you can use make or run the npm commands manually:

    +
    cd <lens-extension-samples directory>/helloworld-sample
    +make build
    +
    +

    To run the npm commands, enter:

    +
    cd <lens-extension-samples directory>/helloworld-sample
    +npm install
    +npm run build
    +
    +

    Optionally, automatically rebuild the extension by watching for changes to the source code. +To do so, enter:

    +
    cd <lens-extension-samples directory>/helloworld-sample
    +npm run dev
    +
    +

    You must restart Lens for the extension to load. +After this initial restart, reload Lens and it will automatically pick up changes any time the extension rebuilds.

    +

    With Lens running, either connect to an existing cluster or create a new one - refer to the latest Lens Documentation for details on how to add a cluster in Lens IDE. +You will see the "Hello World" page in the left-side cluster menu.

    +

    Develop the Extension#

    +

    Finally, you'll make a change to the message that our Hello World sample extension displays:

    +
      +
    1. Navigate to <lens-extension-samples directory>/helloworld-sample.
    2. +
    3. In page.tsx, change the message from HelloWorld! to Hello Lens Extensions.
    4. +
    5. Rebuild the extension. If you used npm run dev, the extension will rebuild automatically.
    6. +
    7. Reload the Lens window.
    8. +
    9. Click on the Hello World page.
    10. +
    11. The updated message will appear.
    12. +
    +

    Next Steps#

    +

    In the next topic, we'll take a closer look at the source code of our Hello World sample.

    +

    You can find the source code for this tutorial at: lensapp/lens-extension-samples. +Extension Guides contains additional samples.

    + + + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/guides/anatomy/index.html b/v5.4.0/extensions/guides/anatomy/index.html new file mode 100644 index 0000000000..f437f0f30c --- /dev/null +++ b/v5.4.0/extensions/guides/anatomy/index.html @@ -0,0 +1,809 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Anatomy - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + + + +

    Anatomy

    + +
    +

    WIP#

    + + + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/guides/catalog/index.html b/v5.4.0/extensions/guides/catalog/index.html new file mode 100644 index 0000000000..2072cb5f7b --- /dev/null +++ b/v5.4.0/extensions/guides/catalog/index.html @@ -0,0 +1,978 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Catalog - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + + + +

    Catalog (WIP)#

    +

    This guide is a brief overview about how the catalog works within Lens. +The catalog should be thought of as the single source of truth about data within Lens.

    +

    The data flow is unidirectional, it only flows from the main side to the renderer side. +All data is public within the catalog.

    +

    Categories#

    +

    A category is the declaration to the catalog of a specific kind of entity. +It declares the currently supported versions of that kind of entity but providing the constructors for the entity classes.

    +

    To declare a new category class you must create a new class that extends Common.Catalog.CatalogCategory and implement all of the abstract fields.

    +

    The categories provided by Lens itself have the following names:

    +
      +
    • KubernetesClusters
    • +
    • WebLinks
    • +
    • General
    • +
    +

    To register a category, call the Main.Catalog.catalogCategories.add() and Renderer.Catalog.catalogCategories.add() with instances of your class.

    +

    Custom Category Views#

    +

    By default when a specific category is selected in the catalog page a list of entities of the group and kind that the category has registered. +It is possible to register custom views for specific categories by registering them on your Renderer.LensExtension class.

    +

    A registration takes the form of a Common.Types.CustomCategoryViewRegistration

    +

    For example:

    +
    import { Renderer, Common } from "@k8slens/extensions";
    +
    +function MyKubernetesClusterView({
    +  category,
    +}: Common.Types.CustomCategoryViewProps) {
    +  return <div>My view: {category.getId()}</div>;
    +}
    +
    +export default class extends Renderer.LensExtension {
    +  customCategoryViews = [
    +    {
    +      group: "entity.k8slens.dev",
    +      kind: "KubernetesCluster",
    +      priority: 10,
    +      components: {
    +        View: MyKubernetesClusterView,
    +      },
    +    },
    +  ];
    +}
    +
    +

    Will register a new view for the KubernetesCluster category, and because the priority is < 50 it will be displayed above the default list view.

    +

    The default list view has a priority of 50 and and custom views with priority (defaulting to 50) >= 50 will be displayed afterwards.

    +

    Styling Custom Views#

    +

    By default, custom view blocks are styled with Flexbox. Some details comes from this.

    +
      +
    • To set fixed height of a custom block, use max-height css rule.
    • +
    • To set flexible height, use height.
    • +
    • Otherwise, custom view will have height of it's contents.
    • +
    +

    Entities#

    +

    An entity is the data within the catalog. +All entities are typed and the class instances will be recreated on the renderer side by the catalog and the category registrations.

    + + + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/guides/components/index.html b/v5.4.0/extensions/guides/components/index.html new file mode 100644 index 0000000000..f2ee74c4b1 --- /dev/null +++ b/v5.4.0/extensions/guides/components/index.html @@ -0,0 +1,809 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Components - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + + + +

    Components

    + +
    +

    WIP#

    + + + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/guides/extending-kubernetes-cluster/index.html b/v5.4.0/extensions/guides/extending-kubernetes-cluster/index.html new file mode 100644 index 0000000000..5a7f75cc50 --- /dev/null +++ b/v5.4.0/extensions/guides/extending-kubernetes-cluster/index.html @@ -0,0 +1,951 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Extending KubernetesCluster - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + + + +

    Extending KubernetesCluster#

    +

    Extension can specify it's own subclass of Common.Catalog.KubernetesCluster. Extension can also specify a new Category for it in the Catalog.

    +

    Extending Common.Catalog.KubernetesCluster#

    +
    import { Common } from "@k8slens/extensions";
    +
    +// The kind must be different from KubernetesCluster's kind
    +export const kind = "ManagedDevCluster";
    +
    +export class ManagedDevCluster extends Common.Catalog.KubernetesCluster {
    +  public static readonly kind = kind;
    +
    +  public readonly kind = kind;
    +}
    +
    +

    Extending Common.Catalog.CatalogCategory#

    +

    These custom Catalog entities can be added a new Category in the Catalog.

    +
    import { Common } from "@k8slens/extensions";
    +import { kind, ManagedDevCluster } from "../entities/ManagedDevCluster";
    +
    +class ManagedDevClusterCategory extends Common.Catalog.CatalogCategory {
    +  public readonly apiVersion = "catalog.k8slens.dev/v1alpha1";
    +  public readonly kind = "CatalogCategory";
    +  public metadata = {
    +    name: "Managed Dev Clusters",
    +    icon: ""
    +  };
    +  public spec: Common.Catalog.CatalogCategorySpec = {
    +    group: "entity.k8slens.dev",
    +    versions: [
    +      {
    +        name: "v1alpha1",
    +        entityClass: ManagedDevCluster as any,
    +      },
    +    ],
    +    names: {
    +      kind
    +    },
    +  };
    +}
    +
    +export { ManagedDevClusterCategory };
    +export type { ManagedDevClusterCategory as ManagedDevClusterCategoryType };
    +
    +

    The category needs to be registered in the onActivate() method both in main and renderer

    +
    // in main's on onActivate
    +Main.Catalog.catalogCategories.add(new ManagedDevClusterCategory());
    +
    +
    // in renderer's on onActivate
    +Renderer.Catalog.catalogCategories.add(new ManagedDevClusterCategory());
    +
    +

    You can then add the entities to the Catalog as a new source:

    +
    this.addCatalogSource("managedDevClusters", this.managedDevClusters);
    +
    + + + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/guides/generator/index.html b/v5.4.0/extensions/guides/generator/index.html new file mode 100644 index 0000000000..f931ba33e4 --- /dev/null +++ b/v5.4.0/extensions/guides/generator/index.html @@ -0,0 +1,974 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Generator - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + + + +

    Lens Extension Generator#

    +

    The Lens Extension Generator creates a directory with the necessary files for developing an extension.

    +

    Installing and Getting Started with the Generator#

    +

    To begin, install Yeoman and the Lens Extension Generator with the following command:

    +
    npm install -g yo generator-lens-ext
    +
    +

    Run the generator by entering the following command: yo lens-ext.

    +

    Answer the following questions:

    +
    # ? What type of extension do you want to create? New Extension (TypeScript)
    +# ? What's the name of your extension? my-first-lens-ext
    +# ? What's the description of your extension? My hello world extension
    +# ? What's your extension's publisher name? @my-org/my-first-lens-ext
    +# ? Initialize a git repository? Yes
    +# ? Install dependencies after initialization? Yes
    +# ? Which package manager to use? yarn
    +# ? symlink created extension folder to ~/.k8slens/extensions (mac/linux) or :Users\<user>\.k8slens\extensions (windows)? Yes
    +
    +

    Next, you'll need to have webpack watch the my-first-lens-ext folder. +Start webpack by entering:

    +
    cd my-first-lens-ext
    +npm start # start the webpack server in watch mode
    +
    +

    Open Lens and you will see a Hello World item in the left-side menu under Custom Resources:

    +

    Hello World

    +

    Developing the Extension#

    +

    Next, you'll try changing the way the new menu item appears in the UI. +You'll change it from "Hello World" to "Hello Lens".

    +

    Open my-first-lens-ext/renderer.tsx and change the value of title from "Hello World" to "Hello Lens":

    +
    clusterPageMenus = [
    +    {
    +        target: { pageId: "hello" },
    +        title: "Hello Lens",
    +        components: {
    +            Icon: ExampleIcon,
    +        }
    +    }
    +]
    +
    +

    Reload Lens and you will see that the menu item text has changed to "Hello Lens". +To reload Lens, enter CMD+R on Mac and Ctrl+R on Windows/Linux.

    +

    Hello World

    +

    Debugging the Extension#

    +

    To debug your extension, please see our instructions on Testing Extensions.

    +

    Next Steps#

    +

    To dive deeper, consider looking at Common Capabilities, Styling, or Extension Anatomy.

    +

    If you find problems with the Lens Extension Generator, or have feature requests, you are welcome to raise an issue. +You can find the latest Lens contribution guidelines here.

    +

    The Generator source code is hosted at GitHub.

    + + + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/v5.4.0/extensions/guides/images/certificates-crd-list.png b/v5.4.0/extensions/guides/images/certificates-crd-list.png new file mode 100644 index 0000000000000000000000000000000000000000..19c9558f7118b43e45138dac4d12f73ba648678d GIT binary patch literal 811453 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
    i?B!l|m(j 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�F_RQs&$fHV$gKK4X9PLQ1((c+oC=et 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

    5n}f-)2b+8dOqeos|99$* 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

    KaUjqltM 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 literal 0 HcmV?d00001 diff --git a/v5.4.0/extensions/guides/images/clusterfeature.png b/v5.4.0/extensions/guides/images/clusterfeature.png new file mode 100644 index 0000000000000000000000000000000000000000..ada8beba6f5375bc2cb82617db61abfdcbf528eb GIT binary patch literal 133771 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 literal 0 HcmV?d00001 diff --git a/v5.4.0/extensions/guides/images/clusterpagemenus.png b/v5.4.0/extensions/guides/images/clusterpagemenus.png new file mode 100644 index 0000000000000000000000000000000000000000..77a3ec118aae8b5fba49a8e42e6e9f7a44f1d80e GIT binary patch literal 729366 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 z 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≤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

    HLT0^RBBcJIg(haJhMNO&H_oD8ig1y@rLU)~ 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 X{?lg?LK3;Fz~}H!PIgZYdSCu8goeg3 literal 0 HcmV?d00001 diff --git a/v5.4.0/extensions/capabilities/index.html b/v5.4.0/extensions/capabilities/index.html new file mode 100644 index 0000000000..cf8ffae31b --- /dev/null +++ b/v5.4.0/extensions/capabilities/index.html @@ -0,0 +1,773 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Index - Lens Extension Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +