@bikdotai/bik-component-library 0.0.868-beta.10 → 0.0.868-beta.12

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 (126) hide show
  1. package/README.md +0 -3
  2. package/dist/cjs/components/datePicker/DatePickerWrapper.js +1 -1
  3. package/dist/cjs/components/datePicker/DatePickerWrapper.js.map +1 -1
  4. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  5. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  6. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +27 -10
  7. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  8. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  9. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  10. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +1 -1
  11. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  12. package/dist/cjs/components/dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.js +1 -1
  13. package/dist/cjs/components/dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.js.map +1 -1
  14. package/dist/cjs/components/dropdown/OpenedDropdown/utils/iterationOnOptions.js +1 -1
  15. package/dist/cjs/components/dropdown/OpenedDropdown/utils/iterationOnOptions.js.map +1 -1
  16. package/dist/cjs/components/dropdown/hooks/useDropdown.js +1 -1
  17. package/dist/cjs/components/dropdown/hooks/useDropdown.js.map +1 -1
  18. package/dist/cjs/index.js +1 -1
  19. package/dist/esm/components/datePicker/DatePickerWrapper.d.ts +0 -7
  20. package/dist/esm/components/datePicker/DatePickerWrapper.js +64 -66
  21. package/dist/esm/components/datePicker/DatePickerWrapper.js.map +1 -1
  22. package/dist/esm/components/datePicker/index.d.ts +0 -1
  23. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +74 -68
  24. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  25. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +9 -0
  26. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +168 -130
  27. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  28. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +2 -0
  29. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +145 -104
  30. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  31. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +36 -29
  32. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  33. package/dist/esm/components/dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.d.ts +1 -0
  34. package/dist/esm/components/dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.js +39 -30
  35. package/dist/esm/components/dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.js.map +1 -1
  36. package/dist/esm/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +3 -16
  37. package/dist/esm/components/dropdown/OpenedDropdown/utils/iterationOnOptions.js +41 -24
  38. package/dist/esm/components/dropdown/OpenedDropdown/utils/iterationOnOptions.js.map +1 -1
  39. package/dist/esm/components/dropdown/hooks/useDropdown.d.ts +3 -16
  40. package/dist/esm/components/dropdown/hooks/useDropdown.js +159 -149
  41. package/dist/esm/components/dropdown/hooks/useDropdown.js.map +1 -1
  42. package/dist/esm/components/dropdown/type.d.ts +17 -0
  43. package/dist/esm/index.d.ts +0 -3
  44. package/dist/esm/index.js +675 -716
  45. package/dist/esm/index.js.map +1 -1
  46. package/package.json +1 -1
  47. package/dist/cjs/components/chip-selector/ChipSelector.js +0 -2
  48. package/dist/cjs/components/chip-selector/ChipSelector.js.map +0 -1
  49. package/dist/cjs/components/chip-selector/ChipSelector.styled.js +0 -36
  50. package/dist/cjs/components/chip-selector/ChipSelector.styled.js.map +0 -1
  51. package/dist/cjs/components/chip-selector/ChipSelectorGroup.js +0 -2
  52. package/dist/cjs/components/chip-selector/ChipSelectorGroup.js.map +0 -1
  53. package/dist/cjs/components/combo-box/ComboBox.js +0 -2
  54. package/dist/cjs/components/combo-box/ComboBox.js.map +0 -1
  55. package/dist/cjs/components/combo-box/ComboBox.styled.js +0 -33
  56. package/dist/cjs/components/combo-box/ComboBox.styled.js.map +0 -1
  57. package/dist/cjs/components/schedule-builder/RefreshSegmentToggle.js +0 -2
  58. package/dist/cjs/components/schedule-builder/RefreshSegmentToggle.js.map +0 -1
  59. package/dist/cjs/components/schedule-builder/ScheduleBuilder.js +0 -2
  60. package/dist/cjs/components/schedule-builder/ScheduleBuilder.js.map +0 -1
  61. package/dist/cjs/components/schedule-builder/ScheduleBuilder.styled.js +0 -138
  62. package/dist/cjs/components/schedule-builder/ScheduleBuilder.styled.js.map +0 -1
  63. package/dist/cjs/components/schedule-builder/ScheduleEndPicker.js +0 -2
  64. package/dist/cjs/components/schedule-builder/ScheduleEndPicker.js.map +0 -1
  65. package/dist/cjs/components/schedule-builder/ScheduleFrequencyPicker.js +0 -2
  66. package/dist/cjs/components/schedule-builder/ScheduleFrequencyPicker.js.map +0 -1
  67. package/dist/cjs/components/schedule-builder/ScheduleHelper.js +0 -2
  68. package/dist/cjs/components/schedule-builder/ScheduleHelper.js.map +0 -1
  69. package/dist/cjs/components/schedule-builder/SendModeSelector.js +0 -2
  70. package/dist/cjs/components/schedule-builder/SendModeSelector.js.map +0 -1
  71. package/dist/cjs/components/schedule-builder/StartDateTimePicker.js +0 -2
  72. package/dist/cjs/components/schedule-builder/StartDateTimePicker.js.map +0 -1
  73. package/dist/cjs/components/schedule-builder/UpcomingRunsPreview.js +0 -2
  74. package/dist/cjs/components/schedule-builder/UpcomingRunsPreview.js.map +0 -1
  75. package/dist/cjs/components/schedule-builder/model.js +0 -2
  76. package/dist/cjs/components/schedule-builder/model.js.map +0 -1
  77. package/dist/esm/components/chip-selector/ChipSelector.d.ts +0 -9
  78. package/dist/esm/components/chip-selector/ChipSelector.js +0 -27
  79. package/dist/esm/components/chip-selector/ChipSelector.js.map +0 -1
  80. package/dist/esm/components/chip-selector/ChipSelector.styled.d.ts +0 -10
  81. package/dist/esm/components/chip-selector/ChipSelector.styled.js +0 -48
  82. package/dist/esm/components/chip-selector/ChipSelector.styled.js.map +0 -1
  83. package/dist/esm/components/chip-selector/ChipSelectorGroup.d.ts +0 -10
  84. package/dist/esm/components/chip-selector/ChipSelectorGroup.js +0 -48
  85. package/dist/esm/components/chip-selector/ChipSelectorGroup.js.map +0 -1
  86. package/dist/esm/components/chip-selector/index.d.ts +0 -4
  87. package/dist/esm/components/chip-selector/model.d.ts +0 -106
  88. package/dist/esm/components/combo-box/ComboBox.d.ts +0 -15
  89. package/dist/esm/components/combo-box/ComboBox.js +0 -118
  90. package/dist/esm/components/combo-box/ComboBox.js.map +0 -1
  91. package/dist/esm/components/combo-box/ComboBox.styled.d.ts +0 -12
  92. package/dist/esm/components/combo-box/ComboBox.styled.js +0 -40
  93. package/dist/esm/components/combo-box/ComboBox.styled.js.map +0 -1
  94. package/dist/esm/components/combo-box/index.d.ts +0 -3
  95. package/dist/esm/components/combo-box/model.d.ts +0 -55
  96. package/dist/esm/components/schedule-builder/RefreshSegmentToggle.d.ts +0 -22
  97. package/dist/esm/components/schedule-builder/RefreshSegmentToggle.js +0 -31
  98. package/dist/esm/components/schedule-builder/RefreshSegmentToggle.js.map +0 -1
  99. package/dist/esm/components/schedule-builder/ScheduleBuilder.d.ts +0 -88
  100. package/dist/esm/components/schedule-builder/ScheduleBuilder.js +0 -105
  101. package/dist/esm/components/schedule-builder/ScheduleBuilder.js.map +0 -1
  102. package/dist/esm/components/schedule-builder/ScheduleBuilder.styled.d.ts +0 -81
  103. package/dist/esm/components/schedule-builder/ScheduleBuilder.styled.js +0 -168
  104. package/dist/esm/components/schedule-builder/ScheduleBuilder.styled.js.map +0 -1
  105. package/dist/esm/components/schedule-builder/ScheduleEndPicker.d.ts +0 -17
  106. package/dist/esm/components/schedule-builder/ScheduleEndPicker.js +0 -105
  107. package/dist/esm/components/schedule-builder/ScheduleEndPicker.js.map +0 -1
  108. package/dist/esm/components/schedule-builder/ScheduleFrequencyPicker.d.ts +0 -21
  109. package/dist/esm/components/schedule-builder/ScheduleFrequencyPicker.js +0 -136
  110. package/dist/esm/components/schedule-builder/ScheduleFrequencyPicker.js.map +0 -1
  111. package/dist/esm/components/schedule-builder/ScheduleHelper.d.ts +0 -110
  112. package/dist/esm/components/schedule-builder/ScheduleHelper.js +0 -196
  113. package/dist/esm/components/schedule-builder/ScheduleHelper.js.map +0 -1
  114. package/dist/esm/components/schedule-builder/SendModeSelector.d.ts +0 -29
  115. package/dist/esm/components/schedule-builder/SendModeSelector.js +0 -41
  116. package/dist/esm/components/schedule-builder/SendModeSelector.js.map +0 -1
  117. package/dist/esm/components/schedule-builder/StartDateTimePicker.d.ts +0 -44
  118. package/dist/esm/components/schedule-builder/StartDateTimePicker.js +0 -119
  119. package/dist/esm/components/schedule-builder/StartDateTimePicker.js.map +0 -1
  120. package/dist/esm/components/schedule-builder/UpcomingRunsPreview.d.ts +0 -19
  121. package/dist/esm/components/schedule-builder/UpcomingRunsPreview.js +0 -44
  122. package/dist/esm/components/schedule-builder/UpcomingRunsPreview.js.map +0 -1
  123. package/dist/esm/components/schedule-builder/index.d.ts +0 -17
  124. package/dist/esm/components/schedule-builder/model.d.ts +0 -69
  125. package/dist/esm/components/schedule-builder/model.js +0 -8
  126. package/dist/esm/components/schedule-builder/model.js.map +0 -1
@@ -1,43 +1,52 @@
1
- import { jsxs as n, jsx as o } from "react/jsx-runtime";
2
- import { BodySecondary as C } from "../../../../TypographyStyle.js";
3
- import { COLORS as b } from "../../../../../constants/Theme.js";
4
- import { BottomBarContainer as h } from "./MultiSelectDropdownBottomBar.styled.js";
5
- import { Button as l } from "../../../../button/Button.js";
6
- const k = (i) => {
7
- const { onClear: s, onApply: p, list: c, buttonText: u, buttonOptions: a, hideClearButton: y } = i, {
8
- primaryButtonText: m,
9
- primaryButtonType: d,
10
- secondaryButtonText: f,
11
- secondaryButtonType: x
12
- } = a ?? {}, r = c.reduce((t, e) => {
1
+ import { jsxs as i, jsx as n } from "react/jsx-runtime";
2
+ import { BodySecondary as b } from "../../../../TypographyStyle.js";
3
+ import { COLORS as g } from "../../../../../constants/Theme.js";
4
+ import { BottomBarContainer as O } from "./MultiSelectDropdownBottomBar.styled.js";
5
+ import { Button as s } from "../../../../button/Button.js";
6
+ const A = (c) => {
7
+ const {
8
+ onClear: p,
9
+ onApply: u,
10
+ list: d,
11
+ buttonText: y,
12
+ buttonOptions: a,
13
+ hideClearButton: m,
14
+ hideSelectedCount: f
15
+ } = c, {
16
+ primaryButtonText: x,
17
+ primaryButtonType: B,
18
+ secondaryButtonText: h,
19
+ secondaryButtonType: T
20
+ } = a ?? {}, l = d.reduce((t, e) => {
13
21
  if (e.options) {
14
- const B = e.options.filter(
15
- (T) => T.selected === !0
22
+ const r = e.options.filter(
23
+ (C) => C.selected === !0
16
24
  ).length;
17
- return t + B;
25
+ return t + r;
18
26
  }
19
- return e.selected ? t + 1 : t;
27
+ const o = e;
28
+ return o.children?.length ? t + o.children.filter((r) => r.selected).length : o.selected ? t + 1 : t;
20
29
  }, 0);
21
- return /* @__PURE__ */ n(h, { style: { justifyContent: "space-between" }, children: [
22
- /* @__PURE__ */ o(C, { style: { flex: 1, color: b.content.primary }, children: r ? `${r} selected` : "" }),
23
- /* @__PURE__ */ n("div", { style: { flexDirection: "row", display: "flex", gap: 12 }, children: [
24
- !y && /* @__PURE__ */ o(
25
- l,
30
+ return /* @__PURE__ */ i(O, { style: { justifyContent: "space-between" }, children: [
31
+ /* @__PURE__ */ n(b, { style: { flex: 1, color: g.content.primary }, children: l && !f ? `${l} selected` : "" }),
32
+ /* @__PURE__ */ i("div", { style: { flexDirection: "row", display: "flex", gap: 12 }, children: [
33
+ !m && /* @__PURE__ */ n(
34
+ s,
26
35
  {
27
36
  size: "small",
28
- buttonType: x || "primary",
29
- buttonText: f || "Clear",
30
- onClick: s
37
+ buttonType: T || "primary",
38
+ buttonText: h || "Clear",
39
+ onClick: p
31
40
  }
32
41
  ),
33
- /* @__PURE__ */ o(
34
- l,
42
+ /* @__PURE__ */ n(
43
+ s,
35
44
  {
36
45
  size: "small",
37
- buttonText: m || u || "Apply",
38
- buttonType: d || "primary",
46
+ buttonText: x || y || "Apply",
47
+ buttonType: B || "primary",
39
48
  onClick: () => {
40
- p();
49
+ u();
41
50
  }
42
51
  }
43
52
  )
@@ -45,6 +54,6 @@ const k = (i) => {
45
54
  ] });
46
55
  };
47
56
  export {
48
- k as default
57
+ A as default
49
58
  };
50
59
  //# sourceMappingURL=MultiSelectDropdownBottomBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectDropdownBottomBar.js","sources":["../../../../../../../src/components/dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.tsx"],"sourcesContent":["import React from 'react';\nimport { Button } from '@src/components/button';\nimport { BodySecondary } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport {\n\tButtonOptions,\n\tDropdownOption,\n\tGroupedOption,\n\tSingleOption,\n} from '../../../type';\nimport { BottomBarContainer } from './MultiSelectDropdownBottomBar.styled';\n\ninterface MultiSelectDropdownBottomBarProps {\n\tonClear?: () => void;\n\tonApply: () => void;\n\tlist: DropdownOption[];\n\tbuttonText?: string;\n\tbuttonOptions?: ButtonOptions;\n\thideClearButton?: boolean;\n}\nconst MultiSelectDropdownBottomBar: React.FC<\n\tMultiSelectDropdownBottomBarProps\n> = (props) => {\n\tconst { onClear, onApply, list, buttonText, buttonOptions, hideClearButton } =\n\t\tprops;\n\tconst {\n\t\tprimaryButtonText,\n\t\tprimaryButtonType,\n\t\tsecondaryButtonText,\n\t\tsecondaryButtonType,\n\t} = buttonOptions ?? {};\n\tconst count = list.reduce((total, option) => {\n\t\tif ((option as GroupedOption).options) {\n\t\t\tconst groupedTotal = (option as GroupedOption).options.filter(\n\t\t\t\t(op) => op.selected === true,\n\t\t\t).length;\n\t\t\treturn total + groupedTotal;\n\t\t}\n\n\t\treturn (option as SingleOption).selected ? total + 1 : total;\n\t}, 0);\n\n\treturn (\n\t\t<BottomBarContainer style={{ justifyContent: 'space-between' }}>\n\t\t\t<BodySecondary style={{ flex: 1, color: COLORS.content.primary }}>\n\t\t\t\t{count ? `${count} selected` : ''}\n\t\t\t</BodySecondary>\n\n\t\t\t<div style={{ flexDirection: 'row', display: 'flex', gap: 12 }}>\n\t\t\t\t{!hideClearButton && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tbuttonType={secondaryButtonType || 'primary'}\n\t\t\t\t\t\tbuttonText={secondaryButtonText || 'Clear'}\n\t\t\t\t\t\tonClick={onClear}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tbuttonText={primaryButtonText || buttonText || 'Apply'}\n\t\t\t\t\tbuttonType={primaryButtonType || 'primary'}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonApply();\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</BottomBarContainer>\n\t);\n};\n\nexport default MultiSelectDropdownBottomBar;\n"],"names":["MultiSelectDropdownBottomBar","props","onClear","onApply","list","buttonText","buttonOptions","hideClearButton","primaryButtonText","primaryButtonType","secondaryButtonText","secondaryButtonType","count","total","option","groupedTotal","op","BottomBarContainer","jsx","BodySecondary","COLORS","jsxs","Button"],"mappings":";;;;;AAoBA,MAAMA,IAEF,CAACC,MAAU;AACd,QAAM,EAAE,SAAAC,GAAS,SAAAC,GAAS,MAAAC,GAAM,YAAAC,GAAY,eAAAC,GAAe,iBAAAC,MAC1DN,GACK;AAAA,IACL,mBAAAO;AAAA,IACA,mBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,qBAAAC;AAAA,EAAA,IACGL,KAAiB,CAAA,GACfM,IAAQR,EAAK,OAAO,CAACS,GAAOC,MAAW;AAC5C,QAAKA,EAAyB,SAAS;AACtC,YAAMC,IAAgBD,EAAyB,QAAQ;AAAA,QACtD,CAACE,MAAOA,EAAG,aAAa;AAAA,MAAA,EACvB;AACF,aAAOH,IAAQE;AAAA,IAChB;AAEA,WAAQD,EAAwB,WAAWD,IAAQ,IAAIA;AAAA,EACxD,GAAG,CAAC;AAEJ,2BACEI,GAAA,EAAmB,OAAO,EAAE,gBAAgB,mBAC5C,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAc,OAAO,EAAE,MAAM,GAAG,OAAOC,EAAO,QAAQ,QAAA,GACrD,UAAAR,IAAQ,GAAGA,CAAK,cAAc,IAChC;AAAA,IAEA,gBAAAS,EAAC,OAAA,EAAI,OAAO,EAAE,eAAe,OAAO,SAAS,QAAQ,KAAK,GAAA,GACxD,UAAA;AAAA,MAAA,CAACd,KACD,gBAAAW;AAAA,QAACI;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,YAAYX,KAAuB;AAAA,UACnC,YAAYD,KAAuB;AAAA,UACnC,SAASR;AAAA,QAAA;AAAA,MAAA;AAAA,MAGX,gBAAAgB;AAAA,QAACI;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,YAAYd,KAAqBH,KAAc;AAAA,UAC/C,YAAYI,KAAqB;AAAA,UACjC,SAAS,MAAM;AACd,YAAAN,EAAA;AAAA,UACD;AAAA,QAAA;AAAA,MAAA;AAAA,IACD,EAAA,CACD;AAAA,EAAA,GACD;AAEF;"}
1
+ {"version":3,"file":"MultiSelectDropdownBottomBar.js","sources":["../../../../../../../src/components/dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.tsx"],"sourcesContent":["import React from 'react';\nimport { Button } from '@src/components/button';\nimport { BodySecondary } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport {\n\tButtonOptions,\n\tDropdownOption,\n\tGroupedOption,\n\tSingleOption,\n} from '../../../type';\nimport { BottomBarContainer } from './MultiSelectDropdownBottomBar.styled';\n\ninterface MultiSelectDropdownBottomBarProps {\n\tonClear?: () => void;\n\tonApply: () => void;\n\tlist: DropdownOption[];\n\tbuttonText?: string;\n\tbuttonOptions?: ButtonOptions;\n\thideClearButton?: boolean;\n\thideSelectedCount?: boolean;\n}\nconst MultiSelectDropdownBottomBar: React.FC<\n\tMultiSelectDropdownBottomBarProps\n> = (props) => {\n\tconst {\n\t\tonClear,\n\t\tonApply,\n\t\tlist,\n\t\tbuttonText,\n\t\tbuttonOptions,\n\t\thideClearButton,\n\t\thideSelectedCount,\n\t} = props;\n\tconst {\n\t\tprimaryButtonText,\n\t\tprimaryButtonType,\n\t\tsecondaryButtonText,\n\t\tsecondaryButtonType,\n\t} = buttonOptions ?? {};\n\tconst count = list.reduce((total, option) => {\n\t\tif ((option as GroupedOption).options) {\n\t\t\tconst groupedTotal = (option as GroupedOption).options.filter(\n\t\t\t\t(op) => op.selected === true,\n\t\t\t).length;\n\t\t\treturn total + groupedTotal;\n\t\t}\n\n\t\tconst singleOption = option as SingleOption;\n\t\t// For a nested option the leaves are what the user picked, so count those\n\t\t// rather than the parent — a partly-selected group would read as zero.\n\t\tif (singleOption.children?.length) {\n\t\t\treturn (\n\t\t\t\ttotal + singleOption.children.filter((child) => child.selected).length\n\t\t\t);\n\t\t}\n\n\t\treturn singleOption.selected ? total + 1 : total;\n\t}, 0);\n\n\treturn (\n\t\t<BottomBarContainer style={{ justifyContent: 'space-between' }}>\n\t\t\t<BodySecondary style={{ flex: 1, color: COLORS.content.primary }}>\n\t\t\t\t{count && !hideSelectedCount ? `${count} selected` : ''}\n\t\t\t</BodySecondary>\n\n\t\t\t<div style={{ flexDirection: 'row', display: 'flex', gap: 12 }}>\n\t\t\t\t{!hideClearButton && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tbuttonType={secondaryButtonType || 'primary'}\n\t\t\t\t\t\tbuttonText={secondaryButtonText || 'Clear'}\n\t\t\t\t\t\tonClick={onClear}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tbuttonText={primaryButtonText || buttonText || 'Apply'}\n\t\t\t\t\tbuttonType={primaryButtonType || 'primary'}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonApply();\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</BottomBarContainer>\n\t);\n};\n\nexport default MultiSelectDropdownBottomBar;\n"],"names":["MultiSelectDropdownBottomBar","props","onClear","onApply","list","buttonText","buttonOptions","hideClearButton","hideSelectedCount","primaryButtonText","primaryButtonType","secondaryButtonText","secondaryButtonType","count","total","option","groupedTotal","op","singleOption","child","BottomBarContainer","jsx","BodySecondary","COLORS","jsxs","Button"],"mappings":";;;;;AAqBA,MAAMA,IAEF,CAACC,MAAU;AACd,QAAM;AAAA,IACL,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,MAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACGP,GACE;AAAA,IACL,mBAAAQ;AAAA,IACA,mBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,qBAAAC;AAAA,EAAA,IACGN,KAAiB,CAAA,GACfO,IAAQT,EAAK,OAAO,CAACU,GAAOC,MAAW;AAC5C,QAAKA,EAAyB,SAAS;AACtC,YAAMC,IAAgBD,EAAyB,QAAQ;AAAA,QACtD,CAACE,MAAOA,EAAG,aAAa;AAAA,MAAA,EACvB;AACF,aAAOH,IAAQE;AAAA,IAChB;AAEA,UAAME,IAAeH;AAGrB,WAAIG,EAAa,UAAU,SAEzBJ,IAAQI,EAAa,SAAS,OAAO,CAACC,MAAUA,EAAM,QAAQ,EAAE,SAI3DD,EAAa,WAAWJ,IAAQ,IAAIA;AAAA,EAC5C,GAAG,CAAC;AAEJ,2BACEM,GAAA,EAAmB,OAAO,EAAE,gBAAgB,mBAC5C,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAc,OAAO,EAAE,MAAM,GAAG,OAAOC,EAAO,QAAQ,QAAA,GACrD,eAAS,CAACf,IAAoB,GAAGK,CAAK,cAAc,IACtD;AAAA,IAEA,gBAAAW,EAAC,OAAA,EAAI,OAAO,EAAE,eAAe,OAAO,SAAS,QAAQ,KAAK,GAAA,GACxD,UAAA;AAAA,MAAA,CAACjB,KACD,gBAAAc;AAAA,QAACI;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,YAAYb,KAAuB;AAAA,UACnC,YAAYD,KAAuB;AAAA,UACnC,SAAST;AAAA,QAAA;AAAA,MAAA;AAAA,MAGX,gBAAAmB;AAAA,QAACI;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,YAAYhB,KAAqBJ,KAAc;AAAA,UAC/C,YAAYK,KAAqB;AAAA,UACjC,SAAS,MAAM;AACd,YAAAP,EAAA;AAAA,UACD;AAAA,QAAA;AAAA,MAAA;AAAA,IACD,EAAA,CACD;AAAA,EAAA,GACD;AAEF;"}
@@ -1,5 +1,6 @@
1
1
  import { DropdownOption, SingleOption } from '../../type';
2
- export declare function iterateOnOptions(options: DropdownOption[], newVal: Partial<SingleOption>, checkCB?: (optionForValidation: SingleOption) => boolean): ({
2
+ export declare function iterateOnOptions(options: DropdownOption[], newVal: Partial<SingleOption>, checkCB?: (optionForValidation: SingleOption) => boolean): (SingleOption | {
3
+ options: SingleOption[];
3
4
  label: string;
4
5
  value: string;
5
6
  description?: string | null | undefined;
@@ -17,23 +18,9 @@ export declare function iterateOnOptions(options: DropdownOption[], newVal: Part
17
18
  'data-test'?: string | undefined;
18
19
  hasDivider?: boolean | undefined;
19
20
  } | {
21
+ options: SingleOption[];
20
22
  label?: string | undefined;
21
- value?: string | undefined;
22
- description?: string | null | undefined;
23
- selected?: boolean | undefined;
24
- disabled?: boolean | undefined;
25
- isFreeForm?: boolean | undefined;
26
- subText?: string | undefined;
27
- trailingIcon?: JSX.Element | undefined;
28
23
  leadingIcon?: JSX.Element | undefined;
29
- customComponent?: JSX.Element | undefined;
30
- searchKey?: string | undefined;
31
- selectedLabel?: string | undefined;
32
- children?: SingleOption[] | undefined;
33
- parent?: SingleOption | undefined;
34
- 'data-test'?: string | undefined;
35
- hasDivider?: boolean | undefined;
36
- options: SingleOption[];
37
24
  })[];
38
25
  export declare function iterateOnOptionsRaw(options: DropdownOption[], cb: (option: SingleOption) => void): void;
39
26
  export declare function getSelectedOptionsAsText(selectedOption: DropdownOption[]): string | undefined;
@@ -1,36 +1,53 @@
1
- function o(t, r, n) {
2
- return t.map((e) => {
3
- if (e.options) {
4
- const i = e.options.map((s) => !n || n(s) ? {
5
- ...s,
6
- ...r
7
- } : { ...s });
1
+ function f(n, e) {
2
+ return n.children?.length ? {
3
+ ...n,
4
+ ...e,
5
+ children: n.children.map(
6
+ (r) => r.disabled ? { ...r } : f(r, e)
7
+ )
8
+ } : { ...n, ...e };
9
+ }
10
+ function l(n, e, r) {
11
+ const i = n.children.map(
12
+ (t) => !r || r(t) ? f(t, e) : t.children?.length ? l(t, e, r) : { ...t }
13
+ );
14
+ return {
15
+ ...n,
16
+ children: i,
17
+ selected: i.every((t) => t.selected)
18
+ };
19
+ }
20
+ function d(n, e, r) {
21
+ return n.map((t) => {
22
+ if (t.options) {
23
+ const a = t.options.map((s) => !r || r(s) ? f(s, e) : s.children?.length ? l(s, e, r) : { ...s });
8
24
  return {
9
- ...e,
10
- options: [...i]
25
+ ...t,
26
+ options: [...a]
11
27
  };
12
28
  }
13
- return !n || n(e) ? {
14
- ...e,
15
- ...r
16
- } : { ...e };
29
+ const u = t;
30
+ return !r || r(u) ? f(u, e) : u.children?.length ? l(u, e, r) : { ...t };
17
31
  });
18
32
  }
19
- function f(t, r) {
20
- t.forEach((n) => {
21
- n.options ? n.options.forEach(r) : r(n);
33
+ function o(n, e) {
34
+ const r = (i) => {
35
+ e(i), i.children?.forEach(r);
36
+ };
37
+ n.forEach((i) => {
38
+ i.options ? i.options.forEach(r) : r(i);
22
39
  });
23
40
  }
24
- function a(t) {
25
- if (!(!t || !t.length))
26
- return t.map((r) => {
27
- const n = r;
28
- return n.selectedLabel ?? n.label;
41
+ function g(n) {
42
+ if (!(!n || !n.length))
43
+ return n.map((e) => {
44
+ const r = e;
45
+ return r.selectedLabel ?? r.label;
29
46
  }).join(", ");
30
47
  }
31
48
  export {
32
- a as getSelectedOptionsAsText,
33
- o as iterateOnOptions,
34
- f as iterateOnOptionsRaw
49
+ g as getSelectedOptionsAsText,
50
+ d as iterateOnOptions,
51
+ o as iterateOnOptionsRaw
35
52
  };
36
53
  //# sourceMappingURL=iterationOnOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iterationOnOptions.js","sources":["../../../../../../src/components/dropdown/OpenedDropdown/utils/iterationOnOptions.ts"],"sourcesContent":["import { DropdownOption, GroupedOption, SingleOption } from '../../type';\n\nexport function iterateOnOptions(\n\toptions: DropdownOption[],\n\tnewVal: Partial<SingleOption>,\n\tcheckCB?: (optionForValidation: SingleOption) => boolean,\n) {\n\tconst newOptions = options.map((option) => {\n\t\tif ((option as GroupedOption).options) {\n\t\t\tconst groupedOptions = (option as GroupedOption).options.map((op) => {\n\t\t\t\tif (!checkCB || checkCB(op)) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...op,\n\t\t\t\t\t\t...newVal,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn { ...op };\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\t...option,\n\t\t\t\toptions: [...groupedOptions],\n\t\t\t};\n\t\t}\n\n\t\tif (!checkCB || checkCB(option as SingleOption)) {\n\t\t\treturn {\n\t\t\t\t...option,\n\t\t\t\t...newVal,\n\t\t\t};\n\t\t}\n\n\t\treturn { ...option };\n\t});\n\n\treturn newOptions;\n}\n\nexport function iterateOnOptionsRaw(\n\toptions: DropdownOption[],\n\tcb: (option: SingleOption) => void,\n) {\n\toptions.forEach((option) => {\n\t\tif ((option as GroupedOption).options) {\n\t\t\t(option as GroupedOption).options.forEach(cb);\n\t\t} else {\n\t\t\tcb(option as SingleOption);\n\t\t}\n\t});\n}\n\nexport function getSelectedOptionsAsText(selectedOption: DropdownOption[]) {\n\tif (!selectedOption || !selectedOption.length) return undefined;\n\treturn selectedOption\n\t\t.map((option) => {\n\t\t\tconst op = option as SingleOption;\n\t\t\treturn op.selectedLabel ?? op.label;\n\t\t})\n\t\t.join(', ');\n}\n\n// get selected options as array of string\nexport function getSelectedOptionsAsArray(selectedOption: DropdownOption[]) {\n\tif (!selectedOption || !selectedOption.length) return [];\n\treturn selectedOption.map((option) => {\n\t\tconst op = option as SingleOption;\n\t\treturn op.selectedLabel ?? op.label;\n\t});\n}\n"],"names":["iterateOnOptions","options","newVal","checkCB","option","groupedOptions","op","iterateOnOptionsRaw","cb","getSelectedOptionsAsText","selectedOption"],"mappings":"AAEO,SAASA,EACfC,GACAC,GACAC,GACC;AA8BD,SA7BmBF,EAAQ,IAAI,CAACG,MAAW;AAC1C,QAAKA,EAAyB,SAAS;AACtC,YAAMC,IAAkBD,EAAyB,QAAQ,IAAI,CAACE,MACzD,CAACH,KAAWA,EAAQG,CAAE,IAClB;AAAA,QACN,GAAGA;AAAA,QACH,GAAGJ;AAAA,MAAA,IAIE,EAAE,GAAGI,EAAA,CACZ;AAED,aAAO;AAAA,QACN,GAAGF;AAAA,QACH,SAAS,CAAC,GAAGC,CAAc;AAAA,MAAA;AAAA,IAE7B;AAEA,WAAI,CAACF,KAAWA,EAAQC,CAAsB,IACtC;AAAA,MACN,GAAGA;AAAA,MACH,GAAGF;AAAA,IAAA,IAIE,EAAE,GAAGE,EAAA;AAAA,EACb,CAAC;AAGF;AAEO,SAASG,EACfN,GACAO,GACC;AACD,EAAAP,EAAQ,QAAQ,CAACG,MAAW;AAC3B,IAAKA,EAAyB,UAC5BA,EAAyB,QAAQ,QAAQI,CAAE,IAE5CA,EAAGJ,CAAsB;AAAA,EAE3B,CAAC;AACF;AAEO,SAASK,EAAyBC,GAAkC;AAC1E,MAAI,GAACA,KAAkB,CAACA,EAAe;AACvC,WAAOA,EACL,IAAI,CAACN,MAAW;AAChB,YAAME,IAAKF;AACX,aAAOE,EAAG,iBAAiBA,EAAG;AAAA,IAC/B,CAAC,EACA,KAAK,IAAI;AACZ;"}
1
+ {"version":3,"file":"iterationOnOptions.js","sources":["../../../../../../src/components/dropdown/OpenedDropdown/utils/iterationOnOptions.ts"],"sourcesContent":["import { DropdownOption, GroupedOption, SingleOption } from '../../type';\n\n/** Applies newVal to an option and, for a nested option, to its whole subtree. */\nfunction applyToSubtree(\n\toption: SingleOption,\n\tnewVal: Partial<SingleOption>,\n): SingleOption {\n\tif (!option.children?.length) {\n\t\treturn { ...option, ...newVal };\n\t}\n\n\treturn {\n\t\t...option,\n\t\t...newVal,\n\t\tchildren: option.children.map((child) =>\n\t\t\tchild.disabled ? { ...child } : applyToSubtree(child, newVal),\n\t\t),\n\t};\n}\n\n/**\n * Walks a nested option: descends into its children, then re-derives the\n * parent's own `selected` from them so a parent reads as selected only when\n * every child is. Keeps selection counts and Select All honest.\n */\nfunction walkChildren(\n\toption: SingleOption,\n\tnewVal: Partial<SingleOption>,\n\tcheckCB?: (optionForValidation: SingleOption) => boolean,\n): SingleOption {\n\tconst children = option.children!.map((child) =>\n\t\t!checkCB || checkCB(child)\n\t\t\t? applyToSubtree(child, newVal)\n\t\t\t: child.children?.length\n\t\t\t? walkChildren(child, newVal, checkCB)\n\t\t\t: { ...child },\n\t);\n\n\treturn {\n\t\t...option,\n\t\tchildren,\n\t\tselected: children.every((child) => child.selected),\n\t};\n}\n\nexport function iterateOnOptions(\n\toptions: DropdownOption[],\n\tnewVal: Partial<SingleOption>,\n\tcheckCB?: (optionForValidation: SingleOption) => boolean,\n) {\n\tconst newOptions = options.map((option) => {\n\t\tif ((option as GroupedOption).options) {\n\t\t\tconst groupedOptions = (option as GroupedOption).options.map((op) => {\n\t\t\t\tif (!checkCB || checkCB(op)) {\n\t\t\t\t\treturn applyToSubtree(op, newVal);\n\t\t\t\t}\n\n\t\t\t\tif (op.children?.length) {\n\t\t\t\t\treturn walkChildren(op, newVal, checkCB);\n\t\t\t\t}\n\n\t\t\t\treturn { ...op };\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\t...option,\n\t\t\t\toptions: [...groupedOptions],\n\t\t\t};\n\t\t}\n\n\t\tconst singleOption = option as SingleOption;\n\n\t\tif (!checkCB || checkCB(singleOption)) {\n\t\t\treturn applyToSubtree(singleOption, newVal);\n\t\t}\n\n\t\tif (singleOption.children?.length) {\n\t\t\treturn walkChildren(singleOption, newVal, checkCB);\n\t\t}\n\n\t\treturn { ...option };\n\t});\n\n\treturn newOptions;\n}\n\nexport function iterateOnOptionsRaw(\n\toptions: DropdownOption[],\n\tcb: (option: SingleOption) => void,\n) {\n\tconst visit = (option: SingleOption) => {\n\t\tcb(option);\n\t\toption.children?.forEach(visit);\n\t};\n\n\toptions.forEach((option) => {\n\t\tif ((option as GroupedOption).options) {\n\t\t\t(option as GroupedOption).options.forEach(visit);\n\t\t} else {\n\t\t\tvisit(option as SingleOption);\n\t\t}\n\t});\n}\n\nexport function getSelectedOptionsAsText(selectedOption: DropdownOption[]) {\n\tif (!selectedOption || !selectedOption.length) return undefined;\n\treturn selectedOption\n\t\t.map((option) => {\n\t\t\tconst op = option as SingleOption;\n\t\t\treturn op.selectedLabel ?? op.label;\n\t\t})\n\t\t.join(', ');\n}\n\n// get selected options as array of string\nexport function getSelectedOptionsAsArray(selectedOption: DropdownOption[]) {\n\tif (!selectedOption || !selectedOption.length) return [];\n\treturn selectedOption.map((option) => {\n\t\tconst op = option as SingleOption;\n\t\treturn op.selectedLabel ?? op.label;\n\t});\n}\n"],"names":["applyToSubtree","option","newVal","child","walkChildren","checkCB","children","iterateOnOptions","options","groupedOptions","op","singleOption","iterateOnOptionsRaw","cb","visit","getSelectedOptionsAsText","selectedOption"],"mappings":"AAGA,SAASA,EACRC,GACAC,GACe;AACf,SAAKD,EAAO,UAAU,SAIf;AAAA,IACN,GAAGA;AAAA,IACH,GAAGC;AAAA,IACH,UAAUD,EAAO,SAAS;AAAA,MAAI,CAACE,MAC9BA,EAAM,WAAW,EAAE,GAAGA,MAAUH,EAAeG,GAAOD,CAAM;AAAA,IAAA;AAAA,EAC7D,IARO,EAAE,GAAGD,GAAQ,GAAGC,EAAA;AAUzB;AAOA,SAASE,EACRH,GACAC,GACAG,GACe;AACf,QAAMC,IAAWL,EAAO,SAAU;AAAA,IAAI,CAACE,MACtC,CAACE,KAAWA,EAAQF,CAAK,IACtBH,EAAeG,GAAOD,CAAM,IAC5BC,EAAM,UAAU,SAChBC,EAAaD,GAAOD,GAAQG,CAAO,IACnC,EAAE,GAAGF,EAAA;AAAA,EAAM;AAGf,SAAO;AAAA,IACN,GAAGF;AAAA,IACH,UAAAK;AAAA,IACA,UAAUA,EAAS,MAAM,CAACH,MAAUA,EAAM,QAAQ;AAAA,EAAA;AAEpD;AAEO,SAASI,EACfC,GACAN,GACAG,GACC;AAkCD,SAjCmBG,EAAQ,IAAI,CAACP,MAAW;AAC1C,QAAKA,EAAyB,SAAS;AACtC,YAAMQ,IAAkBR,EAAyB,QAAQ,IAAI,CAACS,MACzD,CAACL,KAAWA,EAAQK,CAAE,IAClBV,EAAeU,GAAIR,CAAM,IAG7BQ,EAAG,UAAU,SACTN,EAAaM,GAAIR,GAAQG,CAAO,IAGjC,EAAE,GAAGK,EAAA,CACZ;AAED,aAAO;AAAA,QACN,GAAGT;AAAA,QACH,SAAS,CAAC,GAAGQ,CAAc;AAAA,MAAA;AAAA,IAE7B;AAEA,UAAME,IAAeV;AAErB,WAAI,CAACI,KAAWA,EAAQM,CAAY,IAC5BX,EAAeW,GAAcT,CAAM,IAGvCS,EAAa,UAAU,SACnBP,EAAaO,GAAcT,GAAQG,CAAO,IAG3C,EAAE,GAAGJ,EAAA;AAAA,EACb,CAAC;AAGF;AAEO,SAASW,EACfJ,GACAK,GACC;AACD,QAAMC,IAAQ,CAACb,MAAyB;AACvC,IAAAY,EAAGZ,CAAM,GACTA,EAAO,UAAU,QAAQa,CAAK;AAAA,EAC/B;AAEA,EAAAN,EAAQ,QAAQ,CAACP,MAAW;AAC3B,IAAKA,EAAyB,UAC5BA,EAAyB,QAAQ,QAAQa,CAAK,IAE/CA,EAAMb,CAAsB;AAAA,EAE9B,CAAC;AACF;AAEO,SAASc,EAAyBC,GAAkC;AAC1E,MAAI,GAACA,KAAkB,CAACA,EAAe;AACvC,WAAOA,EACL,IAAI,CAACf,MAAW;AAChB,YAAMS,IAAKT;AACX,aAAOS,EAAG,iBAAiBA,EAAG;AAAA,IAC/B,CAAC,EACA,KAAK,IAAI;AACZ;"}
@@ -8,7 +8,8 @@ export declare const useDropdown: (version: string | undefined, options: Dropdow
8
8
  searchedOptions: DropdownOption[];
9
9
  searchError: string | undefined;
10
10
  retrySearch: () => void;
11
- onApplyHandler: (optionSelect: SingleOption, returnOnly?: boolean) => ({
11
+ onApplyHandler: (optionSelect: SingleOption, returnOnly?: boolean) => (SingleOption | {
12
+ options: SingleOption[];
12
13
  label: string;
13
14
  value: string;
14
15
  description?: string | null | undefined;
@@ -26,23 +27,9 @@ export declare const useDropdown: (version: string | undefined, options: Dropdow
26
27
  'data-test'?: string | undefined;
27
28
  hasDivider?: boolean | undefined;
28
29
  } | {
30
+ options: SingleOption[];
29
31
  label?: string | undefined;
30
- value?: string | undefined;
31
- description?: string | null | undefined;
32
- selected?: boolean | undefined;
33
- disabled?: boolean | undefined;
34
- isFreeForm?: boolean | undefined;
35
- subText?: string | undefined;
36
- trailingIcon?: JSX.Element | undefined;
37
32
  leadingIcon?: JSX.Element | undefined;
38
- customComponent?: JSX.Element | undefined;
39
- searchKey?: string | undefined;
40
- selectedLabel?: string | undefined;
41
- children?: SingleOption[] | undefined;
42
- parent?: SingleOption | undefined;
43
- 'data-test'?: string | undefined;
44
- hasDivider?: boolean | undefined;
45
- options: SingleOption[];
46
33
  })[] | undefined;
47
34
  selectAllHandler: (newState: SelectAllCheckboxState) => void;
48
35
  onMultiSelectClear: () => void;