@cleartrip/talos-radio-selection 2.0.0-beta-260717-7.0

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.
@@ -0,0 +1,5 @@
1
+ import { type IWidgetProps } from "@cleartrip/talos-widget-types";
2
+ import type { IRadioSelectionProps } from "./type";
3
+ declare const RadioSelection: ({ data }: IWidgetProps<IRadioSelectionProps>) => import("react/jsx-runtime").JSX.Element;
4
+ export default RadioSelection;
5
+ //# sourceMappingURL=RadioSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioSelection.d.ts","sourceRoot":"","sources":["../packages/components/radio-selection/src/RadioSelection.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAC;AASvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAInD,QAAA,MAAM,cAAc,aAAc,aAAa,oBAAoB,CAAC,4CAiGnE,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type IWidgetProps } from "@cleartrip/talos-widget-types";
2
+ import type { IRadioSelectionItemProps } from "./type";
3
+ declare const RadioSelectionItem: ({ data, events, }: IWidgetProps<IRadioSelectionItemProps>) => import("react/jsx-runtime").JSX.Element | null;
4
+ export default RadioSelectionItem;
5
+ //# sourceMappingURL=RadioSelectionItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioSelectionItem.d.ts","sourceRoot":"","sources":["../packages/components/radio-selection/src/RadioSelectionItem.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAa9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAEvD,QAAA,MAAM,kBAAkB,sBAGrB,aAAa,wBAAwB,CAAC,mDAiDxC,CAAC;AACF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { default as RadioSelection } from './RadioSelection';
2
+ export { default as RadioSelectionItem } from './RadioSelectionItem';
3
+ export * from './type';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../packages/components/radio-selection/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { Theme } from "@cleartrip/ct-design-components";
2
+ export declare const getRadioSelectionStyle: (theme: Theme) => {
3
+ root: {
4
+ display: string;
5
+ flexDirection: string;
6
+ alignItems: string;
7
+ gap: "16px";
8
+ };
9
+ selectionOptionRoot: {
10
+ display: string;
11
+ flexDirection: string;
12
+ backgroundColor: string;
13
+ borderRadius: "16px";
14
+ };
15
+ selectionOptionItem: {
16
+ display: string;
17
+ alignItems: string;
18
+ gap: "8px";
19
+ padding: "8px";
20
+ };
21
+ selectionOptionContent: {
22
+ display: string;
23
+ flexDirection: string;
24
+ alignItems: string;
25
+ justifyContent: string;
26
+ paddingRight: "36px";
27
+ };
28
+ loadMoreButton: {
29
+ backgroundColor: string;
30
+ };
31
+ };
32
+ //# sourceMappingURL=style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../packages/components/radio-selection/src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAExD,eAAO,MAAM,sBAAsB,UAAW,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BlD,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("tslib"),n=require("react/jsx-runtime"),t=require("react"),i=require("@cleartrip/ct-design-components"),a=require("@cleartrip/talos-widget-types"),o=require("@cleartrip/talos-widget-manager"),r=require("@cleartrip/talos-use-chat-controller"),s=function(e){return{root:{display:"flex",flexDirection:"column",alignItems:"start",gap:e.spacing[4]},selectionOptionRoot:{display:"flex",flexDirection:"column",backgroundColor:e.color.background.neutral,borderRadius:e.border.radius[16]},selectionOptionItem:{display:"flex",alignItems:"start",gap:e.spacing[2],padding:e.spacing[2]},selectionOptionContent:{display:"flex",flexDirection:"column",alignItems:"start",justifyContent:"flex-start",paddingRight:e.spacing[9]},loadMoreButton:{backgroundColor:"transparent"}}},l=function(e){return"radio-selection-option-".concat(e)};exports.RadioSelection=function(c){var u=c.data,d=i.useTheme(),p=r.useAppDispatch().dispatch,g=t.useMemo(function(){return s(d)},[d]),h=u||{},f=h.options,_=void 0===f?[]:f,y=h.action,m=void 0===y?null:y,v=(h.config||{}).initialLoadCount,x=t.useRef(null),C=t.useState(null),b=C[0],j=C[1],k=t.useState(v||5),D=k[0],R=k[1],T=t.useMemo(function(){return _.slice(0,D)},[_,D]),A=_.length>D,I=t.useCallback(function(){R(function(e){return x.current=e,Math.min(e+5,_.length)})},[_.length]),O=t.useCallback(function(e){switch(e.type){case a.ActionType.TOGGLE_RADIO:j(e.payload.id);break;case a.ActionType.LOAD_MORE:I();break;default:p(e)}},[p,I]);t.useLayoutEffect(function(){var e,n=x.current;if(null!=n){x.current=null;var t=_[n],i=null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.id;if(i){var a=document.getElementById(l(i));null==a||a.scrollIntoView({behavior:"smooth",block:"start"})}}},[D,_]);var q=t.useCallback(function(e){return e.forEach(O)},[O]);return n.jsx(r.ChatDispatchProvider,e.__assign({dispatch:O,dispatchAll:q},{children:n.jsxs(i.Container,e.__assign({css:g.root},{children:[n.jsx(i.Container,e.__assign({css:g.selectionOptionRoot},{children:T.map(function(a,r){var s=((null==a?void 0:a.data)||{}).id,l=b===s,c=r<T.length-1,u=e.__assign(e.__assign({},a),{data:e.__assign(e.__assign({},a.data),{checked:l})});return n.jsxs(t.Fragment,{children:[n.jsx(o.WidgetGenerator,e.__assign({},u)),c&&n.jsx(i.Divider,{type:"solid",borderColor:d.color.border.disabledDark})]},null!=s?s:r)})})),A&&m&&n.jsx(o.WidgetGenerator,e.__assign({},m))]}))}))},exports.RadioSelectionItem=function(o){var c=o.data,u=o.events,d=i.useTheme(),p=r.useAppDispatch().dispatchAll,g=c||{},h=g.id,f=g.label,_=g.subheading,y=void 0===_?"":_,m=g.checked,v=void 0!==m&&m,x=(u||{}).onClick,C=r.useDispatch(),b=t.useMemo(function(){return s(d)},[d]),j=h?l(h):void 0;return h?n.jsxs(i.Container,e.__assign({id:j,css:b.selectionOptionItem},{children:[n.jsx(i.Radio,{id:h,onChange:function(){return function(e){C({type:a.ActionType.TOGGLE_RADIO,payload:{id:e}}),p(x)}(h)},checked:v}),n.jsxs(i.Container,e.__assign({css:b.selectionOptionContent},{children:[n.jsx(i.Typography,e.__assign({variant:i.TypographyVariant.L3,color:i.TypographyColor.PRIMARY,lineClamp:1},{children:f})),y&&n.jsx(i.Typography,e.__assign({variant:i.TypographyVariant.P3,color:i.TypographyColor.SUBHEADING,lineClamp:1},{children:y}))]}))]})):null};
2
+ //# sourceMappingURL=talos-radio-selection.browser.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"talos-radio-selection.browser.cjs.js","sources":["../packages/components/radio-selection/src/style.ts","../packages/components/radio-selection/src/util.ts","../packages/components/radio-selection/src/RadioSelection.tsx","../packages/components/radio-selection/src/RadioSelectionItem.tsx"],"sourcesContent":[null,null,null,null],"names":["getRadioSelectionStyle","theme","root","display","flexDirection","alignItems","gap","spacing","selectionOptionRoot","backgroundColor","color","background","neutral","borderRadius","border","radius","selectionOptionItem","padding","selectionOptionContent","justifyContent","paddingRight","loadMoreButton","getOptionDomId","optionId","concat","_a","data","useTheme","appDispatch","useAppDispatch","staticStyles","useMemo","_b","_c","options","_d","action","initialLoadCount","config","scrollToIndexRef","useRef","_e","useState","selectedRadioId","setSelectedRadioId","_f","visibleCount","setVisibleCount","visibleOptions","slice","showLoadMoreButton","length","handleLoadMore","useCallback","prev","current","Math","min","localDispatch","type","ActionType","TOGGLE_RADIO","payload","id","LOAD_MORE","useLayoutEffect","index","option","element","document","getElementById","scrollIntoView","behavior","block","localDispatchAll","actions","forEach","_jsx","ChatDispatchProvider","__assign","dispatch","dispatchAll","children","_jsxs","jsxs","Container","css","map","isChecked","showDivider","enrichedRadioSelectionItemProps","checked","Fragment","WidgetGenerator","Divider","borderColor","disabledDark","jsx","events","label","subheading","onClick","useDispatch","optionDomId","undefined","Radio","onChange","handleOnChange","Typography","variant","TypographyVariant","L3","TypographyColor","PRIMARY","lineClamp","P3","SUBHEADING"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{__assign as t}from"tslib";import{jsx as n,jsxs as o}from"react/jsx-runtime";import{useMemo as i,useRef as r,useState as e,useCallback as l,useLayoutEffect as a,Fragment as c}from"react";import{useTheme as d,Container as s,Divider as u,Radio as p,Typography as f,TypographyVariant as m,TypographyColor as h}from"@cleartrip/ct-design-components";import{ActionType as g}from"@cleartrip/talos-widget-types";import{WidgetGenerator as v}from"@cleartrip/talos-widget-manager";import{useAppDispatch as b,ChatDispatchProvider as y,useDispatch as O}from"@cleartrip/talos-use-chat-controller";var k=function(t){return{root:{display:"flex",flexDirection:"column",alignItems:"start",gap:t.spacing[4]},selectionOptionRoot:{display:"flex",flexDirection:"column",backgroundColor:t.color.background.neutral,borderRadius:t.border.radius[16]},selectionOptionItem:{display:"flex",alignItems:"start",gap:t.spacing[2],padding:t.spacing[2]},selectionOptionContent:{display:"flex",flexDirection:"column",alignItems:"start",justifyContent:"flex-start",paddingRight:t.spacing[9]},loadMoreButton:{backgroundColor:"transparent"}}},C=function(t){return"radio-selection-option-".concat(t)},I=function(p){var f=p.data,m=d(),h=b().dispatch,O=i(function(){return k(m)},[m]),I=f||{},x=I.options,R=void 0===x?[]:x,D=I.action,A=void 0===D?null:D,E=(I.config||{}).initialLoadCount,G=r(null),L=e(null),w=L[0],M=L[1],B=e(E||5),_=B[0],j=B[1],P=i(function(){return R.slice(0,_)},[R,_]),T=R.length>_,H=l(function(){j(function(t){return G.current=t,Math.min(t+5,R.length)})},[R.length]),N=l(function(t){switch(t.type){case g.TOGGLE_RADIO:M(t.payload.id);break;case g.LOAD_MORE:H();break;default:h(t)}},[h,H]);a(function(){var t,n=G.current;if(null!=n){G.current=null;var o=R[n],i=null===(t=null==o?void 0:o.data)||void 0===t?void 0:t.id;if(i){var r=document.getElementById(C(i));null==r||r.scrollIntoView({behavior:"smooth",block:"start"})}}},[_,R]);var S=l(function(t){return t.forEach(N)},[N]);return n(y,t({dispatch:N,dispatchAll:S},{children:o(s,t({css:O.root},{children:[n(s,t({css:O.selectionOptionRoot},{children:P.map(function(i,r){var e=((null==i?void 0:i.data)||{}).id,l=w===e,a=r<P.length-1,d=t(t({},i),{data:t(t({},i.data),{checked:l})});return o(c,{children:[n(v,t({},d)),a&&n(u,{type:"solid",borderColor:m.color.border.disabledDark})]},null!=e?e:r)})})),T&&A&&n(v,t({},A))]}))}))},x=function(r){var e=r.data,l=r.events,a=d(),c=b().dispatchAll,u=e||{},v=u.id,y=u.label,I=u.subheading,x=void 0===I?"":I,R=u.checked,D=void 0!==R&&R,A=(l||{}).onClick,E=O(),G=i(function(){return k(a)},[a]),L=v?C(v):void 0;return v?o(s,t({id:L,css:G.selectionOptionItem},{children:[n(p,{id:v,onChange:function(){return function(t){E({type:g.TOGGLE_RADIO,payload:{id:t}}),c(A)}(v)},checked:D}),o(s,t({css:G.selectionOptionContent},{children:[n(f,t({variant:m.L3,color:h.PRIMARY,lineClamp:1},{children:y})),x&&n(f,t({variant:m.P3,color:h.SUBHEADING,lineClamp:1},{children:x}))]}))]})):null};export{I as RadioSelection,x as RadioSelectionItem};
2
+ //# sourceMappingURL=talos-radio-selection.browser.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"talos-radio-selection.browser.esm.js","sources":["../packages/components/radio-selection/src/style.ts","../packages/components/radio-selection/src/util.ts","../packages/components/radio-selection/src/RadioSelection.tsx","../packages/components/radio-selection/src/RadioSelectionItem.tsx"],"sourcesContent":[null,null,null,null],"names":["getRadioSelectionStyle","theme","root","display","flexDirection","alignItems","gap","spacing","selectionOptionRoot","backgroundColor","color","background","neutral","borderRadius","border","radius","selectionOptionItem","padding","selectionOptionContent","justifyContent","paddingRight","loadMoreButton","getOptionDomId","optionId","concat","RadioSelection","_a","data","useTheme","appDispatch","useAppDispatch","staticStyles","useMemo","_b","_c","options","_d","action","initialLoadCount","config","scrollToIndexRef","useRef","_e","useState","selectedRadioId","setSelectedRadioId","_f","visibleCount","setVisibleCount","visibleOptions","slice","showLoadMoreButton","length","handleLoadMore","useCallback","prev","current","Math","min","localDispatch","type","ActionType","TOGGLE_RADIO","payload","id","LOAD_MORE","useLayoutEffect","index","option","element","document","getElementById","scrollIntoView","behavior","block","localDispatchAll","actions","forEach","_jsx","ChatDispatchProvider","__assign","dispatch","dispatchAll","children","_jsxs","Container","css","map","isChecked","showDivider","enrichedRadioSelectionItemProps","checked","Fragment","WidgetGenerator","Divider","borderColor","disabledDark","RadioSelectionItem","events","label","subheading","onClick","useDispatch","optionDomId","undefined","Radio","onChange","handleOnChange","Typography","variant","TypographyVariant","L3","TypographyColor","PRIMARY","lineClamp","P3","SUBHEADING"],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('react');
6
+ var ctDesignComponents = require('@cleartrip/ct-design-components');
7
+ var talosWidgetTypes = require('@cleartrip/talos-widget-types');
8
+ var talosWidgetManager = require('@cleartrip/talos-widget-manager');
9
+ var talosUseChatController = require('@cleartrip/talos-use-chat-controller');
10
+
11
+ var getRadioSelectionStyle = function (theme) {
12
+ return {
13
+ root: {
14
+ display: "flex",
15
+ flexDirection: "column",
16
+ alignItems: "start",
17
+ gap: theme.spacing[4],
18
+ },
19
+ selectionOptionRoot: {
20
+ display: "flex",
21
+ flexDirection: "column",
22
+ backgroundColor: theme.color.background.neutral,
23
+ borderRadius: theme.border.radius[16],
24
+ },
25
+ selectionOptionItem: {
26
+ display: "flex",
27
+ alignItems: "start",
28
+ gap: theme.spacing[2],
29
+ padding: theme.spacing[2],
30
+ },
31
+ selectionOptionContent: {
32
+ display: "flex",
33
+ flexDirection: "column",
34
+ alignItems: "start",
35
+ justifyContent: "flex-start",
36
+ paddingRight: theme.spacing[9],
37
+ },
38
+ loadMoreButton: {
39
+ backgroundColor: "transparent",
40
+ },
41
+ };
42
+ };
43
+
44
+ var getOptionDomId = function (optionId) {
45
+ return "radio-selection-option-".concat(optionId);
46
+ };
47
+
48
+ var MAX_OPTIONS_TO_SHOW = 5;
49
+ var RadioSelection = function (_a) {
50
+ var data = _a.data;
51
+ var theme = ctDesignComponents.useTheme();
52
+ var appDispatch = talosUseChatController.useAppDispatch().dispatch;
53
+ var staticStyles = react.useMemo(function () { return getRadioSelectionStyle(theme); }, [theme]);
54
+ var _b = data || {}, _c = _b.options, options = _c === void 0 ? [] : _c, _d = _b.action, action = _d === void 0 ? null : _d, config = _b.config;
55
+ var initialLoadCount = (config || {}).initialLoadCount;
56
+ var scrollToIndexRef = react.useRef(null);
57
+ var _e = react.useState(null), selectedRadioId = _e[0], setSelectedRadioId = _e[1];
58
+ var _f = react.useState(initialLoadCount || MAX_OPTIONS_TO_SHOW), visibleCount = _f[0], setVisibleCount = _f[1];
59
+ var visibleOptions = react.useMemo(function () { return options.slice(0, visibleCount); }, [options, visibleCount]);
60
+ var showLoadMoreButton = options.length > visibleCount;
61
+ var handleLoadMore = react.useCallback(function () {
62
+ setVisibleCount(function (prev) {
63
+ scrollToIndexRef.current = prev;
64
+ return Math.min(prev + MAX_OPTIONS_TO_SHOW, options.length);
65
+ });
66
+ }, [options.length]);
67
+ var localDispatch = react.useCallback(function (action) {
68
+ switch (action.type) {
69
+ case talosWidgetTypes.ActionType.TOGGLE_RADIO:
70
+ setSelectedRadioId(action.payload.id);
71
+ break;
72
+ case talosWidgetTypes.ActionType.LOAD_MORE:
73
+ handleLoadMore();
74
+ break;
75
+ default:
76
+ appDispatch(action);
77
+ break;
78
+ }
79
+ }, [appDispatch, handleLoadMore]);
80
+ react.useLayoutEffect(function () {
81
+ var _a;
82
+ var index = scrollToIndexRef.current;
83
+ if (index == null)
84
+ return;
85
+ scrollToIndexRef.current = null;
86
+ var option = options[index];
87
+ var optionId = (_a = option === null || option === void 0 ? void 0 : option.data) === null || _a === void 0 ? void 0 : _a.id;
88
+ if (!optionId)
89
+ return;
90
+ var element = document.getElementById(getOptionDomId(optionId));
91
+ element === null || element === void 0 ? void 0 : element.scrollIntoView({ behavior: "smooth", block: "start" });
92
+ }, [visibleCount, options]);
93
+ var localDispatchAll = react.useCallback(function (actions) { return actions.forEach(localDispatch); }, [localDispatch]);
94
+ return (jsxRuntime.jsx(talosUseChatController.ChatDispatchProvider, tslib.__assign({ dispatch: localDispatch, dispatchAll: localDispatchAll }, { children: jsxRuntime.jsxs(ctDesignComponents.Container, tslib.__assign({ css: staticStyles.root }, { children: [jsxRuntime.jsx(ctDesignComponents.Container, tslib.__assign({ css: staticStyles.selectionOptionRoot }, { children: visibleOptions.map(function (option, index) {
95
+ var id = ((option === null || option === void 0 ? void 0 : option.data) || {}).id;
96
+ var isChecked = selectedRadioId === id;
97
+ var showDivider = index < visibleOptions.length - 1;
98
+ var enrichedRadioSelectionItemProps = tslib.__assign(tslib.__assign({}, option), { data: tslib.__assign(tslib.__assign({}, option.data), { checked: isChecked }) });
99
+ return (jsxRuntime.jsxs(react.Fragment, { children: [jsxRuntime.jsx(talosWidgetManager.WidgetGenerator, tslib.__assign({}, enrichedRadioSelectionItemProps)), showDivider && (jsxRuntime.jsx(ctDesignComponents.Divider, { type: "solid", borderColor: theme.color.border.disabledDark }))] }, id !== null && id !== void 0 ? id : index));
100
+ }) })), showLoadMoreButton && action && jsxRuntime.jsx(talosWidgetManager.WidgetGenerator, tslib.__assign({}, action))] })) })));
101
+ };
102
+
103
+ var RadioSelectionItem = function (_a) {
104
+ var data = _a.data, events = _a.events;
105
+ var theme = ctDesignComponents.useTheme();
106
+ var dispatchAll = talosUseChatController.useAppDispatch().dispatchAll;
107
+ var _b = data || {}, id = _b.id, label = _b.label, _c = _b.subheading, subheading = _c === void 0 ? '' : _c, _d = _b.checked, checked = _d === void 0 ? false : _d;
108
+ var onClick = (events || {}).onClick;
109
+ var dispatch = talosUseChatController.useDispatch();
110
+ var staticStyles = react.useMemo(function () { return getRadioSelectionStyle(theme); }, [theme]);
111
+ var optionDomId = id ? getOptionDomId(id) : undefined;
112
+ var handleOnChange = function (id) {
113
+ dispatch({
114
+ type: talosWidgetTypes.ActionType.TOGGLE_RADIO,
115
+ payload: { id: id },
116
+ });
117
+ dispatchAll(onClick);
118
+ };
119
+ if (!id)
120
+ return null;
121
+ return (jsxRuntime.jsxs(ctDesignComponents.Container, tslib.__assign({ id: optionDomId, css: staticStyles.selectionOptionItem }, { children: [jsxRuntime.jsx(ctDesignComponents.Radio, { id: id, onChange: function () { return handleOnChange(id); }, checked: checked }), jsxRuntime.jsxs(ctDesignComponents.Container, tslib.__assign({ css: staticStyles.selectionOptionContent }, { children: [jsxRuntime.jsx(ctDesignComponents.Typography, tslib.__assign({ variant: ctDesignComponents.TypographyVariant.L3, color: ctDesignComponents.TypographyColor.PRIMARY, lineClamp: 1 }, { children: label })), subheading && (jsxRuntime.jsx(ctDesignComponents.Typography, tslib.__assign({ variant: ctDesignComponents.TypographyVariant.P3, color: ctDesignComponents.TypographyColor.SUBHEADING, lineClamp: 1 }, { children: subheading })))] }))] })));
122
+ };
123
+
124
+ exports.RadioSelection = RadioSelection;
125
+ exports.RadioSelectionItem = RadioSelectionItem;
126
+ //# sourceMappingURL=talos-radio-selection.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"talos-radio-selection.cjs.js","sources":["../packages/components/radio-selection/src/style.ts","../packages/components/radio-selection/src/util.ts","../packages/components/radio-selection/src/RadioSelection.tsx","../packages/components/radio-selection/src/RadioSelectionItem.tsx"],"sourcesContent":[null,null,null,null],"names":["useTheme","useAppDispatch","useMemo","useRef","useState","useCallback","ActionType","useLayoutEffect","_jsx","ChatDispatchProvider","__assign","_jsxs","Container","Fragment","WidgetGenerator","Divider","useDispatch","Radio","Typography","TypographyVariant","TypographyColor"],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import { __assign } from 'tslib';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { useMemo, useRef, useState, useCallback, useLayoutEffect, Fragment } from 'react';
4
+ import { useTheme, Container, Divider, Radio, Typography, TypographyVariant, TypographyColor } from '@cleartrip/ct-design-components';
5
+ import { ActionType } from '@cleartrip/talos-widget-types';
6
+ import { WidgetGenerator } from '@cleartrip/talos-widget-manager';
7
+ import { useAppDispatch, ChatDispatchProvider, useDispatch } from '@cleartrip/talos-use-chat-controller';
8
+
9
+ var getRadioSelectionStyle = function (theme) {
10
+ return {
11
+ root: {
12
+ display: "flex",
13
+ flexDirection: "column",
14
+ alignItems: "start",
15
+ gap: theme.spacing[4],
16
+ },
17
+ selectionOptionRoot: {
18
+ display: "flex",
19
+ flexDirection: "column",
20
+ backgroundColor: theme.color.background.neutral,
21
+ borderRadius: theme.border.radius[16],
22
+ },
23
+ selectionOptionItem: {
24
+ display: "flex",
25
+ alignItems: "start",
26
+ gap: theme.spacing[2],
27
+ padding: theme.spacing[2],
28
+ },
29
+ selectionOptionContent: {
30
+ display: "flex",
31
+ flexDirection: "column",
32
+ alignItems: "start",
33
+ justifyContent: "flex-start",
34
+ paddingRight: theme.spacing[9],
35
+ },
36
+ loadMoreButton: {
37
+ backgroundColor: "transparent",
38
+ },
39
+ };
40
+ };
41
+
42
+ var getOptionDomId = function (optionId) {
43
+ return "radio-selection-option-".concat(optionId);
44
+ };
45
+
46
+ var MAX_OPTIONS_TO_SHOW = 5;
47
+ var RadioSelection = function (_a) {
48
+ var data = _a.data;
49
+ var theme = useTheme();
50
+ var appDispatch = useAppDispatch().dispatch;
51
+ var staticStyles = useMemo(function () { return getRadioSelectionStyle(theme); }, [theme]);
52
+ var _b = data || {}, _c = _b.options, options = _c === void 0 ? [] : _c, _d = _b.action, action = _d === void 0 ? null : _d, config = _b.config;
53
+ var initialLoadCount = (config || {}).initialLoadCount;
54
+ var scrollToIndexRef = useRef(null);
55
+ var _e = useState(null), selectedRadioId = _e[0], setSelectedRadioId = _e[1];
56
+ var _f = useState(initialLoadCount || MAX_OPTIONS_TO_SHOW), visibleCount = _f[0], setVisibleCount = _f[1];
57
+ var visibleOptions = useMemo(function () { return options.slice(0, visibleCount); }, [options, visibleCount]);
58
+ var showLoadMoreButton = options.length > visibleCount;
59
+ var handleLoadMore = useCallback(function () {
60
+ setVisibleCount(function (prev) {
61
+ scrollToIndexRef.current = prev;
62
+ return Math.min(prev + MAX_OPTIONS_TO_SHOW, options.length);
63
+ });
64
+ }, [options.length]);
65
+ var localDispatch = useCallback(function (action) {
66
+ switch (action.type) {
67
+ case ActionType.TOGGLE_RADIO:
68
+ setSelectedRadioId(action.payload.id);
69
+ break;
70
+ case ActionType.LOAD_MORE:
71
+ handleLoadMore();
72
+ break;
73
+ default:
74
+ appDispatch(action);
75
+ break;
76
+ }
77
+ }, [appDispatch, handleLoadMore]);
78
+ useLayoutEffect(function () {
79
+ var _a;
80
+ var index = scrollToIndexRef.current;
81
+ if (index == null)
82
+ return;
83
+ scrollToIndexRef.current = null;
84
+ var option = options[index];
85
+ var optionId = (_a = option === null || option === void 0 ? void 0 : option.data) === null || _a === void 0 ? void 0 : _a.id;
86
+ if (!optionId)
87
+ return;
88
+ var element = document.getElementById(getOptionDomId(optionId));
89
+ element === null || element === void 0 ? void 0 : element.scrollIntoView({ behavior: "smooth", block: "start" });
90
+ }, [visibleCount, options]);
91
+ var localDispatchAll = useCallback(function (actions) { return actions.forEach(localDispatch); }, [localDispatch]);
92
+ return (jsx(ChatDispatchProvider, __assign({ dispatch: localDispatch, dispatchAll: localDispatchAll }, { children: jsxs(Container, __assign({ css: staticStyles.root }, { children: [jsx(Container, __assign({ css: staticStyles.selectionOptionRoot }, { children: visibleOptions.map(function (option, index) {
93
+ var id = ((option === null || option === void 0 ? void 0 : option.data) || {}).id;
94
+ var isChecked = selectedRadioId === id;
95
+ var showDivider = index < visibleOptions.length - 1;
96
+ var enrichedRadioSelectionItemProps = __assign(__assign({}, option), { data: __assign(__assign({}, option.data), { checked: isChecked }) });
97
+ return (jsxs(Fragment, { children: [jsx(WidgetGenerator, __assign({}, enrichedRadioSelectionItemProps)), showDivider && (jsx(Divider, { type: "solid", borderColor: theme.color.border.disabledDark }))] }, id !== null && id !== void 0 ? id : index));
98
+ }) })), showLoadMoreButton && action && jsx(WidgetGenerator, __assign({}, action))] })) })));
99
+ };
100
+
101
+ var RadioSelectionItem = function (_a) {
102
+ var data = _a.data, events = _a.events;
103
+ var theme = useTheme();
104
+ var dispatchAll = useAppDispatch().dispatchAll;
105
+ var _b = data || {}, id = _b.id, label = _b.label, _c = _b.subheading, subheading = _c === void 0 ? '' : _c, _d = _b.checked, checked = _d === void 0 ? false : _d;
106
+ var onClick = (events || {}).onClick;
107
+ var dispatch = useDispatch();
108
+ var staticStyles = useMemo(function () { return getRadioSelectionStyle(theme); }, [theme]);
109
+ var optionDomId = id ? getOptionDomId(id) : undefined;
110
+ var handleOnChange = function (id) {
111
+ dispatch({
112
+ type: ActionType.TOGGLE_RADIO,
113
+ payload: { id: id },
114
+ });
115
+ dispatchAll(onClick);
116
+ };
117
+ if (!id)
118
+ return null;
119
+ return (jsxs(Container, __assign({ id: optionDomId, css: staticStyles.selectionOptionItem }, { children: [jsx(Radio, { id: id, onChange: function () { return handleOnChange(id); }, checked: checked }), jsxs(Container, __assign({ css: staticStyles.selectionOptionContent }, { children: [jsx(Typography, __assign({ variant: TypographyVariant.L3, color: TypographyColor.PRIMARY, lineClamp: 1 }, { children: label })), subheading && (jsx(Typography, __assign({ variant: TypographyVariant.P3, color: TypographyColor.SUBHEADING, lineClamp: 1 }, { children: subheading })))] }))] })));
120
+ };
121
+
122
+ export { RadioSelection, RadioSelectionItem };
123
+ //# sourceMappingURL=talos-radio-selection.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"talos-radio-selection.esm.js","sources":["../packages/components/radio-selection/src/style.ts","../packages/components/radio-selection/src/util.ts","../packages/components/radio-selection/src/RadioSelection.tsx","../packages/components/radio-selection/src/RadioSelectionItem.tsx"],"sourcesContent":[null,null,null,null],"names":["_jsx","_jsxs"],"mappings":"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"}