@dovetail-v2/refine 0.0.18 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/style.css CHANGED
@@ -1,4 +1,8 @@
1
- .m1u1f5zp{color:#bec1d2;}
1
+ .b142d7q8{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.b142d7q8 .breadcrumb-item:not(:last-of-type):after{content:'>';margin:0 8px;}
2
+ .eckm4od{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}
3
+ .e1hl982n{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.e1hl982n .title{margin-bottom:8px;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-image:linear-gradient(211.41deg,#929dad 0%,#d3dbe3 100%);}
4
+ .ax1qopv{position:absolute;top:0;left:0;bottom:0;width:1px;background:$blue-60;-webkit-transform:translateX(-9999px);-ms-transform:translateX(-9999px);transform:translateX(-9999px);z-index:999;}.ax1qopv::before{content:'';position:absolute;height:34px;width:3px;top:0;left:-1px;background:$blue-60;}
5
+ .t1upn1sz{width:100%;border-top:1px solid rgba(211,218,235,0.6);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.t1upn1sz .ant-table-pagination{display:none;}.t1upn1sz .table-container{min-height:0;}
2
6
  .egn3dbn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}
3
7
  .e136jgy8{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.e136jgy8 .title{margin-bottom:8px;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-image:linear-gradient(211.41deg,#929dad 0%,#d3dbe3 100%);}
4
8
  .w1akirqw{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}
@@ -18,21 +22,27 @@
18
22
 
19
23
  .e1tqaxpu{-webkit-flex:1;-ms-flex:1;flex:1;height:100%;margin-bottom:16px;}
20
24
  .fbinl28.ant-modal.fullscreen .ant-modal-header{padding:60px 128px 32px 128px;}.fbinl28.ant-modal.fullscreen .ant-modal-body{padding:0 128px;}.fbinl28.ant-modal.fullscreen .ant-modal-footer{padding:15px 128px;}
21
- .b142d7q8{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.b142d7q8 .breadcrumb-item:not(:last-of-type):after{content:'>';margin:0 8px;}
22
- .eckm4od{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}
23
- .e1hl982n{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.e1hl982n .title{margin-bottom:8px;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-image:linear-gradient(211.41deg,#929dad 0%,#d3dbe3 100%);}
24
- .ax1qopv{position:absolute;top:0;left:0;bottom:0;width:1px;background:$blue-60;-webkit-transform:translateX(-9999px);-ms-transform:translateX(-9999px);transform:translateX(-9999px);z-index:999;}.ax1qopv::before{content:'';position:absolute;height:34px;width:3px;top:0;left:-1px;background:$blue-60;}
25
- .t1upn1sz{width:100%;border-top:1px solid rgba(211,218,235,0.6);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.t1upn1sz .ant-table-pagination{display:none;}.t1upn1sz .table-container{min-height:0;}
26
25
  .t1v3ienx{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;margin-bottom:16px;}
27
26
  .c16agr8o{width:100%;}
28
- .c1dicff8{width:100%;}
27
+ .m1u1f5zp{color:#bec1d2;}
28
+ .c1dicff8{width:100%;vertical-align:top;}
29
29
  .esoz3jw .ant-modal-content{border-radius:16px;}.esoz3jw .ant-modal-header{border-radius:16px 16px 0 0;}
30
+ .e1m0bgls.ant-btn.ant-btn-link{height:22px;margin-left:8px;}
31
+ .woio6qj{width:100%;}
32
+ .h1pmxp8z{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:space-justify;-webkit-justify-content:space-space-between;-ms-flex-pack:space-justify;justify-content:space-space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:8px;}
33
+ .h1btthoz{-webkit-flex:1;-ms-flex:1;flex:1;}
34
+ .ewkumn1.ant-btn.ant-btn-link{height:22px;font-size:12px;}
35
+ .c1in0x5n{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:8px 10px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:8px;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;border-radius:4px;background:rgba(237,241,250,0.60);}.c1in0x5n:not(:last-of-type){margin-bottom:8px;}
36
+ .klhq5sj{color:rgba(44,56,82,0.60);}
30
37
  .t13a6vox{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%;}
31
- .t12ikbmp{max-width:256px;overflow:hidden;text-overflow:ellipsis;}
32
- .t9agep2{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;}
33
- .so89gfi{width:100%;overflow:auto;height:100%;width:100%;}
34
- .e1ohe42f{margin-top:16px;}
35
- .fqm4qz0{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}
38
+ .t12ikbmp{overflow:hidden;text-overflow:ellipsis;}
39
+ .s9agep2 .ant-row{margin-right:0 !important;}
40
+ .to89gfi{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;}
41
+ .s1ohe42f{width:100%;height:100%;}
42
+ .eqm4qz0{margin-top:16px;}
43
+ .ficl0qc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}
44
+ .to9uwk1.ant-tabs .ant-tabs-nav{margin-bottom:0;}
45
+ .se26ou0{margin-left:8px;}
36
46
  .laykzsq{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}
37
47
  .t1ng0psc.table-wrapper{height:auto;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;min-height:0;}
38
48
  .wfg6u6g{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.wfg6u6g .usage-text{width:50px;text-align:right;}.wfg6u6g .usage-bar{height:12px;width:100px;position:relative;border-radius:2px;}.wfg6u6g .request-anchor{position:absolute;left:10%;top:-3px;height:18px;width:2px;background:#777;z-index:9;}.wfg6u6g .usage-fill-bar{position:absolute;left:0;top:0;height:100%;background:rgba(0,128,255,0.6);z-index:7;}.wfg6u6g .request-bar{position:absolute;left:0;top:0;height:100%;background:#d8deeb;z-index:5;}.wfg6u6g .request-to-limit-bar{position:absolute;right:0;top:0;height:100%;background:#d8deeb;z-index:5;}.wfg6u6g .request-to-limit-bar.no-limit{background:linear-gradient(to right,#d8deeb 50%,#d8deeb 50%);background-size:4px 100%;}.wfg6u6g .request-to-limit-bar.no-limit.exceed-request{background:linear-gradient(to right,#d8deeb 50%,rgba(0,128,255,0.6) 50%);background-size:4px 100%;}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { IngressModel } from '../../models';
3
+ export declare const IngressRulesComponent: React.FC<{
4
+ ingress: IngressModel;
5
+ }>;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { IngressModel } from '../../models';
3
+ type Props = {
4
+ ingress: IngressModel;
5
+ };
6
+ export declare const IngressRulesTable: React.FC<Props>;
7
+ export {};
@@ -0,0 +1 @@
1
+ export * from './IngressRulesTable';
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export interface KeyValueDataProps {
3
+ datas: Record<string, string>;
4
+ expandable?: boolean;
5
+ }
6
+ export declare function KeyValueData(props: KeyValueDataProps): JSX.Element;
@@ -0,0 +1,7 @@
1
+ import type { NetworkPolicyIngressRule, NetworkPolicyEgressRule } from 'kubernetes-types/networking/v1';
2
+ import React from 'react';
3
+ type Props = {
4
+ ingressOrEgress: NetworkPolicyIngressRule[] | NetworkPolicyEgressRule[];
5
+ };
6
+ export declare const NetworkPolicyRulesTable: React.FC<Props>;
7
+ export {};
@@ -0,0 +1 @@
1
+ export * from './NetworkPolicyRulesTable';
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ name: string;
4
+ namespace: string;
5
+ resourceId: string;
6
+ };
7
+ export declare const ResourceLink: React.FC<Props>;
8
+ export {};
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { JobModel, ResourceModel, WorkloadModel, WorkloadBaseModel, CronJobModel } from '../../models';
2
+ import { JobModel, ResourceModel, WorkloadModel, WorkloadBaseModel, CronJobModel, IngressModel } from '../../models';
3
3
  export type ShowField<Model extends ResourceModel> = {
4
4
  key: string;
5
5
  title: string;
@@ -35,3 +35,5 @@ export declare const ServiceTypeField: () => ShowField<ResourceModel>;
35
35
  export declare const ClusterIpField: () => ShowField<ResourceModel>;
36
36
  export declare const SessionAffinityField: () => ShowField<ResourceModel>;
37
37
  export declare const ServicePodsField: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>() => ShowTabField<Model>;
38
+ export declare const IngressRulesTableTabField: <Model extends IngressModel>() => ShowTabField<Model>;
39
+ export declare const EventsTableTabField: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>() => ShowTabField<Model>;
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { WorkloadState } from '../../constants';
3
3
  type Props = {
4
4
  state?: WorkloadState;
5
+ className?: string;
5
6
  };
6
7
  export declare const StateTag: React.FC<Props>;
7
8
  export {};
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  type Props = {
3
- value: Record<string, string>;
3
+ value?: Record<string, string>;
4
4
  };
5
5
  export declare const Tags: React.FC<Props>;
6
6
  export {};
@@ -1,5 +1,8 @@
1
1
  import { LabelSelector } from 'kubernetes-types/meta/v1';
2
2
  import React from 'react';
3
- export declare const WorkloadPodsTable: React.FC<{
3
+ interface WorkloadPodsTableProps {
4
4
  selector?: LabelSelector;
5
- }>;
5
+ hideToolbar?: boolean;
6
+ }
7
+ export declare const WorkloadPodsTable: React.FC<WorkloadPodsTableProps>;
8
+ export {};
@@ -30,6 +30,7 @@ export * from './Menu';
30
30
  export * from './Table';
31
31
  export * from './EditButton';
32
32
  export * from './ReferenceLink';
33
+ export * from './ResourceLink';
33
34
  export * from './NamespacesFilter';
34
35
  export * from './Tags';
35
36
  export * from './PodLog';
@@ -223,4 +223,47 @@ export declare const SERVICE_INIT_VALUE: {
223
223
  apiVersion: string;
224
224
  kind: string;
225
225
  };
226
+ export declare const INGRESS_INIT_VALUE: {
227
+ spec: {
228
+ rules: {
229
+ host: string;
230
+ http: {
231
+ paths: {
232
+ path: string;
233
+ pathType: string;
234
+ backend: {
235
+ service: {
236
+ name: string;
237
+ port: {
238
+ number: number;
239
+ };
240
+ };
241
+ };
242
+ }[];
243
+ };
244
+ }[];
245
+ };
246
+ metadata: {
247
+ name: string;
248
+ namespace: string;
249
+ annotations: {};
250
+ labels: {};
251
+ };
252
+ apiVersion: string;
253
+ kind: string;
254
+ };
255
+ export declare const NETWORK_POLICY_INIT_VALUE: {
256
+ spec: {
257
+ podSelector: {};
258
+ policyTypes: never[];
259
+ };
260
+ metadata: {
261
+ name: string;
262
+ namespace: string;
263
+ annotations: {};
264
+ labels: {};
265
+ };
266
+ apiVersion: string;
267
+ kind: string;
268
+ };
226
269
  export declare const TIMESTAMP_LABEL = "sks.user.kubesmart.smtx.io/timestamp";
@@ -1,5 +1,5 @@
1
1
  import { Column } from '../../components/Table';
2
- import { JobModel, PodModel, ResourceModel, WorkloadModel, WorkloadBaseModel, CronJobModel } from '../../models';
2
+ import { JobModel, PodModel, ResourceModel, WorkloadModel, WorkloadBaseModel, CronJobModel, IngressModel } from '../../models';
3
3
  export declare const CommonSorter: (dataIndex: string[]) => (a: unknown, b: unknown) => 0 | 1 | -1;
4
4
  export declare const NameColumnRenderer: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>(resource?: string) => Column<Model>;
5
5
  export declare const NameSpaceColumnRenderer: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>() => Column<Model>;
@@ -14,3 +14,5 @@ export declare const CompletionsCountColumnRenderer: <Model extends JobModel | C
14
14
  export declare const DurationColumnRenderer: <Model extends JobModel | CronJobModel>() => Column<Model>;
15
15
  export declare const ServiceTypeColumnRenderer: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>() => Column<Model>;
16
16
  export declare const PodWorkloadColumnRenderer: <Model extends PodModel>() => Column<Model>;
17
+ export declare const IngressRulesColumnRenderer: <Model extends IngressModel>() => Column<Model>;
18
+ export declare const IngressDefaultBackendColumnRenderer: <Model extends IngressModel>() => Column<Model>;
package/lib/src/i18n.d.ts CHANGED
@@ -104,6 +104,12 @@ export declare const resources: {
104
104
  min: string;
105
105
  hr: string;
106
106
  day: string;
107
+ expand: string;
108
+ fold: string;
109
+ rule: string;
110
+ default_backend: string;
111
+ ingress_rule_type: string;
112
+ port: string;
107
113
  };
108
114
  };
109
115
  };
@@ -83,6 +83,12 @@ declare const _default: {
83
83
  min: string;
84
84
  hr: string;
85
85
  day: string;
86
+ expand: string;
87
+ fold: string;
88
+ rule: string;
89
+ default_backend: string;
90
+ ingress_rule_type: string;
91
+ port: string;
86
92
  };
87
93
  };
88
94
  export default _default;
@@ -1,3 +1,5 @@
1
+ export * from './ingress-model';
2
+ export * from './network-policy-model';
1
3
  export * from './job-model';
2
4
  export * from './workload-model';
3
5
  export * from './workload-base-model';
@@ -0,0 +1,18 @@
1
+ import { GlobalStore, Unstructured } from 'k8s-api-provider';
2
+ import type { Ingress } from 'kubernetes-types/networking/v1';
3
+ import { ResourceModel } from './resource-model';
4
+ type IngressTypes = Required<Ingress> & Unstructured;
5
+ type RuleItem = {
6
+ serviceName: string;
7
+ fullPath: string;
8
+ pathType: string;
9
+ host?: string;
10
+ servicePort?: number;
11
+ };
12
+ export declare class IngressModel extends ResourceModel<IngressTypes> {
13
+ _rawYaml: IngressTypes;
14
+ _globalStore: GlobalStore;
15
+ flattenedRules: RuleItem[];
16
+ constructor(_rawYaml: IngressTypes, _globalStore: GlobalStore);
17
+ }
18
+ export {};
@@ -0,0 +1,10 @@
1
+ import { GlobalStore, Unstructured } from 'k8s-api-provider';
2
+ import type { NetworkPolicy } from 'kubernetes-types/networking/v1';
3
+ import { ResourceModel } from './resource-model';
4
+ type NetworkPolicyTypes = Required<NetworkPolicy> & Unstructured;
5
+ export declare class NetworkPolicyModel extends ResourceModel<NetworkPolicyTypes> {
6
+ _rawYaml: NetworkPolicyTypes;
7
+ _globalStore: GlobalStore;
8
+ constructor(_rawYaml: NetworkPolicyTypes, _globalStore: GlobalStore);
9
+ }
10
+ export {};
@@ -0,0 +1,3 @@
1
+ import { IngressModel } from '../../models';
2
+ import { ResourceConfig } from '../../types';
3
+ export declare const IngressConfig: ResourceConfig<IngressModel>;
@@ -0,0 +1,3 @@
1
+ import { NetworkPolicyModel } from '../../models';
2
+ import { ResourceConfig } from '../../types';
3
+ export declare const NetworkPolicyConfig: ResourceConfig<NetworkPolicyModel>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dovetail-v2/refine",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",