@odigos/ui-kit 0.0.214 → 0.0.216

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.
Files changed (98) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/lib/chunks/index-3rwrQKyF.js +3 -0
  3. package/lib/chunks/ui-components-DvThY8Em.js +2422 -0
  4. package/lib/components/_v2/autocomplete/index.d.ts +13 -0
  5. package/lib/components/_v2/drawer/index.d.ts +1 -0
  6. package/lib/components/_v2/drop-data/index.d.ts +4 -0
  7. package/lib/components/_v2/index.d.ts +1 -0
  8. package/lib/components/_v2/segment/index.d.ts +8 -1
  9. package/lib/components/v2.js +1 -1
  10. package/lib/components.js +1 -1
  11. package/lib/constants.js +1 -1
  12. package/lib/containers/_v2/_drawers/add-action-drawer/index.d.ts +1 -0
  13. package/lib/containers/_v2/_drawers/add-destination-drawer/index.d.ts +4 -1
  14. package/lib/containers/_v2/_drawers/add-rule-drawer/index.d.ts +1 -0
  15. package/lib/containers/_v2/_drawers/add-source-drawer/index.d.ts +2 -0
  16. package/lib/containers/_v2/_drawers/create-sampling-rule-drawer/constants.d.ts +26 -0
  17. package/lib/containers/_v2/_drawers/create-sampling-rule-drawer/converters.d.ts +5 -0
  18. package/lib/containers/_v2/_drawers/create-sampling-rule-drawer/form-helpers.d.ts +5 -0
  19. package/lib/containers/_v2/_drawers/create-sampling-rule-drawer/index.d.ts +6 -0
  20. package/lib/containers/_v2/_drawers/create-sampling-rule-drawer/sections/duration-errors.d.ts +9 -0
  21. package/lib/containers/_v2/_drawers/create-sampling-rule-drawer/sections/operation.d.ts +9 -0
  22. package/lib/containers/_v2/_drawers/create-sampling-rule-drawer/sections/percentage.d.ts +9 -0
  23. package/lib/containers/_v2/_drawers/create-sampling-rule-drawer/sections/rule-info.d.ts +9 -0
  24. package/lib/containers/_v2/_drawers/create-sampling-rule-drawer/sections/sampling-preview.d.ts +9 -0
  25. package/lib/containers/_v2/_drawers/create-sampling-rule-drawer/sections/source-scope.d.ts +10 -0
  26. package/lib/containers/_v2/_drawers/create-sampling-rule-drawer/types.d.ts +54 -0
  27. package/lib/containers/_v2/_drawers/edit-auto-rule-drawer/constants.d.ts +10 -0
  28. package/lib/containers/_v2/_drawers/edit-auto-rule-drawer/index.d.ts +4 -0
  29. package/lib/containers/_v2/_drawers/edit-auto-rule-drawer/types.d.ts +8 -0
  30. package/lib/containers/_v2/_drawers/edit-cost-reduction-auto-rule-drawer/constants.d.ts +10 -0
  31. package/lib/containers/_v2/_drawers/edit-cost-reduction-auto-rule-drawer/index.d.ts +4 -0
  32. package/lib/containers/_v2/_drawers/edit-cost-reduction-auto-rule-drawer/types.d.ts +8 -0
  33. package/lib/containers/_v2/_drawers/edit-highly-relevant-auto-rule-drawer/constants.d.ts +6 -0
  34. package/lib/containers/_v2/_drawers/edit-highly-relevant-auto-rule-drawer/index.d.ts +4 -0
  35. package/lib/containers/_v2/_drawers/edit-highly-relevant-auto-rule-drawer/types.d.ts +6 -0
  36. package/lib/containers/_v2/_drawers/index.d.ts +5 -0
  37. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/constants.d.ts +19 -0
  38. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/footer.d.ts +21 -0
  39. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/index.d.ts +23 -0
  40. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/reverse-converters.d.ts +3 -0
  41. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/sections/duration-errors.d.ts +6 -0
  42. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/sections/operation-details.d.ts +6 -0
  43. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/sections/percentage.d.ts +6 -0
  44. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/sections/rule-info.d.ts +6 -0
  45. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/sections/sampling-preview.d.ts +6 -0
  46. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/sections/source-scopes.d.ts +6 -0
  47. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/sections/styled.d.ts +4 -0
  48. package/lib/containers/_v2/_drawers/view-sampling-rule-drawer/types.d.ts +1 -0
  49. package/lib/containers/_v2/_forms/add-destination-form/context.d.ts +3 -3
  50. package/lib/containers/_v2/auto-rule-card/constants.d.ts +1 -0
  51. package/lib/containers/_v2/auto-rule-card/helpers.d.ts +19 -0
  52. package/lib/containers/_v2/auto-rule-card/index.d.ts +5 -0
  53. package/lib/containers/_v2/auto-rule-card/types.d.ts +6 -0
  54. package/lib/containers/_v2/central-connections/index.d.ts +2 -1
  55. package/lib/containers/_v2/index.d.ts +3 -0
  56. package/lib/containers/_v2/onboarding/index.d.ts +2 -1
  57. package/lib/containers/_v2/onboarding/summary/index.d.ts +1 -0
  58. package/lib/containers/_v2/sampling-rules-list/constants.d.ts +23 -0
  59. package/lib/containers/_v2/sampling-rules-list/helpers.d.ts +30 -0
  60. package/lib/containers/_v2/sampling-rules-list/index.d.ts +6 -0
  61. package/lib/containers/_v2/sampling-rules-list/rule-row.d.ts +12 -0
  62. package/lib/containers/_v2/sampling-rules-list/summary-span.d.ts +10 -0
  63. package/lib/containers/_v2/sampling-rules-list/toolbar.d.ts +13 -0
  64. package/lib/containers/_v2/sampling-rules-list/types.d.ts +47 -0
  65. package/lib/containers/v2.js +446 -35
  66. package/lib/containers.js +2 -2
  67. package/lib/contexts.js +1 -1
  68. package/lib/functions.js +1 -1
  69. package/lib/hooks.js +1 -1
  70. package/lib/icons/destinations/aws-api-gateway-logo/index.d.ts +2 -0
  71. package/lib/icons/destinations/aws-bedrock-logo/index.d.ts +2 -0
  72. package/lib/icons/destinations/aws-dynamodb-logo/index.d.ts +2 -0
  73. package/lib/icons/destinations/aws-ec2-logo/index.d.ts +2 -0
  74. package/lib/icons/destinations/aws-eventbridge-logo/index.d.ts +2 -0
  75. package/lib/icons/destinations/aws-kinesis-logo/index.d.ts +2 -0
  76. package/lib/icons/destinations/aws-lambda-logo/index.d.ts +2 -0
  77. package/lib/icons/destinations/aws-secrets-manager-logo/index.d.ts +2 -0
  78. package/lib/icons/destinations/aws-sns-logo/index.d.ts +2 -0
  79. package/lib/icons/destinations/aws-sqs-logo/index.d.ts +2 -0
  80. package/lib/icons/destinations/aws-step-functions-logo/index.d.ts +2 -0
  81. package/lib/icons/destinations/aws-sts-logo/index.d.ts +2 -0
  82. package/lib/icons/destinations/index.d.ts +12 -0
  83. package/lib/icons/overview/index.d.ts +1 -0
  84. package/lib/icons/overview/sampling-icon/index.d.ts +2 -0
  85. package/lib/icons.js +1 -1
  86. package/lib/snippets/_v2/wide-drawer/index.d.ts +2 -0
  87. package/lib/snippets.js +1 -1
  88. package/lib/store.js +1 -1
  89. package/lib/theme.js +1 -1
  90. package/lib/types/common/index.d.ts +2 -1
  91. package/lib/types/destinations/index.d.ts +3 -0
  92. package/lib/types/index.d.ts +1 -0
  93. package/lib/types/sampling.d.ts +103 -0
  94. package/lib/types.js +1 -1
  95. package/lib/visuals.js +1 -1
  96. package/package.json +1 -1
  97. package/lib/chunks/index-CIjqAfew.js +0 -3
  98. package/lib/chunks/ui-components-Cu9XlyM0.js +0 -2391
@@ -5,6 +5,8 @@ import { type HeaderProps } from '@/components/_v2/drawer/header';
5
5
  import { type DrawerProps, type LoaderProps, type SearchProps, BadgeProps } from '@/components/_v2';
6
6
  export interface WideDrawerProps {
7
7
  isOpen: DrawerProps['isOpen'];
8
+ withOverlay?: boolean;
9
+ disableAnimation?: DrawerProps['disableAnimation'];
8
10
  onClose?: HeaderProps['onClose'];
9
11
  onBack?: () => void;
10
12
  onNext?: () => void;
package/lib/snippets.js CHANGED
@@ -1 +1 @@
1
- export{b3 as AddButton,cA as CopyText,cw as EditButton,cv as Flow,dK as MapItemNode,dL as NoDataNode,cb as NoteBackToSummary,cC as PodContainer,cJ as SourceContainer}from"./chunks/ui-components-Cu9XlyM0.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
1
+ export{b8 as AddButton,cF as CopyText,cB as EditButton,cA as Flow,dN as MapItemNode,dO as NoDataNode,cg as NoteBackToSummary,cH as PodContainer,cM as SourceContainer}from"./chunks/ui-components-DvThY8Em.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
package/lib/store.js CHANGED
@@ -1 +1 @@
1
- export{as as ProgressKeys,cu as useActiveNodeStore,cP as useDarkMode,O as useDataStreamStore,ba as useDrawerStore,ay as useEntityStore,bx as useFilterStore,bl as useModalStore,cm as useNotificationStore,ar as useProgressStore,bN as useSelectedStore,c8 as useSetupStore}from"./chunks/ui-components-Cu9XlyM0.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
1
+ export{at as ProgressKeys,cz as useActiveNodeStore,cS as useDarkMode,O as useDataStreamStore,bf as useDrawerStore,am as useEntityStore,bC as useFilterStore,bq as useModalStore,cr as useNotificationStore,as as useProgressStore,bS as useSelectedStore,cd as useSetupStore}from"./chunks/ui-components-DvThY8Em.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
package/lib/theme.js CHANGED
@@ -1 +1 @@
1
- export{dC as Provider,dD as animations,dE as opacity,dF as palettes}from"./chunks/ui-components-Cu9XlyM0.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
1
+ export{dF as Provider,dG as animations,dH as opacity,dI as palettes}from"./chunks/ui-components-DvThY8Em.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
@@ -83,7 +83,8 @@ export declare enum EntityTypes {
83
83
  Source = "Source",
84
84
  Destination = "Destination",
85
85
  Action = "Action",
86
- InstrumentationRule = "InstrumentationRule"
86
+ InstrumentationRule = "InstrumentationRule",
87
+ SamplingRule = "SamplingRule"
87
88
  }
88
89
  export declare enum OtherEntityTypes {
89
90
  DataStream = "DataStream"
@@ -170,6 +170,9 @@ export interface DestinationFormData {
170
170
  export type CreateDestinationFunc = (payload: DestinationFormData, connectionIds?: string[]) => Promise<{
171
171
  error?: string;
172
172
  } | undefined>;
173
+ export type UpdateDestinationFunc = (id: string, payload: DestinationFormData, connectionIds?: string[]) => Promise<{
174
+ error?: string;
175
+ } | undefined>;
173
176
  export interface TestConnectionResponse {
174
177
  destinationType: DestinationTypes;
175
178
  statusCode: number;
@@ -17,4 +17,5 @@ export * from './snapshot';
17
17
  export * from './sources';
18
18
  export * from './tokens';
19
19
  export * from './traces';
20
+ export * from './sampling';
20
21
  export * from './workload';
@@ -0,0 +1,103 @@
1
+ export interface SourcesScope {
2
+ workloadName?: string | null;
3
+ workloadKind?: string | null;
4
+ workloadNamespace?: string | null;
5
+ workloadLanguage?: string | null;
6
+ }
7
+ export interface HeadSamplingHttpServerMatcher {
8
+ route?: string | null;
9
+ routePrefix?: string | null;
10
+ method?: string | null;
11
+ }
12
+ export interface HeadSamplingHttpClientMatcher {
13
+ serverAddress?: string | null;
14
+ templatedPath?: string | null;
15
+ templatedPathPrefix?: string | null;
16
+ method?: string | null;
17
+ }
18
+ export interface HeadSamplingOperationMatcher {
19
+ httpServer?: HeadSamplingHttpServerMatcher | null;
20
+ httpClient?: HeadSamplingHttpClientMatcher | null;
21
+ }
22
+ export interface TailSamplingHttpServerMatcher {
23
+ route?: string | null;
24
+ routePrefix?: string | null;
25
+ method?: string | null;
26
+ }
27
+ export interface TailSamplingKafkaMatcher {
28
+ kafkaTopic?: string | null;
29
+ }
30
+ export interface TailSamplingOperationMatcher {
31
+ httpServer?: TailSamplingHttpServerMatcher | null;
32
+ kafkaConsumer?: TailSamplingKafkaMatcher | null;
33
+ kafkaProducer?: TailSamplingKafkaMatcher | null;
34
+ }
35
+ export interface NoisyOperationRule {
36
+ ruleId: string;
37
+ name?: string | null;
38
+ disabled: boolean;
39
+ sourceScopes?: SourcesScope[] | null;
40
+ operation?: HeadSamplingOperationMatcher | null;
41
+ percentageAtMost?: number | null;
42
+ notes?: string | null;
43
+ }
44
+ export interface HighlyRelevantOperationRule {
45
+ ruleId: string;
46
+ name?: string | null;
47
+ disabled: boolean;
48
+ sourceScopes?: SourcesScope[] | null;
49
+ error: boolean;
50
+ durationAtLeastMs?: number | null;
51
+ operation?: TailSamplingOperationMatcher | null;
52
+ percentageAtLeast?: number | null;
53
+ notes?: string | null;
54
+ }
55
+ export interface CostReductionRule {
56
+ ruleId: string;
57
+ name?: string | null;
58
+ disabled: boolean;
59
+ sourceScopes?: SourcesScope[] | null;
60
+ operation?: TailSamplingOperationMatcher | null;
61
+ percentageAtMost: number;
62
+ notes?: string | null;
63
+ }
64
+ export interface SamplingRules {
65
+ id: string;
66
+ name?: string | null;
67
+ noisyOperations: NoisyOperationRule[];
68
+ highlyRelevantOperations: HighlyRelevantOperationRule[];
69
+ costReductionRules: CostReductionRule[];
70
+ }
71
+ export type SamplingRule = NoisyOperationRule | HighlyRelevantOperationRule | CostReductionRule;
72
+ export interface SourcesScopeInput {
73
+ workloadName?: string | null;
74
+ workloadKind?: string | null;
75
+ workloadNamespace?: string | null;
76
+ workloadLanguage?: string | null;
77
+ }
78
+ export interface NoisyOperationRuleInput {
79
+ name?: string | null;
80
+ disabled?: boolean | null;
81
+ sourceScopes?: SourcesScopeInput[] | null;
82
+ operation?: HeadSamplingOperationMatcher | null;
83
+ percentageAtMost?: number | null;
84
+ notes?: string | null;
85
+ }
86
+ export interface HighlyRelevantOperationRuleInput {
87
+ name?: string | null;
88
+ disabled?: boolean | null;
89
+ sourceScopes?: SourcesScopeInput[] | null;
90
+ error?: boolean | null;
91
+ durationAtLeastMs?: number | null;
92
+ operation?: TailSamplingOperationMatcher | null;
93
+ percentageAtLeast?: number | null;
94
+ notes?: string | null;
95
+ }
96
+ export interface CostReductionRuleInput {
97
+ name?: string | null;
98
+ disabled?: boolean | null;
99
+ sourceScopes?: SourcesScopeInput[] | null;
100
+ operation?: TailSamplingOperationMatcher | null;
101
+ percentageAtMost: number;
102
+ notes?: string | null;
103
+ }
package/lib/types.js CHANGED
@@ -1 +1 @@
1
- export{cV as ActionCategory,A as ActionKeyTypes,w as ActionType,cW as AddNodeTypes,cX as BooleanOperation,Y as CodeAttributesKeyTypes,bk as Crud,a2 as CustomInstrumentationsKeyTypes,bP as DesiredStateProgress,cY as DestinationTypes,cZ as EdgeTypes,ac as EntityTypes,v as FieldTypes,a0 as GolangCustomProbe,_ as HeadersCollectionKeyTypes,m as InputTypes,c_ as InstallationMethod,a3 as InstrumentationRuleType,c$ as IntrumentationStatus,a1 as JavaCustomProbe,d0 as JsonOperation,K as K8sAttributesFrom,cH as K8sResourceKind,d1 as ListDirection,cs as NodeTypes,d2 as NumberOperation,d3 as OtelDistroName,cc as OtherEntityTypes,bu as OtherStatus,an as OtherStatusType,$ as PayloadCollectionKeyTypes,d4 as PlatformType,d5 as PodContainerLifecycleStatus,d6 as PodContainerStatus,d7 as PodPhase,d8 as Profile,cI as ProgrammingLanguages,d9 as SIGNAL_KEY_TO_TYPE,ch as SIGNAL_TYPE_TO_KEY,da as SignalKey,Q as SignalType,db as SortDirection,i as StatusType,dc as StringOperation,T as Tier,aT as WorkloadRolloutStatus}from"./chunks/ui-components-Cu9XlyM0.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
1
+ export{cY as ActionCategory,A as ActionKeyTypes,w as ActionType,cZ as AddNodeTypes,c_ as BooleanOperation,Y as CodeAttributesKeyTypes,bp as Crud,a2 as CustomInstrumentationsKeyTypes,bU as DesiredStateProgress,c$ as DestinationTypes,d0 as EdgeTypes,ac as EntityTypes,v as FieldTypes,a0 as GolangCustomProbe,_ as HeadersCollectionKeyTypes,m as InputTypes,d1 as InstallationMethod,a3 as InstrumentationRuleType,d2 as IntrumentationStatus,a1 as JavaCustomProbe,d3 as JsonOperation,K as K8sAttributesFrom,cL as K8sResourceKind,d4 as ListDirection,cx as NodeTypes,d5 as NumberOperation,d6 as OtelDistroName,ch as OtherEntityTypes,bz as OtherStatus,ao as OtherStatusType,$ as PayloadCollectionKeyTypes,d7 as PlatformType,d8 as PodContainerLifecycleStatus,d9 as PodContainerStatus,da as PodPhase,db as Profile,aw as ProgrammingLanguages,dc as SIGNAL_KEY_TO_TYPE,cm as SIGNAL_TYPE_TO_KEY,dd as SignalKey,Q as SignalType,de as SortDirection,i as StatusType,df as StringOperation,T as Tier,aX as WorkloadRolloutStatus}from"./chunks/ui-components-DvThY8Em.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
package/lib/visuals.js CHANGED
@@ -1 +1 @@
1
- export{dY as VISUAL_ODIGOS_LOGO_HEIGHT,dZ as VISUAL_ODIGOS_LOGO_WIDTH,V as VisualGreenRings,d_ as VisualOdigosLogo}from"./chunks/ui-components-Cu9XlyM0.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
1
+ export{d$ as VISUAL_ODIGOS_LOGO_HEIGHT,e0 as VISUAL_ODIGOS_LOGO_WIDTH,V as VisualGreenRings,e1 as VisualOdigosLogo}from"./chunks/ui-components-DvThY8Em.js";import"./icons.js";import"react/jsx-runtime";import"styled-components";import"zustand";import"react";import"javascript-time-ago";import"./chunks/vendor-C150cdxb.js";import"@xyflow/react";import"react-dom";import"prism-react-renderer";import"react-error-boundary";import"lottie-react";import"virtua";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odigos/ui-kit",
3
- "version": "0.0.214",
3
+ "version": "0.0.216",
4
4
  "author": "Odigos",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,3 +0,0 @@
1
- import{jsx as t}from"react/jsx-runtime";import{useState as o,useMemo as e}from"react";import i from"styled-components";import{at as a,t as n,j as r,aF as s,aD as l,ax as c,cU as d,e as p,N as m}from"./ui-components-Cu9XlyM0.js";import{VIcon as u,CopyIcon as f,ChevronUpIcon as h,ChevronDownIcon as y,YamlIcon as b}from"../icons.js";const g=i.div`
2
- padding: 0 12px;
3
- `,j=({title:i="YAML",yaml:j,defaultOpen:k,fullHeight:v})=>{const{clickCopy:x,isCopied:C}=a(),[S,Y]=o(k??!1),A=e(()=>j?[{id:l(),type:s.Button,buttonProps:{variant:r.Secondary,size:n.S,leftIcon:C?u:f,onClick:()=>x(j||""),disabled:C}},{id:l(),type:s.Button,buttonProps:{variant:r.Secondary,size:n.S,leftIcon:S?h:y,onClick:()=>Y(t=>!t)}}]:[],[j,C,S]);return t(c,{richTitle:{icon:b,title:i},actions:A,fullHeight:v,children:S&&t(g,{children:j?t(d,{code:j,language:"yaml",theme:"duotoneDark"}):t(p,{children:t(m,{title:"YAML not found",subTitle:"The YAML for this resource is not available"})})})})};export{j as Y};