@feathery/react 2.45.0 → 2.46.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.
Files changed (159) hide show
  1. package/cjs/Form/grid/Element/index.d.ts.map +1 -1
  2. package/cjs/Form/grid/index.d.ts.map +1 -1
  3. package/cjs/Form/index.d.ts.map +1 -1
  4. package/cjs/Form/tests/testMocks.d.ts.map +1 -1
  5. package/cjs/elements/basic/TableElement/Actions.d.ts.map +1 -1
  6. package/cjs/elements/basic/TableElement/DeleteConfirm.d.ts.map +1 -1
  7. package/cjs/elements/basic/TableElement/EditableCell.d.ts.map +1 -1
  8. package/cjs/elements/basic/TableElement/EmptyState.d.ts.map +1 -1
  9. package/cjs/elements/basic/TableElement/Pagination.d.ts.map +1 -1
  10. package/cjs/elements/basic/TableElement/Search.d.ts.map +1 -1
  11. package/cjs/elements/basic/TableElement/Sort.d.ts.map +1 -1
  12. package/cjs/elements/basic/TableElement/classNames.d.ts +27 -0
  13. package/cjs/elements/basic/TableElement/classNames.d.ts.map +1 -0
  14. package/cjs/elements/basic/TableElement/index.d.ts.map +1 -1
  15. package/cjs/elements/basic/TabsElement.d.ts +3 -0
  16. package/cjs/elements/basic/TabsElement.d.ts.map +1 -0
  17. package/cjs/elements/index.d.ts +1 -0
  18. package/cjs/elements/index.d.ts.map +1 -1
  19. package/cjs/{fthry_AssistantChat.DAuwndVq.js → fthry_AssistantChat.Ccq_0Swx.js} +4 -4
  20. package/cjs/{fthry_FormControl.BBY2Jye4.js → fthry_FormControl.D29JIM7K.js} +1 -1
  21. package/cjs/{fthry_InlineTooltip.HDk3cIr4.js → fthry_InlineTooltip.CKULIOlC.js} +2 -2
  22. package/cjs/{fthry_Overlay.AOeUL6CY.js → fthry_Overlay.yDSHNtwz.js} +1 -1
  23. package/cjs/{fthry_PaymentMethodField.CoyAoL1E.js → fthry_PaymentMethodField.CDMMYay9.js} +4 -4
  24. package/cjs/{fthry_Placeholder.B7ueqeue.js → fthry_Placeholder.BSe-1mcC.js} +1 -1
  25. package/cjs/{fthry_ShowEyeIcon.BQYvZcHZ.js → fthry_ShowEyeIcon.Cb8U1JK-.js} +1 -1
  26. package/cjs/fthry_TabsElement.C5LG20Au.js +63 -0
  27. package/cjs/{fthry_auto-track.D-HB881s.js → fthry_auto-track.BNlrElM-.js} +2 -2
  28. package/cjs/{fthry_highlighted-body-TPN3WLV5.B-UeFUOm.js → fthry_highlighted-body-TPN3WLV5.7LMZCqXX.js} +3 -3
  29. package/cjs/{fthry_index.CPY3r_AI.js → fthry_index.BB4TbGRD.js} +1 -1
  30. package/cjs/{fthry_index.DWqC5u1r.js → fthry_index.BCr_I9CF.js} +6 -6
  31. package/cjs/{fthry_index.r4vMrBms.js → fthry_index.BThAJ1cv.js} +3 -3
  32. package/cjs/{fthry_index.CK7AyNj-.js → fthry_index.BYkt4DUx.js} +5 -5
  33. package/cjs/{fthry_index.h6YgYU9U.js → fthry_index.BebTDhWD.js} +3 -3
  34. package/cjs/{fthry_index.B0i-spOd.js → fthry_index.BnetnnAN.js} +1 -1
  35. package/cjs/{fthry_index.C3_3Pwba.js → fthry_index.BpqwjZna.js} +4 -4
  36. package/cjs/{fthry_index.dpt4VGCO.js → fthry_index.BwT0PDuh.js} +2 -2
  37. package/cjs/{fthry_index.COUEU8oT.js → fthry_index.C-X9zaRK.js} +1 -1
  38. package/cjs/{fthry_index.dJ1e0A0z.js → fthry_index.CQ97tAoA.js} +2 -2
  39. package/cjs/{fthry_index.Bz8jOUz8.js → fthry_index.CS8XI36d.js} +5 -5
  40. package/cjs/{fthry_index.DfW7mZvC.js → fthry_index.CTQbB79c.js} +6 -6
  41. package/cjs/{fthry_index.B1B09obP.js → fthry_index.CVv_e5V3.js} +2 -2
  42. package/cjs/{fthry_index.B4GgIpQf.js → fthry_index.CcvbBuo_.js} +72 -31
  43. package/cjs/{fthry_index.CZvkZw_L.js → fthry_index.Ch4eVK8q.js} +4 -4
  44. package/cjs/{fthry_index.Cyo-XM28.js → fthry_index.Ck590gDe.js} +1 -1
  45. package/cjs/{fthry_index.DMtFsERM.js → fthry_index.CmtLVGae.js} +1 -1
  46. package/cjs/{fthry_index.Y5sdcMuJ.js → fthry_index.CpnN7Soi.js} +93 -37
  47. package/cjs/{fthry_index.CCnbb7qW.js → fthry_index.D03J0Azq.js} +2 -2
  48. package/cjs/{fthry_index.RhMho_qJ.js → fthry_index.DB3jl9ja.js} +1 -1
  49. package/cjs/{fthry_index.BkUaB2ep.js → fthry_index.DEfMLQfc.js} +1 -1
  50. package/cjs/{fthry_index.B490AqCR.js → fthry_index.DJLmA3W3.js} +10 -10
  51. package/cjs/{fthry_index.CekatTq6.js → fthry_index.DNIgqT7X.js} +2 -2
  52. package/cjs/{fthry_index.CX2hoNP2.js → fthry_index.DU2jQZqI.js} +8 -8
  53. package/cjs/{fthry_index.CdveGKXm.js → fthry_index.Dmz5RtWX.js} +6 -6
  54. package/cjs/{fthry_index.B1Eop7YX.js → fthry_index.Dz2ipsc6.js} +1 -1
  55. package/cjs/{fthry_index.egNqBHHX.js → fthry_index.OGm0b7hG.js} +5 -5
  56. package/cjs/{fthry_index.BYK-L6cT.js → fthry_index.SWI18Z9b.js} +1 -1
  57. package/cjs/{fthry_index.CCAjA-GM.js → fthry_index.tHMhRAP0.js} +5 -5
  58. package/cjs/{fthry_index.BlaJBDFt.js → fthry_index.u2VDZfKG.js} +2 -2
  59. package/cjs/{fthry_index.umd.DqxbfufN.js → fthry_index.umd.CsG5-4aw.js} +1 -1
  60. package/cjs/{fthry_index.mST6-9JW.js → fthry_index.wsmXvYJm.js} +6 -6
  61. package/cjs/{fthry_input.DVS9sAJL.js → fthry_input.Bb-4lDhp.js} +1 -1
  62. package/cjs/{fthry_mermaid-O7DHMXV3.DVvaFs3q.js → fthry_mermaid-O7DHMXV3.Dl9jL-iJ.js} +3 -3
  63. package/cjs/{fthry_script.tMNEKNS0.js → fthry_script.ovelsfTg.js} +1 -1
  64. package/cjs/{fthry_styles.CLnNcAaC.js → fthry_styles.LTDDNQMI.js} +1 -1
  65. package/cjs/{fthry_useElementSize.WUoc10bB.js → fthry_useElementSize.DpBWkC1q.js} +1 -1
  66. package/cjs/{fthry_useSalesforceSync.HL0c5o2I.js → fthry_useSalesforceSync.niNHr9OK.js} +1 -1
  67. package/cjs/{fthry_webfontloader.BccGkoV1.js → fthry_webfontloader.BezpEBZR.js} +1 -1
  68. package/cjs/index.d.ts +1 -0
  69. package/cjs/index.d.ts.map +1 -1
  70. package/cjs/index.js +1 -1
  71. package/cjs/utils/emotionCache.d.ts +3 -0
  72. package/cjs/utils/emotionCache.d.ts.map +1 -0
  73. package/cjs/utils/formHelperFunctions.d.ts.map +1 -1
  74. package/cjs/utils/hideAndRepeats.d.ts.map +1 -1
  75. package/dist/Form/grid/Element/index.d.ts.map +1 -1
  76. package/dist/Form/grid/index.d.ts.map +1 -1
  77. package/dist/Form/index.d.ts.map +1 -1
  78. package/dist/Form/tests/testMocks.d.ts.map +1 -1
  79. package/dist/elements/basic/TableElement/Actions.d.ts.map +1 -1
  80. package/dist/elements/basic/TableElement/DeleteConfirm.d.ts.map +1 -1
  81. package/dist/elements/basic/TableElement/EditableCell.d.ts.map +1 -1
  82. package/dist/elements/basic/TableElement/EmptyState.d.ts.map +1 -1
  83. package/dist/elements/basic/TableElement/Pagination.d.ts.map +1 -1
  84. package/dist/elements/basic/TableElement/Search.d.ts.map +1 -1
  85. package/dist/elements/basic/TableElement/Sort.d.ts.map +1 -1
  86. package/dist/elements/basic/TableElement/classNames.d.ts +27 -0
  87. package/dist/elements/basic/TableElement/classNames.d.ts.map +1 -0
  88. package/dist/elements/basic/TableElement/index.d.ts.map +1 -1
  89. package/dist/elements/basic/TabsElement.d.ts +3 -0
  90. package/dist/elements/basic/TabsElement.d.ts.map +1 -0
  91. package/dist/elements/basic/tests/TableElement.spec.d.ts +2 -0
  92. package/dist/elements/basic/tests/TableElement.spec.d.ts.map +1 -0
  93. package/dist/elements/index.d.ts +1 -0
  94. package/dist/elements/index.d.ts.map +1 -1
  95. package/dist/{fthry_AssistantChat.B0rVOGHi.js → fthry_AssistantChat.DiHL7dO5.js} +4 -4
  96. package/dist/{fthry_FormControl.BqvIXsOg.js → fthry_FormControl.C1Qs0xRm.js} +1 -1
  97. package/dist/{fthry_InlineTooltip.DpFz4-7q.js → fthry_InlineTooltip.ByMa9uSw.js} +2 -2
  98. package/dist/{fthry_Overlay.D9YOHNgQ.js → fthry_Overlay.CU1SH-um.js} +1 -1
  99. package/dist/{fthry_PaymentMethodField.BgiWNDi2.js → fthry_PaymentMethodField.B7vXZLaY.js} +4 -4
  100. package/dist/{fthry_Placeholder.C5ezRBA4.js → fthry_Placeholder.BxzLZsXS.js} +1 -1
  101. package/dist/{fthry_ShowEyeIcon.CRfFKHIW.js → fthry_ShowEyeIcon.DtwKo9ho.js} +1 -1
  102. package/dist/fthry_TabsElement.CG5GX23H.js +61 -0
  103. package/dist/{fthry_auto-track.Bo4ek9UM.js → fthry_auto-track.Cry1nfwC.js} +2 -2
  104. package/dist/{fthry_highlighted-body-TPN3WLV5.aBNiR5uT.js → fthry_highlighted-body-TPN3WLV5.BVe7M9Lw.js} +3 -3
  105. package/dist/{fthry_index.2-SVehmd.js → fthry_index.00nR3q_c.js} +5 -5
  106. package/dist/{fthry_index.lm4XUzM9.js → fthry_index.3v-BXSWr.js} +71 -30
  107. package/dist/{fthry_index.BUJPgzS-.js → fthry_index.4PYKmC6L.js} +8 -8
  108. package/dist/{fthry_index.CEMzrwVK.js → fthry_index.9abLHNOS.js} +2 -2
  109. package/dist/{fthry_index.DnucOK6E.js → fthry_index.B7Ne8hG0.js} +10 -10
  110. package/dist/{fthry_index.B477V46H.js → fthry_index.BG_Nm6ZL.js} +5 -5
  111. package/dist/{fthry_index.DZ8TqVOz.js → fthry_index.BUFSNLXS.js} +2 -2
  112. package/dist/{fthry_index.M1FS-2Qf.js → fthry_index.C1fbsOU2.js} +1 -1
  113. package/dist/{fthry_index.BDb1Gbdx.js → fthry_index.C6nDdLsT.js} +5 -5
  114. package/dist/{fthry_index.wB8tEXQD.js → fthry_index.CL3hHTjQ.js} +93 -37
  115. package/dist/{fthry_index.BgDe4mcu.js → fthry_index.CQUDohBK.js} +3 -3
  116. package/dist/{fthry_index.BAwP5nZO.js → fthry_index.CTtFSL1v.js} +2 -2
  117. package/dist/{fthry_index.d6j0MJN7.js → fthry_index.CcwVvGij.js} +2 -2
  118. package/dist/{fthry_index.RlS2LjeY.js → fthry_index.CmH30ouB.js} +5 -5
  119. package/dist/{fthry_index.DzSlJMlO.js → fthry_index.CnkNUy8D.js} +1 -1
  120. package/dist/{fthry_index.Cgd-qpYl.js → fthry_index.CoOrQVlb.js} +4 -4
  121. package/dist/{fthry_index.Bl-5T-uf.js → fthry_index.CtehhU5w.js} +6 -6
  122. package/dist/{fthry_index.CMC6lbTE.js → fthry_index.CzeP0gGW.js} +5 -5
  123. package/dist/{fthry_index.BzD8ur9K.js → fthry_index.D3Ctwofc.js} +6 -6
  124. package/dist/{fthry_index.BZayCCtc.js → fthry_index.DFe5Gugu.js} +1 -1
  125. package/dist/{fthry_index.BmyShbTY.js → fthry_index.DGOthlYi.js} +1 -1
  126. package/dist/{fthry_index.DT62a6WV.js → fthry_index.DQTQ84eq.js} +2 -2
  127. package/dist/{fthry_index.V6ue96dZ.js → fthry_index.DYkQYGGo.js} +3 -3
  128. package/dist/{fthry_index.C8884q_s.js → fthry_index.Dl7Jr60c.js} +1 -1
  129. package/dist/{fthry_index.pBEjY7tP.js → fthry_index.DltlrCTz.js} +1 -1
  130. package/dist/{fthry_index.Bf6OzsUG.js → fthry_index.DrHTd_AO.js} +1 -1
  131. package/dist/{fthry_index.CvV7-AsF.js → fthry_index.KNl5IQbj.js} +6 -6
  132. package/dist/{fthry_index.BJAfme_C.js → fthry_index.OLtKG_AP.js} +1 -1
  133. package/dist/{fthry_index.GDe8zYB6.js → fthry_index.QUItJhfa.js} +1 -1
  134. package/dist/{fthry_index.o9ctQnbs.js → fthry_index.dRHZjTU8.js} +4 -4
  135. package/dist/{fthry_index.umd.C338HmM7.js → fthry_index.umd.Bsqkj-Hf.js} +1 -1
  136. package/dist/{fthry_index.5I1jwuyV.js → fthry_index.yIxwjs47.js} +2 -2
  137. package/dist/{fthry_input.EFXGfxnr.js → fthry_input.Cd3U4YXd.js} +1 -1
  138. package/dist/{fthry_mermaid-O7DHMXV3.sOtzPg8E.js → fthry_mermaid-O7DHMXV3.Dp2C3vR-.js} +3 -3
  139. package/dist/{fthry_script.CnpXNBMs.js → fthry_script.Dcs3Apko.js} +1 -1
  140. package/dist/{fthry_styles.DzxChSu4.js → fthry_styles.BCVZNGCY.js} +1 -1
  141. package/dist/{fthry_useElementSize.BftEHcYN.js → fthry_useElementSize.Bvuimmvh.js} +1 -1
  142. package/dist/{fthry_useSalesforceSync.B04DdqRz.js → fthry_useSalesforceSync.bhdBo_Oi.js} +1 -1
  143. package/dist/{fthry_webfontloader.sk5QAqQz.js → fthry_webfontloader.ngBl-rIr.js} +1 -1
  144. package/dist/index.d.ts +1 -0
  145. package/dist/index.d.ts.map +1 -1
  146. package/dist/index.js +1 -1
  147. package/dist/utils/emotionCache.d.ts +3 -0
  148. package/dist/utils/emotionCache.d.ts.map +1 -0
  149. package/dist/utils/formHelperFunctions.d.ts.map +1 -1
  150. package/dist/utils/hideAndRepeats.d.ts.map +1 -1
  151. package/dist/utils/tests/emotionCache.spec.d.ts +2 -0
  152. package/dist/utils/tests/emotionCache.spec.d.ts.map +1 -0
  153. package/package.json +2 -1
  154. package/umd/529.eeb27f741d6f4da1315b.js +1 -0
  155. package/umd/TableElement.8c0bec8400517f135fe6.js +1 -0
  156. package/umd/TabsElement.2630875c197708900706.js +1 -0
  157. package/umd/index.js +1 -1
  158. package/umd/529.e7a0a831bf80398fda0f.js +0 -1
  159. package/umd/TableElement.e3da137819e9b84b3b82.js +0 -1
@@ -0,0 +1,61 @@
1
+ import { h as hoverStylesGuard, j as jsxs, _ as __assign, a as jsx } from './fthry_index.CL3hHTjQ.js';
2
+ import { useMemo } from 'react';
3
+ import 'react/jsx-runtime';
4
+ import 'react-dom/client';
5
+ import 'jszip';
6
+ import 'react-dom';
7
+
8
+ function applyTabsStyles(element, responsiveStyles) {
9
+ responsiveStyles.addTargets('tabsContainer', 'tab', 'tabActive', 'tabHover');
10
+ responsiveStyles.apply('tabsContainer', 'gap', function (gap) { return ({
11
+ gap: gap ? "".concat(gap, "px") : undefined
12
+ }); });
13
+ responsiveStyles.applyBackgroundColorGradient('tab');
14
+ responsiveStyles.applyCorners('tab');
15
+ responsiveStyles.applyBoxShadow('tab');
16
+ responsiveStyles.applyTextAlign('tab');
17
+ responsiveStyles.applyBorders({ target: 'tab' });
18
+ responsiveStyles.applyFontStyles('tab', false, true);
19
+ responsiveStyles.applyColor('tabHover', 'hover_background_color', 'background');
20
+ responsiveStyles.applyColor('tabHover', 'hover_font_color', 'color');
21
+ responsiveStyles.applyBorders({ target: 'tabHover', prefix: 'hover_' });
22
+ responsiveStyles.applyColor('tabActive', 'selected_background_color', 'background');
23
+ responsiveStyles.applyColor('tabActive', 'selected_font_color', 'color');
24
+ responsiveStyles.applyBorders({ target: 'tabActive', prefix: 'selected_' });
25
+ return responsiveStyles;
26
+ }
27
+ function TabsElement(_a) {
28
+ var _b;
29
+ var element = _a.element, responsiveStyles = _a.responsiveStyles, editMode = _a.editMode, onTabClick = _a.onTabClick, stepKey = _a.stepKey, _c = _a.elementProps, elementProps = _c === void 0 ? {} : _c;
30
+ var styles = useMemo(function () { return applyTabsStyles(element, responsiveStyles); }, [responsiveStyles]);
31
+ var entries = (_b = element.properties.entries) !== null && _b !== void 0 ? _b : [];
32
+ var direction = element.properties.direction === 'vertical' ? 'column' : 'row';
33
+ var containerStyles = styles.getTarget('tabsContainer');
34
+ var baseTabStyles = styles.getTarget('tab');
35
+ var activeStyles = styles.getTarget('tabActive');
36
+ var hoverStyles = hoverStylesGuard(styles.getTarget('tabHover'));
37
+ return (jsxs("div", __assign({ id: element.id, style: __assign({ display: 'flex', flexDirection: direction, width: '100%', height: '100%', boxSizing: 'border-box' }, containerStyles) }, elementProps, { children: [editMode && entries.length === 0 && (jsx("div", __assign({ style: {
38
+ flex: 1,
39
+ display: 'flex',
40
+ alignItems: 'center',
41
+ justifyContent: 'center',
42
+ border: '1px dashed #c0c4cc',
43
+ color: '#888',
44
+ fontSize: 13,
45
+ padding: '20px 16px',
46
+ minHeight: 50,
47
+ minWidth: 200,
48
+ borderRadius: 4,
49
+ textAlign: 'center',
50
+ boxSizing: 'border-box'
51
+ } }, { children: "Add tabs in the properties panel" }))), entries.map(function (entry) {
52
+ var isActive = entry.step_key === stepKey;
53
+ return (jsx("button", __assign({ type: 'button', className: isActive ? 'active' : undefined, css: __assign(__assign({ flex: 1, border: 'none', cursor: editMode ? 'default' : 'pointer', transition: '0.2s ease all' }, baseTabStyles), { '&:hover': hoverStyles, '&.active': activeStyles }), onClick: function () {
54
+ if (editMode || !entry.step_key)
55
+ return;
56
+ onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(entry);
57
+ } }, { children: entry.label }), entry.id));
58
+ })] })));
59
+ }
60
+
61
+ export { TabsElement as default };
@@ -1,5 +1,5 @@
1
- import { p as pTimeout } from './fthry_index.DnucOK6E.js';
2
- import './fthry_index.wB8tEXQD.js';
1
+ import { p as pTimeout } from './fthry_index.B7Ne8hG0.js';
2
+ import './fthry_index.CL3hHTjQ.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
5
5
  import 'react-dom/client';
@@ -1,12 +1,12 @@
1
- import { R as R$1, M as Mi, B as Bt } from './fthry_AssistantChat.B0rVOGHi.js';
1
+ import { R as R$1, M as Mi, B as Bt } from './fthry_AssistantChat.DiHL7dO5.js';
2
2
  import { useContext, useState, useEffect } from 'react';
3
3
  import { jsx } from 'react/jsx-runtime';
4
- import './fthry_index.wB8tEXQD.js';
4
+ import './fthry_index.CL3hHTjQ.js';
5
5
  import 'react-dom/client';
6
6
  import 'jszip';
7
7
  import 'react-dom';
8
8
  import './fthry_clsx.ChV9xqsO.js';
9
- import './fthry_index.pBEjY7tP.js';
9
+ import './fthry_index.DltlrCTz.js';
10
10
 
11
11
  var R=({code:s,language:t,raw:e,className:h,startLine:d,...m})=>{let{shikiTheme:l}=useContext(R$1),o=Mi(),[p,i]=useState(e);return useEffect(()=>{if(!o){i(e);return}let r=o.highlight({code:s,language:t,themes:l},c=>{i(c);});r&&i(r);},[s,t,l,o,e]),jsx(Bt,{className:h,language:t,result:p,startLine:d,...m})};
12
12
 
@@ -1,9 +1,9 @@
1
- import { c as __read, u as useBorder, j as jsxs, _ as __assign, h as hoverStylesGuard, a as jsx, b as iosScrollOnFocus, r as resetStyles, D as DROPDOWN_Z_INDEX, l as __awaiter, m as __generator, o as FeatheryClient, H as debounce } from './fthry_index.wB8tEXQD.js';
1
+ import { c as __read, u as useBorder, j as jsxs, _ as __assign, h as hoverStylesGuard, a as jsx, b as iosScrollOnFocus, r as resetStyles, D as DROPDOWN_Z_INDEX, l as __awaiter, m as __generator, o as FeatheryClient, H as debounce } from './fthry_index.CL3hHTjQ.js';
2
2
  import { useRef, useEffect, memo, useState, useCallback } from 'react';
3
- import { P as Placeholder } from './fthry_Placeholder.C5ezRBA4.js';
4
- import { I as InlineTooltip } from './fthry_InlineTooltip.DpFz4-7q.js';
5
- import { O as Overlay } from './fthry_Overlay.D9YOHNgQ.js';
6
- import { u as useElementSize } from './fthry_useElementSize.BftEHcYN.js';
3
+ import { P as Placeholder } from './fthry_Placeholder.BxzLZsXS.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.ByMa9uSw.js';
5
+ import { O as Overlay } from './fthry_Overlay.CU1SH-um.js';
6
+ import { u as useElementSize } from './fthry_useElementSize.Bvuimmvh.js';
7
7
  import 'react/jsx-runtime';
8
8
  import 'react-dom/client';
9
9
  import 'jszip';
@@ -1,5 +1,5 @@
1
- import { k as __rest, a as jsx, _ as __assign, j as jsxs, q as Fragment, c as __read, t as featheryDoc, f as fieldValues, z as stringifyWithNull, U as __values, L as __spreadArray } from './fthry_index.wB8tEXQD.js';
2
- import { useState, useRef, useEffect, useCallback, useMemo } from 'react';
1
+ import { k as __rest, a as jsx, _ as __assign, j as jsxs, c as __read, t as featheryDoc, q as Fragment$1, f as fieldValues, z as stringifyWithNull, U as __values, L as __spreadArray } from './fthry_index.CL3hHTjQ.js';
2
+ import { Fragment, useState, useRef, useEffect, useCallback, useMemo } from 'react';
3
3
  import { createPortal } from 'react-dom';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react-dom/client';
@@ -406,6 +406,39 @@ var confirmDeleteButtonStyle = __assign(__assign({}, buttonStyle), { borderRadiu
406
406
  color: colors.white
407
407
  } });
408
408
 
409
+ // Public, user-targetable class names for the parts of the table element.
410
+ //
411
+ // These are a documented, stable API: form builders write custom CSS against
412
+ // them (e.g. `.feathery-table-cell { ... }`).
413
+ //
414
+ // Treat renames/removals as breaking changes to customer CSS.
415
+ var TABLE_CLASS = {
416
+ container: 'feathery-table-container',
417
+ toolbar: 'feathery-table-toolbar',
418
+ search: 'feathery-table-search',
419
+ searchInput: 'feathery-table-search-input',
420
+ addRowButton: 'feathery-table-add-row-button',
421
+ table: 'feathery-table',
422
+ header: 'feathery-table-header',
423
+ headerCell: 'feathery-table-header-cell',
424
+ sortIcon: 'feathery-table-sort-icon',
425
+ body: 'feathery-table-body',
426
+ row: 'feathery-table-row',
427
+ cell: 'feathery-table-cell',
428
+ editableCell: 'feathery-table-editable-cell',
429
+ cellInput: 'feathery-table-cell-input',
430
+ actionButton: 'feathery-table-action-button',
431
+ actionMenuButton: 'feathery-table-action-menu-button',
432
+ actionMenu: 'feathery-table-action-menu',
433
+ actionMenuItem: 'feathery-table-action-menu-item',
434
+ deleteButton: 'feathery-table-delete-button',
435
+ deleteConfirm: 'feathery-table-delete-confirm',
436
+ pagination: 'feathery-table-pagination',
437
+ pageButton: 'feathery-table-page-button',
438
+ pageSelect: 'feathery-table-page-select',
439
+ empty: 'feathery-table-empty'
440
+ };
441
+
409
442
  function SearchIcon() {
410
443
  return (jsx("svg", __assign({ css: searchIconStyle, fill: 'none', viewBox: '0 0 24 24', stroke: 'currentColor', strokeWidth: 2 }, { children: jsx("path", { strokeLinecap: 'round', d: 'M21 21l-3.5-3.5M17 10a7 7 0 1 1-14 0 7 7 0 0 1 14 0Z' }) })));
411
444
  }
@@ -416,12 +449,12 @@ function Search(_a) {
416
449
  e.preventDefault();
417
450
  }
418
451
  };
419
- return (jsxs("div", __assign({ css: searchWrapperStyle }, { children: [jsx("div", __assign({ css: searchIconWrapperStyle }, { children: jsx(SearchIcon, {}) })), jsx("input", { type: 'text', css: searchInputStyle, placeholder: 'Search', value: searchQuery, onChange: function (e) { return onSearchChange(e.target.value); }, onKeyDown: handleKeyDown })] })));
452
+ return (jsxs("div", __assign({ className: TABLE_CLASS.search, css: searchWrapperStyle }, { children: [jsx("div", __assign({ css: searchIconWrapperStyle }, { children: jsx(SearchIcon, {}) })), jsx("input", { type: 'text', className: TABLE_CLASS.searchInput, css: searchInputStyle, placeholder: 'Search', value: searchQuery, onChange: function (e) { return onSearchChange(e.target.value); }, onKeyDown: handleKeyDown })] })));
420
453
  }
421
454
 
422
455
  function SortIcon(_a) {
423
456
  var isSorted = _a.isSorted, sortDirection = _a.sortDirection;
424
- return (jsxs("svg", __assign({ xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 24 24', fill: 'none', "aria-hidden": 'true' }, { children: [jsx("path", { css: sortArrowStyle, stroke: 'currentColor', "data-active": (isSorted && sortDirection === 'asc') || undefined, strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: 2, d: 'm8 9 4-4 4 4' }), jsx("path", { css: sortArrowStyle, stroke: 'currentColor', "data-active": (isSorted && sortDirection === 'desc') || undefined, strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: 2, d: 'm8 15 4 4 4-4' })] })));
457
+ return (jsxs("svg", __assign({ xmlns: 'http://www.w3.org/2000/svg', className: TABLE_CLASS.sortIcon, viewBox: '0 0 24 24', fill: 'none', "aria-hidden": 'true' }, { children: [jsx("path", { css: sortArrowStyle, stroke: 'currentColor', "data-active": (isSorted && sortDirection === 'asc') || undefined, strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: 2, d: 'm8 9 4-4 4 4' }), jsx("path", { css: sortArrowStyle, stroke: 'currentColor', "data-active": (isSorted && sortDirection === 'desc') || undefined, strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: 2, d: 'm8 15 4 4 4-4' })] })));
425
458
  }
426
459
  function SortHeader(_a) {
427
460
  var columns = _a.columns, enableSort = _a.enableSort, sortColumn = _a.sortColumn, sortDirection = _a.sortDirection, onSort = _a.onSort, styles = _a.styles;
@@ -429,7 +462,7 @@ function SortHeader(_a) {
429
462
  var isSortable = enableSort;
430
463
  var isSorted = sortColumn === column.name;
431
464
  var isFirstColumn = index === 0;
432
- return (jsx("th", __assign({ scope: 'col', onClick: function () { return isSortable && onSort(column.name); }, css: __assign(__assign(__assign(__assign({}, thStyle), (isFirstColumn ? {} : { paddingLeft: 0 })), styles.getTarget('th')), (isSortable ? { cursor: 'pointer' } : {})) }, { children: jsxs("div", __assign({ css: sortHeaderContentStyle }, { children: [jsx("span", { children: column.name }), isSortable && (jsx("span", __assign({ css: sortIconContainerStyle }, { children: jsx(SortIcon, { isSorted: isSorted, sortDirection: sortDirection }) })))] })) }), index));
465
+ return (jsx("th", __assign({ scope: 'col', className: TABLE_CLASS.headerCell, "data-feathery-field": column.field_key, onClick: function () { return isSortable && onSort(column.name); }, css: __assign(__assign(__assign(__assign({}, thStyle), (isFirstColumn ? {} : { paddingLeft: 0 })), styles.getTarget('th')), (isSortable ? { cursor: 'pointer' } : {})) }, { children: jsxs("div", __assign({ css: sortHeaderContentStyle }, { children: [jsx("span", { children: column.name }), isSortable && (jsx("span", __assign({ css: sortIconContainerStyle }, { children: jsx(SortIcon, { isSorted: isSorted, sortDirection: sortDirection }) })))] })) }), index));
433
466
  }) }));
434
467
  }
435
468
 
@@ -440,17 +473,17 @@ function PageInfo(_a) {
440
473
  }
441
474
  function PreviousButton(_a) {
442
475
  var disabled = _a.disabled, onClick = _a.onClick;
443
- return (jsx("button", __assign({ type: 'button', onClick: onClick, disabled: disabled, css: __assign(__assign({}, pageButtonPrevStyle), (disabled ? pageButtonDisabledStyle : {})) }, { children: "Previous" })));
476
+ return (jsx("button", __assign({ type: 'button', onClick: onClick, disabled: disabled, className: TABLE_CLASS.pageButton, css: __assign(__assign({}, pageButtonPrevStyle), (disabled ? pageButtonDisabledStyle : {})) }, { children: "Previous" })));
444
477
  }
445
478
  function NextButton(_a) {
446
479
  var disabled = _a.disabled, onClick = _a.onClick;
447
- return (jsx("button", __assign({ type: 'button', onClick: onClick, disabled: disabled, css: __assign(__assign({}, pageButtonNextStyle), (disabled ? pageButtonDisabledStyle : {})) }, { children: "Next" })));
480
+ return (jsx("button", __assign({ type: 'button', onClick: onClick, disabled: disabled, className: TABLE_CLASS.pageButton, css: __assign(__assign({}, pageButtonNextStyle), (disabled ? pageButtonDisabledStyle : {})) }, { children: "Next" })));
448
481
  }
449
482
  function OverflowSelect(_a) {
450
483
  var pages = _a.pages, onPageChange = _a.onPageChange;
451
484
  return (jsxs("select", __assign({ value: '', onChange: function (e) {
452
485
  onPageChange(Number(e.target.value));
453
- }, "aria-label": 'Go to page', css: overflowSelectStyle }, { children: [jsx("option", __assign({ value: '', disabled: true, hidden: true }, { children: "..." })), pages.map(function (page) { return (jsx("option", __assign({ value: page }, { children: page + 1 }), page)); })] })));
486
+ }, "aria-label": 'Go to page', className: TABLE_CLASS.pageSelect, css: overflowSelectStyle }, { children: [jsx("option", __assign({ value: '', disabled: true, hidden: true }, { children: "..." })), pages.map(function (page) { return (jsx("option", __assign({ value: page }, { children: page + 1 }), page)); })] })));
454
487
  }
455
488
  function PageNumbers(_a) {
456
489
  var currentPage = _a.currentPage, totalPages = _a.totalPages, onPageChange = _a.onPageChange;
@@ -477,12 +510,12 @@ function PageNumbers(_a) {
477
510
  return (jsx(Fragment, { children: items.map(function (item, idx) {
478
511
  if (item.type === 'overflow') {
479
512
  if (item.pages.length === 1) {
480
- return (jsx("li", { children: jsx("button", __assign({ type: 'button', onClick: function () { return onPageChange(item.pages[0]); }, css: pageButtonStyle }, { children: item.pages[0] + 1 })) }, "overflow-".concat(idx)));
513
+ return (jsx("li", { children: jsx("button", __assign({ type: 'button', onClick: function () { return onPageChange(item.pages[0]); }, className: TABLE_CLASS.pageButton, css: pageButtonStyle }, { children: item.pages[0] + 1 })) }, "overflow-".concat(idx)));
481
514
  }
482
515
  return (jsx("li", { children: jsx(OverflowSelect, { pages: item.pages, onPageChange: onPageChange }) }, "overflow-".concat(idx)));
483
516
  }
484
517
  var isActive = item.page === currentPage;
485
- return (jsx("li", { children: jsx("button", __assign({ type: 'button', onClick: function () { return onPageChange(item.page); }, "aria-current": isActive ? 'page' : undefined, css: isActive
518
+ return (jsx("li", { children: jsx("button", __assign({ type: 'button', onClick: function () { return onPageChange(item.page); }, "aria-current": isActive ? 'page' : undefined, className: TABLE_CLASS.pageButton, css: isActive
486
519
  ? pageButtonActiveStyle
487
520
  : pageButtonStyle }, { children: item.page + 1 })) }, item.page));
488
521
  }) }));
@@ -491,7 +524,7 @@ function Pagination(_a) {
491
524
  var currentPage = _a.currentPage, totalPages = _a.totalPages, totalItems = _a.totalItems, rowsPerPage = _a.rowsPerPage, onPageChange = _a.onPageChange;
492
525
  if (totalPages <= 1)
493
526
  return null;
494
- return (jsxs("nav", __assign({ css: navStyle, "aria-label": 'Table navigation' }, { children: [jsx(PageInfo, { currentPage: currentPage, totalItems: totalItems, rowsPerPage: rowsPerPage }), jsxs("ul", __assign({ css: paginationListStyle }, { children: [jsx("li", { children: jsx(PreviousButton, { disabled: currentPage === 0, onClick: function () { return onPageChange(Math.max(0, currentPage - 1)); } }) }), jsx(PageNumbers, { currentPage: currentPage, totalPages: totalPages, onPageChange: onPageChange }), jsx("li", { children: jsx(NextButton, { disabled: currentPage >= totalPages - 1, onClick: function () {
527
+ return (jsxs("nav", __assign({ className: TABLE_CLASS.pagination, css: navStyle, "aria-label": 'Table navigation' }, { children: [jsx(PageInfo, { currentPage: currentPage, totalItems: totalItems, rowsPerPage: rowsPerPage }), jsxs("ul", __assign({ css: paginationListStyle }, { children: [jsx("li", { children: jsx(PreviousButton, { disabled: currentPage === 0, onClick: function () { return onPageChange(Math.max(0, currentPage - 1)); } }) }), jsx(PageNumbers, { currentPage: currentPage, totalPages: totalPages, onPageChange: onPageChange }), jsx("li", { children: jsx(NextButton, { disabled: currentPage >= totalPages - 1, onClick: function () {
495
528
  onPageChange(Math.min(totalPages - 1, currentPage + 1));
496
529
  } }) })] }))] })));
497
530
  }
@@ -565,24 +598,24 @@ function ActionButtons(_a) {
565
598
  return (jsx("div", __assign({ ref: containerRef, css: actionContainerStyle }, { children: useOverflow ? (jsxs(Fragment, { children: [jsx("button", __assign({ ref: menuButtonRef, type: 'button', disabled: overflowLoader, onClick: function (e) {
566
599
  e.stopPropagation();
567
600
  handleMenuToggle();
568
- }, css: actionIconButtonStyle }, { children: overflowLoader ? (jsx("div", __assign({ style: {
601
+ }, className: TABLE_CLASS.actionMenuButton, css: actionIconButtonStyle }, { children: overflowLoader ? (jsx("div", __assign({ style: {
569
602
  height: '16px',
570
603
  width: '16px',
571
604
  display: 'flex',
572
605
  alignItems: 'center',
573
606
  justifyContent: 'center'
574
607
  } }, { children: overflowLoader }))) : (jsx(MenuIcon, {})) })), isMenuOpen &&
575
- createPortal(jsxs("div", __assign({ ref: menuRef, css: __assign(__assign({}, actionMenuStyle), { top: "".concat(menuPosition.top, "px"), left: "".concat(menuPosition.left, "px"), transform: 'translateX(-100%)' }) }, { children: [actions.map(function (action, index) {
608
+ createPortal(jsxs("div", __assign({ ref: menuRef, className: TABLE_CLASS.actionMenu, css: __assign(__assign({}, actionMenuStyle), { top: "".concat(menuPosition.top, "px"), left: "".concat(menuPosition.left, "px"), transform: 'translateX(-100%)' }) }, { children: [actions.map(function (action, index) {
576
609
  var disabled = Object.keys(buttonLoaders).length > 0;
577
610
  return (jsx("button", __assign({ type: 'button', onClick: function (e) {
578
611
  e.stopPropagation();
579
612
  handleActionClick(action);
580
- }, css: actionMenuItemStyle, disabled: disabled }, { children: action.label }), index));
581
- }), canDeleteRows && onDeleteRow && (jsxs(Fragment, { children: [jsx("div", { css: actionMenuSeparatorStyle }), jsx("button", __assign({ type: 'button', onClick: function (e) {
613
+ }, className: TABLE_CLASS.actionMenuItem, css: actionMenuItemStyle, disabled: disabled }, { children: action.label }), index));
614
+ }), canDeleteRows && onDeleteRow && (jsxs(Fragment$1, { children: [jsx("div", { css: actionMenuSeparatorStyle }), jsx("button", __assign({ type: 'button', onClick: function (e) {
582
615
  e.stopPropagation();
583
616
  setIsMenuOpen(false);
584
617
  onDeleteRow(rowIndex);
585
- }, css: actionMenuDeleteItemStyle }, { children: "Delete" }))] }))] })), featheryDoc().body)] })) : (actions.map(function (action, index) {
618
+ }, className: TABLE_CLASS.actionMenuItem, css: actionMenuDeleteItemStyle }, { children: "Delete" }))] }))] })), featheryDoc().body)] })) : (actions.map(function (action, index) {
586
619
  var _a;
587
620
  var buttonKey = "".concat(tableId, "_").concat(rowIndex, "_").concat(action.label);
588
621
  var loader = (_a = buttonLoaders[buttonKey]) === null || _a === void 0 ? void 0 : _a.loader;
@@ -590,7 +623,7 @@ function ActionButtons(_a) {
590
623
  return (jsxs("button", __assign({ type: 'button', onClick: function (e) {
591
624
  e.stopPropagation();
592
625
  handleActionClick(action);
593
- }, css: actionButtonStyle, disabled: disabled }, { children: [jsx("span", __assign({ style: { visibility: loader ? 'hidden' : 'visible' } }, { children: action.label })), loader && (jsx("div", __assign({ style: {
626
+ }, className: TABLE_CLASS.actionButton, css: actionButtonStyle, disabled: disabled }, { children: [jsx("span", __assign({ style: { visibility: loader ? 'hidden' : 'visible' } }, { children: action.label })), loader && (jsx("div", __assign({ style: {
594
627
  position: 'absolute',
595
628
  top: '50%',
596
629
  left: '50%',
@@ -603,7 +636,7 @@ function ActionButtons(_a) {
603
636
 
604
637
  function EmptyState(_a) {
605
638
  var hasSearchQuery = _a.hasSearchQuery;
606
- return (jsxs("div", __assign({ css: emptyStateContainerStyle }, { children: [hasSearchQuery && (jsx("svg", __assign({ css: {
639
+ return (jsxs("div", __assign({ className: TABLE_CLASS.empty, css: emptyStateContainerStyle }, { children: [hasSearchQuery && (jsx("svg", __assign({ css: {
607
640
  width: '48px',
608
641
  height: '48px',
609
642
  color: '#9ca3af',
@@ -643,7 +676,7 @@ function DeleteConfirm(_a) {
643
676
  doc.removeEventListener('keydown', handleKeyDown);
644
677
  };
645
678
  }, [onCancel, anchorEl]);
646
- return createPortal(jsxs("div", __assign({ ref: popoverRef, role: 'alertdialog', "aria-label": message, css: __assign(__assign({}, confirmPopoverStyle), { top: "".concat(top, "px"), left: "".concat(left, "px"), transform: 'translateX(-100%)' }) }, { children: [jsx("p", __assign({ css: confirmTextStyle }, { children: message })), jsxs("div", __assign({ css: confirmButtonRowStyle }, { children: [jsx("button", __assign({ type: 'button', css: confirmCancelButtonStyle, onClick: function (e) {
679
+ return createPortal(jsxs("div", __assign({ ref: popoverRef, role: 'alertdialog', "aria-label": message, className: TABLE_CLASS.deleteConfirm, css: __assign(__assign({}, confirmPopoverStyle), { top: "".concat(top, "px"), left: "".concat(left, "px"), transform: 'translateX(-100%)' }) }, { children: [jsx("p", __assign({ css: confirmTextStyle }, { children: message })), jsxs("div", __assign({ css: confirmButtonRowStyle }, { children: [jsx("button", __assign({ type: 'button', css: confirmCancelButtonStyle, onClick: function (e) {
647
680
  e.stopPropagation();
648
681
  onCancel();
649
682
  } }, { children: "Cancel" })), jsx("button", __assign({ type: 'button', css: confirmDeleteButtonStyle, onClick: function (e) {
@@ -739,12 +772,12 @@ function EditableCell(_a) {
739
772
  setIsMenuOpen(!isMenuOpen);
740
773
  };
741
774
  if (isEditing) {
742
- return (jsxs("div", __assign({ css: editingCellContentStyle }, { children: [jsx("div", __assign({ css: editingCellSizerStyle }, { children: "".concat(editValue, "\u200B") })), jsx("textarea", { ref: inputRef, value: editValue, onChange: function (e) { return setEditValue(e.target.value); }, onBlur: handleBlur, onKeyDown: handleKeyDown, css: __assign(__assign({}, cellInputStyle), editingCellInputStyle), onClick: function (e) { return e.stopPropagation(); } })] })));
775
+ return (jsxs("div", __assign({ className: TABLE_CLASS.editableCell, css: editingCellContentStyle }, { children: [jsx("div", __assign({ css: editingCellSizerStyle }, { children: "".concat(editValue, "\u200B") })), jsx("textarea", { ref: inputRef, value: editValue, onChange: function (e) { return setEditValue(e.target.value); }, onBlur: handleBlur, onKeyDown: handleKeyDown, className: TABLE_CLASS.cellInput, css: __assign(__assign({}, cellInputStyle), editingCellInputStyle), onClick: function (e) { return e.stopPropagation(); } })] })));
743
776
  }
744
777
  if (isEmpty) {
745
- return (jsx("span", __assign({ css: clickToEditStyle, onClick: startEditing }, { children: "Click to edit" })));
778
+ return (jsx("span", __assign({ className: TABLE_CLASS.editableCell, css: clickToEditStyle, onClick: startEditing }, { children: "Click to edit" })));
746
779
  }
747
- return (jsxs("div", __assign({ css: editableCellContentStyle }, { children: [jsx("span", __assign({ css: editableCellTextStyle }, { children: displayValue })), jsx("button", __assign({ ref: menuButtonRef, type: 'button', "aria-expanded": isMenuOpen, "aria-haspopup": 'menu', css: overflowIconStyle, onClick: handleMenuToggle }, { children: jsx(OverflowIcon, {}) })), isMenuOpen &&
780
+ return (jsxs("div", __assign({ className: TABLE_CLASS.editableCell, css: editableCellContentStyle }, { children: [jsx("span", __assign({ css: editableCellTextStyle }, { children: displayValue })), jsx("button", __assign({ ref: menuButtonRef, type: 'button', "aria-expanded": isMenuOpen, "aria-haspopup": 'menu', css: overflowIconStyle, onClick: handleMenuToggle }, { children: jsx(OverflowIcon, {}) })), isMenuOpen &&
748
781
  createPortal(jsxs("div", __assign({ ref: menuRef, role: 'menu', css: __assign(__assign({}, actionMenuStyle), { top: "".concat(menuPosition.top, "px"), left: "".concat(menuPosition.left, "px"), transform: 'translateX(-100%)' }) }, { children: [jsx("button", __assign({ type: 'button', role: 'menuitem', css: actionMenuItemStyle, onClick: function (e) {
749
782
  e.stopPropagation();
750
783
  startEditing();
@@ -1448,7 +1481,7 @@ function TableElement(_a) {
1448
1481
  ]);
1449
1482
  var showEmptyState = !hasData || !hasSearchResults;
1450
1483
  var showToolbar = enableSearch || showAddRow;
1451
- return (jsxs("div", __assign({ css: __assign(__assign({}, containerStyle), styles.getTarget('container')) }, { children: [showToolbar && (jsxs("div", __assign({ css: toolbarStyle }, { children: [enableSearch ? (jsx(Search, { searchQuery: searchQuery, onSearchChange: setSearchQuery })) : (jsx("div", {})), showAddRow && (jsx("button", __assign({ type: 'button', css: addRowButtonStyle, onClick: wrappedHandleAddRow }, { children: "+ Add Row" })))] }))), showEmptyState ? (jsx(EmptyState, { hasSearchQuery: searchQuery.trim().length > 0 })) : (jsx("div", __assign({ css: { overflowX: 'auto' } }, { children: jsxs("table", __assign({ css: __assign(__assign({}, tableStyle), styles.getTarget('table')) }, { children: [!isTransposed && (jsx("thead", __assign({ css: theadStyle }, { children: jsxs("tr", { children: [jsx(SortHeader, { columns: columns, enableSort: enableSort, sortColumn: sortColumn, sortDirection: sortDirection, onSort: handleSort, styles: styles }), actions.length > 0 && (jsx("th", { scope: 'col', css: __assign(__assign(__assign({}, thStyle), { paddingLeft: 0 }), styles.getTarget('th')) })), showStandaloneDeleteColumn && (jsx("th", { scope: 'col', css: __assign(__assign(__assign({}, thStyle), deleteColumnStyle), styles.getTarget('th')) }))] }) }))), jsxs("tbody", __assign({ css: styles.getTarget('tbody') }, { children: [paginatedRowIndices.map(function (rowIndex) {
1484
+ return (jsxs("div", __assign({ className: TABLE_CLASS.container, css: __assign(__assign({}, containerStyle), styles.getTarget('container')) }, { children: [showToolbar && (jsxs("div", __assign({ className: TABLE_CLASS.toolbar, css: toolbarStyle }, { children: [enableSearch ? (jsx(Search, { searchQuery: searchQuery, onSearchChange: setSearchQuery })) : (jsx("div", {})), showAddRow && (jsx("button", __assign({ type: 'button', className: TABLE_CLASS.addRowButton, css: addRowButtonStyle, onClick: wrappedHandleAddRow }, { children: "+ Add Row" })))] }))), showEmptyState ? (jsx(EmptyState, { hasSearchQuery: searchQuery.trim().length > 0 })) : (jsx("div", __assign({ css: { overflowX: 'auto' } }, { children: jsxs("table", __assign({ className: TABLE_CLASS.table, css: __assign(__assign({}, tableStyle), styles.getTarget('table')) }, { children: [!isTransposed && (jsx("thead", __assign({ className: TABLE_CLASS.header, css: theadStyle }, { children: jsxs("tr", { children: [jsx(SortHeader, { columns: columns, enableSort: enableSort, sortColumn: sortColumn, sortDirection: sortDirection, onSort: handleSort, styles: styles }), actions.length > 0 && (jsx("th", { scope: 'col', className: TABLE_CLASS.headerCell, css: __assign(__assign(__assign({}, thStyle), { paddingLeft: 0 }), styles.getTarget('th')) })), showStandaloneDeleteColumn && (jsx("th", { scope: 'col', className: TABLE_CLASS.headerCell, css: __assign(__assign(__assign({}, thStyle), deleteColumnStyle), styles.getTarget('th')) }))] }) }))), jsxs("tbody", __assign({ className: TABLE_CLASS.body, css: styles.getTarget('tbody') }, { children: [paginatedRowIndices.map(function (rowIndex) {
1452
1485
  var _a, _b;
1453
1486
  var rowData = {};
1454
1487
  if (!isTransposed) {
@@ -1468,8 +1501,8 @@ function TableElement(_a) {
1468
1501
  });
1469
1502
  }
1470
1503
  };
1471
- return (jsxs("tr", __assign({ css: __assign(__assign({}, rowStyle), styles.getTarget('tr')), onClick: handleRowClick }, { children: [columns.map(function (column, colIndex) {
1472
- var _a, _b;
1504
+ return (jsxs("tr", __assign({ className: TABLE_CLASS.row, css: __assign(__assign({}, rowStyle), styles.getTarget('tr')), onClick: handleRowClick }, { children: [columns.map(function (column, colIndex) {
1505
+ var _a, _b, _c;
1473
1506
  var fieldValue = activeFieldValues[column.field_key];
1474
1507
  var cellValue = Array.isArray(fieldValue)
1475
1508
  ? fieldValue[rowIndex]
@@ -1514,26 +1547,34 @@ function TableElement(_a) {
1514
1547
  });
1515
1548
  }
1516
1549
  };
1517
- return (jsx(CellElement, __assign({ css: cellCss, onClick: handleCellClick }, (isFirstColInTranspose ? { scope: 'row' } : {}), { children: isFirstColInTranspose && isSortable ? (jsxs("div", __assign({ css: __assign(__assign({}, sortHeaderContentStyle), { justifyContent: 'space-between' }) }, { children: [jsx("span", { children: (_a = stringifyWithNull(cellValue)) !== null && _a !== void 0 ? _a : '' }), jsx("span", __assign({ css: sortIconContainerStyle }, { children: jsx(SortIcon, { isSorted: isSorted, sortDirection: sortDirection }) }))] }))) : canEdit ? (jsx(EditableCell, { value: cellValue, fieldKey: column.field_key, rowIndex: rowIndex, onEdit: wrappedHandleCellEdit, onClear: handleCellClear })) : ((_b = stringifyWithNull(cellValue)) !== null && _b !== void 0 ? _b : '') }), colIndex));
1550
+ // In transposed mode each rendered row holds one
1551
+ // original field, so every cell in it belongs to
1552
+ // baseColumns[rowIndex]
1553
+ var cellFieldKey = isTransposed
1554
+ ? (_a = baseColumns[rowIndex]) === null || _a === void 0 ? void 0 : _a.field_key
1555
+ : column.field_key;
1556
+ return (jsx(CellElement, __assign({ className: isFirstColInTranspose
1557
+ ? TABLE_CLASS.headerCell
1558
+ : TABLE_CLASS.cell, "data-feathery-field": cellFieldKey, css: cellCss, onClick: handleCellClick }, (isFirstColInTranspose ? { scope: 'row' } : {}), { children: isFirstColInTranspose && isSortable ? (jsxs("div", __assign({ css: __assign(__assign({}, sortHeaderContentStyle), { justifyContent: 'space-between' }) }, { children: [jsx("span", { children: (_b = stringifyWithNull(cellValue)) !== null && _b !== void 0 ? _b : '' }), jsx("span", __assign({ css: sortIconContainerStyle }, { children: jsx(SortIcon, { isSorted: isSorted, sortDirection: sortDirection }) }))] }))) : canEdit ? (jsx(EditableCell, { value: cellValue, fieldKey: column.field_key, rowIndex: rowIndex, onEdit: wrappedHandleCellEdit, onClear: handleCellClear })) : ((_c = stringifyWithNull(cellValue)) !== null && _c !== void 0 ? _c : '') }), colIndex));
1518
1559
  }), !isTransposed && actions.length > 0 && (jsxs("td", __assign({ ref: function (el) {
1519
1560
  if (el)
1520
1561
  actionCellRefs.current.set(rowIndex, el);
1521
1562
  else
1522
1563
  actionCellRefs.current.delete(rowIndex);
1523
- }, css: __assign(__assign(__assign({}, cellStyle), { paddingLeft: 0 }), styles.getTarget('td')) }, { children: [jsx(ActionButtons, { actions: actions, rowIndex: rowIndex, columnData: baseColumns, fieldValues: baseFieldValues, onClick: onClick, tableId: element.id, buttonLoaders: buttonLoaders, canDeleteRows: canDeleteRows && hasOverflowMenu, onDeleteRow: function (ri) { return setDeleteRowIndex(ri); } }), hasOverflowMenu &&
1564
+ }, className: TABLE_CLASS.cell, css: __assign(__assign(__assign({}, cellStyle), { paddingLeft: 0 }), styles.getTarget('td')) }, { children: [jsx(ActionButtons, { actions: actions, rowIndex: rowIndex, columnData: baseColumns, fieldValues: baseFieldValues, onClick: onClick, tableId: element.id, buttonLoaders: buttonLoaders, canDeleteRows: canDeleteRows && hasOverflowMenu, onDeleteRow: function (ri) { return setDeleteRowIndex(ri); } }), hasOverflowMenu &&
1524
1565
  canDeleteRows &&
1525
- deleteRowIndex === rowIndex && (jsx(DeleteConfirm, { anchorEl: (_a = actionCellRefs.current.get(rowIndex)) !== null && _a !== void 0 ? _a : null, onConfirm: function () { return wrappedHandleDeleteRow(rowIndex); }, onCancel: handleCancelDelete }))] }))), showStandaloneDeleteColumn && (jsxs("td", __assign({ css: __assign(__assign({}, deleteColumnStyle), styles.getTarget('td')) }, { children: [jsx("button", __assign({ type: 'button', ref: function (el) {
1566
+ deleteRowIndex === rowIndex && (jsx(DeleteConfirm, { anchorEl: (_a = actionCellRefs.current.get(rowIndex)) !== null && _a !== void 0 ? _a : null, onConfirm: function () { return wrappedHandleDeleteRow(rowIndex); }, onCancel: handleCancelDelete }))] }))), showStandaloneDeleteColumn && (jsxs("td", __assign({ className: TABLE_CLASS.cell, css: __assign(__assign({}, deleteColumnStyle), styles.getTarget('td')) }, { children: [jsx("button", __assign({ type: 'button', ref: function (el) {
1526
1567
  if (el)
1527
1568
  deleteIconRefs.current.set(rowIndex, el);
1528
1569
  else
1529
1570
  deleteIconRefs.current.delete(rowIndex);
1530
- }, css: __assign(__assign({}, deleteIconStyle), (deleteRowIndex === rowIndex && {
1571
+ }, className: TABLE_CLASS.deleteButton, css: __assign(__assign({}, deleteIconStyle), (deleteRowIndex === rowIndex && {
1531
1572
  opacity: 1
1532
1573
  })), onClick: function (e) {
1533
1574
  e.stopPropagation();
1534
1575
  setDeleteRowIndex(deleteRowIndex === rowIndex ? null : rowIndex);
1535
1576
  } }, { children: jsx(TrashIcon, {}) })), deleteRowIndex === rowIndex && (jsx(DeleteConfirm, { anchorEl: (_b = deleteIconRefs.current.get(rowIndex)) !== null && _b !== void 0 ? _b : null, onConfirm: function () { return wrappedHandleDeleteRow(rowIndex); }, onCancel: handleCancelDelete }))] })))] }), rowIndex));
1536
- }), isTransposed && actions.length > 0 && (jsxs("tr", __assign({ css: __assign(__assign({}, rowStyle), styles.getTarget('tr')) }, { children: [jsx("th", { scope: 'row', css: __assign(__assign(__assign({}, thStyle), { backgroundColor: '#f9fafb', borderRight: '1px solid #e5e7eb', width: '1px', whiteSpace: 'nowrap' }), styles.getTarget('th')) }), transposedRowIndices.map(function (originalRowIndex, idx) { return (jsx("td", __assign({ css: __assign(__assign(__assign({}, cellStyle), (idx === 0 ? {} : { paddingLeft: 0 })), styles.getTarget('td')) }, { children: jsx("div", __assign({ css: { display: 'flex', justifyContent: 'flex-start' } }, { children: jsx(ActionButtons, { actions: actions, rowIndex: originalRowIndex, columnData: baseColumns, fieldValues: baseFieldValues, onClick: onClick, forceInlineButtons: true, tableId: element.id, buttonLoaders: buttonLoaders }) })) }), originalRowIndex)); })] })))] }))] })) }))), !showEmptyState && enablePagination && (jsx(Pagination, { currentPage: currentPage, totalPages: totalPages, totalItems: totalRows, rowsPerPage: rowsPerPage, onPageChange: setCurrentPage }))] })));
1577
+ }), isTransposed && actions.length > 0 && (jsxs("tr", __assign({ className: TABLE_CLASS.row, css: __assign(__assign({}, rowStyle), styles.getTarget('tr')) }, { children: [jsx("th", { scope: 'row', className: TABLE_CLASS.headerCell, css: __assign(__assign(__assign({}, thStyle), { backgroundColor: '#f9fafb', borderRight: '1px solid #e5e7eb', width: '1px', whiteSpace: 'nowrap' }), styles.getTarget('th')) }), transposedRowIndices.map(function (originalRowIndex, idx) { return (jsx("td", __assign({ className: TABLE_CLASS.cell, css: __assign(__assign(__assign({}, cellStyle), (idx === 0 ? {} : { paddingLeft: 0 })), styles.getTarget('td')) }, { children: jsx("div", __assign({ css: { display: 'flex', justifyContent: 'flex-start' } }, { children: jsx(ActionButtons, { actions: actions, rowIndex: originalRowIndex, columnData: baseColumns, fieldValues: baseFieldValues, onClick: onClick, forceInlineButtons: true, tableId: element.id, buttonLoaders: buttonLoaders }) })) }), originalRowIndex)); })] })))] }))] })) }))), !showEmptyState && enablePagination && (jsx(Pagination, { currentPage: currentPage, totalPages: totalPages, totalItems: totalRows, rowsPerPage: rowsPerPage, onPageChange: setCurrentPage }))] })));
1537
1578
  }
1538
1579
 
1539
1580
  export { TableElement as default };
@@ -1,16 +1,16 @@
1
- import { j as jsxs, _ as __assign, a as jsx, D as DROPDOWN_Z_INDEX, c as __read, u as useBorder, y as getFieldValue, z as stringifyWithNull, h as hoverStylesGuard, b as iosScrollOnFocus, F as FORM_Z_INDEX, r as resetStyles, A as emailPatternStr } from './fthry_index.wB8tEXQD.js';
1
+ import { j as jsxs, _ as __assign, a as jsx, D as DROPDOWN_Z_INDEX, c as __read, u as useBorder, y as getFieldValue, z as stringifyWithNull, h as hoverStylesGuard, b as iosScrollOnFocus, F as FORM_Z_INDEX, r as resetStyles, A as emailPatternStr } from './fthry_index.CL3hHTjQ.js';
2
2
  import { memo, useRef, useState } from 'react';
3
- import { P as Placeholder } from './fthry_Placeholder.C5ezRBA4.js';
4
- import { I as InlineTooltip } from './fthry_InlineTooltip.DpFz4-7q.js';
5
- import { O as Overlay } from './fthry_Overlay.D9YOHNgQ.js';
6
- import { u as useElementSize } from './fthry_useElementSize.BftEHcYN.js';
7
- import { S as ShowEyeIcon, a as ShowEyeIcon$1 } from './fthry_ShowEyeIcon.CRfFKHIW.js';
8
- import { I as IMaskInput } from './fthry_input.EFXGfxnr.js';
3
+ import { P as Placeholder } from './fthry_Placeholder.BxzLZsXS.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.ByMa9uSw.js';
5
+ import { O as Overlay } from './fthry_Overlay.CU1SH-um.js';
6
+ import { u as useElementSize } from './fthry_useElementSize.Bvuimmvh.js';
7
+ import { S as ShowEyeIcon, a as ShowEyeIcon$1 } from './fthry_ShowEyeIcon.DtwKo9ho.js';
8
+ import { I as IMaskInput } from './fthry_input.Cd3U4YXd.js';
9
9
  import 'react/jsx-runtime';
10
10
  import 'react-dom/client';
11
11
  import 'jszip';
12
12
  import 'react-dom';
13
- import './fthry_index.BmyShbTY.js';
13
+ import './fthry_index.DGOthlYi.js';
14
14
 
15
15
  function TextAutocomplete(_a) {
16
16
  var _b = _a.allOptions, allOptions = _b === void 0 ? [] : _b, showOptions = _a.showOptions, _c = _a.onSelect, onSelect = _c === void 0 ? function () { } : _c, _d = _a.onHide, onHide = _d === void 0 ? function () { } : _d, _e = _a.onInputFocus, onInputFocus = _e === void 0 ? function () { } : _e, _f = _a.value, value = _f === void 0 ? '' : _f, containerRef = _a.containerRef, responsiveStyles = _a.responsiveStyles, listItemRef = _a.listItemRef, children = _a.children;
@@ -1,6 +1,6 @@
1
- import { c as __read, j as jsxs, _ as __assign, a as jsx, h as hoverStylesGuard } from './fthry_index.wB8tEXQD.js';
1
+ import { c as __read, j as jsxs, _ as __assign, a as jsx, h as hoverStylesGuard } from './fthry_index.CL3hHTjQ.js';
2
2
  import { useState, useEffect } from 'react';
3
- import { S as SliderStyles, a as Slider } from './fthry_styles.DzxChSu4.js';
3
+ import { S as SliderStyles, a as Slider } from './fthry_styles.BCVZNGCY.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react-dom/client';
6
6
  import 'jszip';
@@ -1,4 +1,4 @@
1
- import { au as __extends, _ as __assign, k as __rest, L as __spreadArray, l as __awaiter, m as __generator } from './fthry_index.wB8tEXQD.js';
1
+ import { au as __extends, _ as __assign, k as __rest, L as __spreadArray, l as __awaiter, m as __generator } from './fthry_index.CL3hHTjQ.js';
2
2
 
3
3
  function dset(obj, keys, val) {
4
4
  keys.split && (keys=keys.split('.'));
@@ -5352,7 +5352,7 @@ var Analytics = /** @class */ (function (_super) {
5352
5352
  return __generator(this, function (_b) {
5353
5353
  switch (_b.label) {
5354
5354
  case 0: return [4 /*yield*/, import(
5355
- /* webpackChunkName: "auto-track" */ './fthry_auto-track.Bo4ek9UM.js')];
5355
+ /* webpackChunkName: "auto-track" */ './fthry_auto-track.Cry1nfwC.js')];
5356
5356
  case 1:
5357
5357
  autotrack = _b.sent();
5358
5358
  return [2 /*return*/, (_a = autotrack.link).call.apply(_a, __spreadArray([this], args, false))];
@@ -5371,7 +5371,7 @@ var Analytics = /** @class */ (function (_super) {
5371
5371
  return __generator(this, function (_b) {
5372
5372
  switch (_b.label) {
5373
5373
  case 0: return [4 /*yield*/, import(
5374
- /* webpackChunkName: "auto-track" */ './fthry_auto-track.Bo4ek9UM.js')];
5374
+ /* webpackChunkName: "auto-track" */ './fthry_auto-track.Cry1nfwC.js')];
5375
5375
  case 1:
5376
5376
  autotrack = _b.sent();
5377
5377
  return [2 /*return*/, (_a = autotrack.link).call.apply(_a, __spreadArray([this], args, false))];
@@ -5390,7 +5390,7 @@ var Analytics = /** @class */ (function (_super) {
5390
5390
  return __generator(this, function (_b) {
5391
5391
  switch (_b.label) {
5392
5392
  case 0: return [4 /*yield*/, import(
5393
- /* webpackChunkName: "auto-track" */ './fthry_auto-track.Bo4ek9UM.js')];
5393
+ /* webpackChunkName: "auto-track" */ './fthry_auto-track.Cry1nfwC.js')];
5394
5394
  case 1:
5395
5395
  autotrack = _b.sent();
5396
5396
  return [2 /*return*/, (_a = autotrack.form).call.apply(_a, __spreadArray([this], args, false))];
@@ -5409,7 +5409,7 @@ var Analytics = /** @class */ (function (_super) {
5409
5409
  return __generator(this, function (_b) {
5410
5410
  switch (_b.label) {
5411
5411
  case 0: return [4 /*yield*/, import(
5412
- /* webpackChunkName: "auto-track" */ './fthry_auto-track.Bo4ek9UM.js')];
5412
+ /* webpackChunkName: "auto-track" */ './fthry_auto-track.Cry1nfwC.js')];
5413
5413
  case 1:
5414
5414
  autotrack = _b.sent();
5415
5415
  return [2 /*return*/, (_a = autotrack.form).call.apply(_a, __spreadArray([this], args, false))];
@@ -5564,7 +5564,7 @@ var Analytics = /** @class */ (function (_super) {
5564
5564
  return [2 /*return*/, []];
5565
5565
  }
5566
5566
  return [4 /*yield*/, import(
5567
- /* webpackChunkName: "queryString" */ './fthry_index.d6j0MJN7.js')];
5567
+ /* webpackChunkName: "queryString" */ './fthry_index.CcwVvGij.js')];
5568
5568
  case 1:
5569
5569
  queryString = (_a.sent()).queryString;
5570
5570
  return [2 /*return*/, queryString(this, query)];
@@ -6607,7 +6607,7 @@ function registerPlugins(writeKey, cdnSettings, analytics, options, pluginLikes,
6607
6607
  tsubMiddleware = _d;
6608
6608
  if (!(hasLegacyDestinations(cdnSettings) || legacyIntegrationSources.length > 0)) return [3 /*break*/, 5];
6609
6609
  return [4 /*yield*/, import(
6610
- /* webpackChunkName: "ajs-destination" */ './fthry_index.DZ8TqVOz.js').then(function (mod) {
6610
+ /* webpackChunkName: "ajs-destination" */ './fthry_index.BUFSNLXS.js').then(function (mod) {
6611
6611
  return mod.ajsDestinations(writeKey, cdnSettings, analytics.integrations, options, tsubMiddleware, legacyIntegrationSources);
6612
6612
  })];
6613
6613
  case 4:
@@ -6620,7 +6620,7 @@ function registerPlugins(writeKey, cdnSettings, analytics, options, pluginLikes,
6620
6620
  legacyDestinations = _e;
6621
6621
  if (!cdnSettings.legacyVideoPluginsEnabled) return [3 /*break*/, 8];
6622
6622
  return [4 /*yield*/, import(
6623
- /* webpackChunkName: "legacyVideos" */ './fthry_index.DT62a6WV.js').then(function (mod) {
6623
+ /* webpackChunkName: "legacyVideos" */ './fthry_index.DQTQ84eq.js').then(function (mod) {
6624
6624
  return mod.loadLegacyVideoPlugins(analytics);
6625
6625
  })];
6626
6626
  case 7:
@@ -6629,7 +6629,7 @@ function registerPlugins(writeKey, cdnSettings, analytics, options, pluginLikes,
6629
6629
  case 8:
6630
6630
  if (!((_a = options.plan) === null || _a === void 0 ? void 0 : _a.track)) return [3 /*break*/, 10];
6631
6631
  return [4 /*yield*/, import(
6632
- /* webpackChunkName: "schemaFilter" */ './fthry_index.C8884q_s.js').then(function (mod) {
6632
+ /* webpackChunkName: "schemaFilter" */ './fthry_index.Dl7Jr60c.js').then(function (mod) {
6633
6633
  var _a;
6634
6634
  return mod.schemaFilter((_a = options.plan) === null || _a === void 0 ? void 0 : _a.track, cdnSettings);
6635
6635
  })];
@@ -6674,7 +6674,7 @@ function registerPlugins(writeKey, cdnSettings, analytics, options, pluginLikes,
6674
6674
  return enabled;
6675
6675
  })) return [3 /*break*/, 18];
6676
6676
  return [4 /*yield*/, import(
6677
- /* webpackChunkName: "remoteMiddleware" */ './fthry_index.BAwP5nZO.js').then(function (_a) {
6677
+ /* webpackChunkName: "remoteMiddleware" */ './fthry_index.CTtFSL1v.js').then(function (_a) {
6678
6678
  var remoteMiddlewares = _a.remoteMiddlewares;
6679
6679
  return __awaiter(_this, void 0, void 0, function () {
6680
6680
  var middleware, promises;
@@ -1,13 +1,13 @@
1
- import { u as useBorder, c as __read, j as jsxs, _ as __assign, h as hoverStylesGuard, a as jsx, b as iosScrollOnFocus, F as FORM_Z_INDEX, r as resetStyles } from './fthry_index.wB8tEXQD.js';
1
+ import { u as useBorder, c as __read, j as jsxs, _ as __assign, h as hoverStylesGuard, a as jsx, b as iosScrollOnFocus, F as FORM_Z_INDEX, r as resetStyles } from './fthry_index.CL3hHTjQ.js';
2
2
  import { memo, useState, useRef } from 'react';
3
- import { P as Placeholder } from './fthry_Placeholder.C5ezRBA4.js';
4
- import { I as InlineTooltip } from './fthry_InlineTooltip.DpFz4-7q.js';
5
- import { S as ShowEyeIcon, a as ShowEyeIcon$1 } from './fthry_ShowEyeIcon.CRfFKHIW.js';
3
+ import { P as Placeholder } from './fthry_Placeholder.BxzLZsXS.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.ByMa9uSw.js';
5
+ import { S as ShowEyeIcon, a as ShowEyeIcon$1 } from './fthry_ShowEyeIcon.DtwKo9ho.js';
6
6
  import 'react/jsx-runtime';
7
7
  import 'react-dom/client';
8
8
  import 'jszip';
9
9
  import 'react-dom';
10
- import './fthry_Overlay.D9YOHNgQ.js';
10
+ import './fthry_Overlay.CU1SH-um.js';
11
11
 
12
12
  function PasswordField(_a) {
13
13
  var _b;
@@ -1,5 +1,5 @@
1
- import { l as __awaiter, m as __generator, L as __spreadArray, _ as __assign } from './fthry_index.wB8tEXQD.js';
2
- import { l as loadScript, g as getNextIntegrationsURL, u as unloadScript, i as isServer, m as mergedOptions, b as isPlainObject, r as recordIntegrationMetric, c as isOffline, C as ContextCancelation, d as applyDestinationMiddleware, e as distExports, f as createDeferred, P as PriorityQueue, h as PersistedPriorityQueue, j as pWhile, k as attempt, n as Context, o as isOnline } from './fthry_index.DnucOK6E.js';
1
+ import { l as __awaiter, m as __generator, L as __spreadArray, _ as __assign } from './fthry_index.CL3hHTjQ.js';
2
+ import { l as loadScript, g as getNextIntegrationsURL, u as unloadScript, i as isServer, m as mergedOptions, b as isPlainObject, r as recordIntegrationMetric, c as isOffline, C as ContextCancelation, d as applyDestinationMiddleware, e as distExports, f as createDeferred, P as PriorityQueue, h as PersistedPriorityQueue, j as pWhile, k as attempt, n as Context, o as isOnline } from './fthry_index.B7Ne8hG0.js';
3
3
  import { i as isPlanEventEnabled } from './fthry_is-plan-event-enabled.mXX0dwl-.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react';
@@ -1,4 +1,4 @@
1
- import { p as featheryWindow, j as jsxs, _ as __assign, a as jsx, c as __read, u as useBorder, h as hoverStylesGuard, P as isNum } from './fthry_index.wB8tEXQD.js';
1
+ import { p as featheryWindow, j as jsxs, _ as __assign, a as jsx, c as __read, u as useBorder, h as hoverStylesGuard, P as isNum } from './fthry_index.CL3hHTjQ.js';
2
2
  import { useRef, useCallback, useEffect, useState } from 'react';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react-dom/client';
@@ -1,10 +1,10 @@
1
- import { a1 as stringify, a2 as rulesheet, a3 as COMMENT, a4 as middleware, a5 as RULESET, a6 as combine, a7 as match, a8 as serialize, a9 as copy, aa as replace, ab as WEBKIT, ac as MOZ, ad as MS, ae as KEYFRAMES, af as DECLARATION, ag as dealloc, ah as alloc, ai as hash, aj as charat, ak as strlen, al as indexof, am as next, an as token, ao as from, ap as peek, aq as delimit, ar as slice, as as position, at as compile, a as jsx$1, _ as __assign, j as jsxs, q as Fragment$1, k as __rest, c as __read, F as FORM_Z_INDEX, p as featheryWindow, t as featheryDoc, L as __spreadArray, U as __values, u as useBorder, D as DROPDOWN_Z_INDEX } from './fthry_index.wB8tEXQD.js';
1
+ import { a1 as stringify, a2 as rulesheet, a3 as COMMENT, a4 as middleware, a5 as RULESET, a6 as combine, a7 as match, a8 as serialize, a9 as copy, aa as replace, ab as WEBKIT, ac as MOZ, ad as MS, ae as KEYFRAMES, af as DECLARATION, ag as dealloc, ah as alloc, ai as hash, aj as charat, ak as strlen, al as indexof, am as next, an as token, ao as from, ap as peek, aq as delimit, ar as slice, as as position, at as compile, a as jsx$1, _ as __assign, j as jsxs, q as Fragment$1, k as __rest, c as __read, F as FORM_Z_INDEX, p as featheryWindow, t as featheryDoc, L as __spreadArray, U as __values, u as useBorder, D as DROPDOWN_Z_INDEX } from './fthry_index.CL3hHTjQ.js';
2
2
  import * as React from 'react';
3
3
  import { useState, useCallback, forwardRef, useContext, useLayoutEffect, useEffect, createContext, useRef, useMemo, Component, Fragment } from 'react';
4
- import { I as InlineTooltip } from './fthry_InlineTooltip.DpFz4-7q.js';
5
- import { P as Placeholder$2 } from './fthry_Placeholder.C5ezRBA4.js';
6
- import { u as useSalesforceSync } from './fthry_useSalesforceSync.B04DdqRz.js';
7
- import { T as Tooltip, O as Overlay } from './fthry_Overlay.D9YOHNgQ.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.ByMa9uSw.js';
5
+ import { P as Placeholder$2 } from './fthry_Placeholder.BxzLZsXS.js';
6
+ import { u as useSalesforceSync } from './fthry_useSalesforceSync.bhdBo_Oi.js';
7
+ import { T as Tooltip, O as Overlay } from './fthry_Overlay.CU1SH-um.js';
8
8
  import { createPortal } from 'react-dom';
9
9
  import 'react/jsx-runtime';
10
10
  import 'react-dom/client';