@embeddable.com/remarkable-ui 0.1.35 → 0.1.36

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 (39) hide show
  1. package/dist/ComparisonPeriodSelectFieldPro.js +2 -2
  2. package/dist/DateRangeSelectFieldPro.js +1 -1
  3. package/dist/EditorCard-VE-lXcu3.js +76 -0
  4. package/dist/EditorCard-VE-lXcu3.js.map +1 -0
  5. package/dist/MultiSelectFieldPro.js +1 -1
  6. package/dist/SingleSelectField-Dzx78rCq.js +107 -0
  7. package/dist/SingleSelectField-Dzx78rCq.js.map +1 -0
  8. package/dist/SingleSelectFieldPro.js +1 -1
  9. package/dist/component.constants-D59iJ42U.js.map +1 -1
  10. package/dist/embeddable-components.json +11 -11
  11. package/dist/{index-CWufi8Tg.js → index-BlqpkSit.js} +3 -3
  12. package/dist/{index-CWufi8Tg.js.map → index-BlqpkSit.js.map} +1 -1
  13. package/dist/index-CVw4TFfQ.js +220 -0
  14. package/dist/index-CVw4TFfQ.js.map +1 -0
  15. package/dist/{index-D10laZQ1.js → index-IjB-3gUH.js} +3 -3
  16. package/dist/{index-D10laZQ1.js.map → index-IjB-3gUH.js.map} +1 -1
  17. package/dist/index.js +6 -6
  18. package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.d.ts +2 -2
  19. package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.d.ts.map +1 -1
  20. package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.stories.d.ts +1 -0
  21. package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.stories.d.ts.map +1 -1
  22. package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.d.ts +2 -2
  23. package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.d.ts.map +1 -1
  24. package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.d.ts +1 -0
  25. package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.d.ts.map +1 -1
  26. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListCategory/SelectListCategory.d.ts +7 -0
  27. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListCategory/SelectListCategory.d.ts.map +1 -0
  28. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOption/SelectListOption.d.ts +3 -0
  29. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOption/SelectListOption.d.ts.map +1 -1
  30. package/dist/remarkable-ui/editors/select/shared/SelectList/selectList.utils.d.ts +7 -0
  31. package/dist/remarkable-ui/editors/select/shared/SelectList/selectList.utils.d.ts.map +1 -0
  32. package/dist/remarkable-ui.css +1 -1
  33. package/package.json +1 -1
  34. package/dist/EditorCard-B7s7sQ-B.js +0 -62
  35. package/dist/EditorCard-B7s7sQ-B.js.map +0 -1
  36. package/dist/SingleSelectField-DXVRxF0n.js +0 -96
  37. package/dist/SingleSelectField-DXVRxF0n.js.map +0 -1
  38. package/dist/index-Ba7NiFTr.js +0 -209
  39. package/dist/index-Ba7NiFTr.js.map +0 -1
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "components": [
3
- "MultiSelectFieldPro",
3
+ "DateRangeSelectFieldPro",
4
+ "ComparisonPeriodSelectFieldPro",
5
+ "BarChartGroupedPro",
6
+ "BarChartGroupedHorizontalPro",
7
+ "BarChartDefaultPro",
4
8
  "SingleSelectFieldPro",
9
+ "BarChartDefaultHorizontalPro",
10
+ "BarChartStackedHorizontalPro",
11
+ "MultiSelectFieldPro",
12
+ "LineChartComparisonDefaultPro",
5
13
  "KpiChartNumberPro",
6
- "LineChartGroupedPro",
7
- "BarChartGroupedPro",
8
- "ComparisonPeriodSelectFieldPro",
9
14
  "LineChartDefaultPro",
10
15
  "KpiChartNumberComparisonPro",
16
+ "DonutChartPro",
11
17
  "DonutLabelChartPro",
12
- "BarChartDefaultPro",
13
- "BarChartStackedHorizontalPro",
14
- "BarChartDefaultHorizontalPro",
15
- "BarChartGroupedHorizontalPro",
18
+ "LineChartGroupedPro",
16
19
  "PieChartPro",
17
- "DateRangeSelectFieldPro",
18
- "DonutChartPro",
19
- "LineChartComparisonDefaultPro",
20
20
  "BarChartStackedPro",
21
21
  "TableChartPaginated"
22
22
  ],
@@ -1,9 +1,9 @@
1
1
  import { ac as S, a2 as R, r as b, j as d, U as O } from "./component.constants-D59iJ42U.js";
2
2
  import { useTheme as j } from "@embeddable.com/react";
3
3
  import { useState as C, useEffect as c } from "react";
4
- import { S as y } from "./SingleSelectField-DXVRxF0n.js";
4
+ import { S as y } from "./SingleSelectField-Dzx78rCq.js";
5
5
  import { g as x, u as F } from "./editors.timeRange.utils-D9m6B3r1.js";
6
- import { E as T } from "./EditorCard-B7s7sQ-B.js";
6
+ import { E as T } from "./EditorCard-VE-lXcu3.js";
7
7
  /**
8
8
  * @license @tabler/icons-react v3.35.0 - MIT
9
9
  *
@@ -53,4 +53,4 @@ export {
53
53
  z as D,
54
54
  A as i
55
55
  };
56
- //# sourceMappingURL=index-CWufi8Tg.js.map
56
+ //# sourceMappingURL=index-BlqpkSit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-CWufi8Tg.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarFilled.mjs","../src/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils.ts","../src/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 1.993 -.117l.007 .117v1h6v-1a1 1 0 0 1 1 -1zm3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16v-9.625z\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M12 12a1 1 0 0 1 .993 .883l.007 .117v3a1 1 0 0 1 -1.993 .117l-.007 -.117v-2a1 1 0 0 1 -.117 -1.993l.117 -.007h1z\", \"key\": \"svg-1\" }]];\nconst IconCalendarFilled = createReactComponent(\"filled\", \"calendar-filled\", \"CalendarFilled\", __iconNode);\n\nexport { __iconNode, IconCalendarFilled as default };\n//# sourceMappingURL=IconCalendarFilled.mjs.map\n","import { DateRangeSelectFieldProOption } from './DateRangeSelectFieldPro.types';\nimport { SelectListOptionProps } from '../../../../remarkable-ui';\nimport { getTimeRangeLabel } from '../editors.timeRange.utils';\nimport { resolveI18nString } from '../../component.utils';\n\nexport const getDateRangeSelectFieldProOptions = (\n dateRangeSelectFieldProOptions: DateRangeSelectFieldProOption[],\n): SelectListOptionProps[] => {\n return dateRangeSelectFieldProOptions.map((option) => {\n return {\n rightLabel: getTimeRangeLabel(option.getRange(), option.dateFormat),\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '../../../../remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils.ts/date.utils';\nimport { getDateRangeSelectFieldProOptions } from './DateRangeSelectFieldPro.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarFilled } from '@tabler/icons-react';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { useEffect, useState } from 'react';\n\ntype DateRangeSelectFieldProProps = {\n description?: string;\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue: TimeRange;\n title?: string;\n};\n\nconst DateRangeSelectFieldPro = (props: DateRangeSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n const { selectedValue, onChange } = props;\n const [internalValue, setInternalValue] = useState<string | undefined>(\n selectedValue?.relativeTimeString,\n );\n\n // When updation the selectedValue in the builder, the defined value value can:\n // 1. exist in the options: relativeTimeString converted into TimeRange and onChange is called with the TimeRange\n // 2. not exist in the options: onChange is called with undefined (resets)\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n\n const selectedValueRelativeTimeString = selectedValue?.relativeTimeString;\n\n useEffect(() => {\n if (!selectedValueRelativeTimeString) return;\n\n const matchedOption = dateRangeOptions.find(\n (option) => option.value === selectedValueRelativeTimeString,\n );\n\n setInternalValue(matchedOption ? matchedOption.value : undefined);\n }, [selectedValueRelativeTimeString, dateRangeOptions]);\n\n useEffect(() => {\n if (!selectedValue && !internalValue) return;\n\n const matchedOption = dateRangeOptions.find((option) => option.value === internalValue);\n\n const newChangeValue = matchedOption ? matchedOption.getRange() : undefined;\n\n onChange(newChangeValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalValue, dateRangeOptions]);\n\n useEffect(() => {\n if (!selectedValue) {\n setInternalValue(undefined);\n }\n }, [selectedValue]);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title } = resolveI18nProps(props);\n\n const options = getDateRangeSelectFieldProOptions(dateRangeOptions);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n startIcon={IconCalendarFilled}\n isClearable\n placeholder={placeholder}\n value={internalValue}\n onChange={(value) => setInternalValue(value || undefined)}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n />\n </EditorCard>\n );\n};\n\nexport default DateRangeSelectFieldPro;\n"],"names":["__iconNode","IconCalendarFilled","createReactComponent","getDateRangeSelectFieldProOptions","dateRangeSelectFieldProOptions","option","getTimeRangeLabel","resolveI18nString","DateRangeSelectFieldPro","props","theme","useTheme","dayjsLocaleReady","useLoadDayjsLocale","selectedValue","onChange","internalValue","setInternalValue","useState","dateRangeOptions","selectedValueRelativeTimeString","useEffect","matchedOption","newChangeValue","description","placeholder","title","resolveI18nProps","options","jsx","EditorCard","SingleSelectField","value","i18n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,iWAAiW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,oHAAoH,KAAO,QAAO,CAAE,CAAC,GACviBC,IAAqBC,EAAqB,UAAU,mBAAmB,kBAAkBF,CAAU,GCL5FG,IAAoC,CAC/CC,MAEOA,EAA+B,IAAI,CAACC,OAClC;AAAA,EACL,YAAYC,EAAkBD,EAAO,SAAA,GAAYA,EAAO,UAAU;AAAA,EAClE,OAAOA,EAAO;AAAA,EACd,OAAOE,EAAkBF,EAAO,KAAK;AAAA,EAExC,GCMGG,IAA0B,CAACC,MAAwC;AACvE,QAAMC,IAAeC,EAAA,GACf,EAAE,kBAAAC,EAAA,IAAqBC,EAAA,GAEvB,EAAE,eAAAC,GAAe,UAAAC,EAAA,IAAaN,GAC9B,CAACO,GAAeC,CAAgB,IAAIC;AAAA,IACxCJ,KAAA,gBAAAA,EAAe;AAAA,EAAA,GAOXK,IAAmBT,EAAM,SAAS,mBAElCU,IAAkCN,KAAA,gBAAAA,EAAe;AA6BvD,MA3BAO,EAAU,MAAM;AACd,QAAI,CAACD,EAAiC;AAEtC,UAAME,IAAgBH,EAAiB;AAAA,MACrC,CAACd,MAAWA,EAAO,UAAUe;AAAA,IAAA;AAG/B,IAAAH,EAAiBK,IAAgBA,EAAc,QAAQ,MAAS;AAAA,EAClE,GAAG,CAACF,GAAiCD,CAAgB,CAAC,GAEtDE,EAAU,MAAM;AACd,QAAI,CAACP,KAAiB,CAACE,EAAe;AAEtC,UAAMM,IAAgBH,EAAiB,KAAK,CAACd,MAAWA,EAAO,UAAUW,CAAa,GAEhFO,IAAiBD,IAAgBA,EAAc,SAAA,IAAa;AAElE,IAAAP,EAASQ,CAAc;AAAA,EAEzB,GAAG,CAACP,GAAeG,CAAgB,CAAC,GAEpCE,EAAU,MAAM;AACd,IAAKP,KACHG,EAAiB,MAAS;AAAA,EAE9B,GAAG,CAACH,CAAa,CAAC,GAEd,CAACF;AACH,WAAO;AAGT,QAAM,EAAE,aAAAY,GAAa,aAAAC,GAAa,OAAAC,EAAA,IAAUC,EAAiBlB,CAAK,GAE5DmB,IAAUzB,EAAkCgB,CAAgB;AAElE,SACEU,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAJ,GAAc,UAAUF,GAClC,UAAAK,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAW9B;AAAA,MACX,aAAW;AAAA,MACX,aAAAwB;AAAA,MACA,OAAOT;AAAA,MACP,UAAU,CAACgB,MAAUf,EAAiBe,KAAS,MAAS;AAAA,MACxD,SAAAJ;AAAA,MACA,kBAAkBK,EAAK,EAAE,2BAA2B;AAAA,IAAA;AAAA,EAAA,GAExD;AAEJ;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index-BlqpkSit.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarFilled.mjs","../src/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils.ts","../src/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 1.993 -.117l.007 .117v1h6v-1a1 1 0 0 1 1 -1zm3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16v-9.625z\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M12 12a1 1 0 0 1 .993 .883l.007 .117v3a1 1 0 0 1 -1.993 .117l-.007 -.117v-2a1 1 0 0 1 -.117 -1.993l.117 -.007h1z\", \"key\": \"svg-1\" }]];\nconst IconCalendarFilled = createReactComponent(\"filled\", \"calendar-filled\", \"CalendarFilled\", __iconNode);\n\nexport { __iconNode, IconCalendarFilled as default };\n//# sourceMappingURL=IconCalendarFilled.mjs.map\n","import { DateRangeSelectFieldProOption } from './DateRangeSelectFieldPro.types';\nimport { SelectListOptionProps } from '../../../../remarkable-ui';\nimport { getTimeRangeLabel } from '../editors.timeRange.utils';\nimport { resolveI18nString } from '../../component.utils';\n\nexport const getDateRangeSelectFieldProOptions = (\n dateRangeSelectFieldProOptions: DateRangeSelectFieldProOption[],\n): SelectListOptionProps[] => {\n return dateRangeSelectFieldProOptions.map((option) => {\n return {\n rightLabel: getTimeRangeLabel(option.getRange(), option.dateFormat),\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '../../../../remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils.ts/date.utils';\nimport { getDateRangeSelectFieldProOptions } from './DateRangeSelectFieldPro.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarFilled } from '@tabler/icons-react';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { useEffect, useState } from 'react';\n\ntype DateRangeSelectFieldProProps = {\n description?: string;\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue: TimeRange;\n title?: string;\n};\n\nconst DateRangeSelectFieldPro = (props: DateRangeSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n const { selectedValue, onChange } = props;\n const [internalValue, setInternalValue] = useState<string | undefined>(\n selectedValue?.relativeTimeString,\n );\n\n // When updation the selectedValue in the builder, the defined value value can:\n // 1. exist in the options: relativeTimeString converted into TimeRange and onChange is called with the TimeRange\n // 2. not exist in the options: onChange is called with undefined (resets)\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n\n const selectedValueRelativeTimeString = selectedValue?.relativeTimeString;\n\n useEffect(() => {\n if (!selectedValueRelativeTimeString) return;\n\n const matchedOption = dateRangeOptions.find(\n (option) => option.value === selectedValueRelativeTimeString,\n );\n\n setInternalValue(matchedOption ? matchedOption.value : undefined);\n }, [selectedValueRelativeTimeString, dateRangeOptions]);\n\n useEffect(() => {\n if (!selectedValue && !internalValue) return;\n\n const matchedOption = dateRangeOptions.find((option) => option.value === internalValue);\n\n const newChangeValue = matchedOption ? matchedOption.getRange() : undefined;\n\n onChange(newChangeValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalValue, dateRangeOptions]);\n\n useEffect(() => {\n if (!selectedValue) {\n setInternalValue(undefined);\n }\n }, [selectedValue]);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title } = resolveI18nProps(props);\n\n const options = getDateRangeSelectFieldProOptions(dateRangeOptions);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n startIcon={IconCalendarFilled}\n isClearable\n placeholder={placeholder}\n value={internalValue}\n onChange={(value) => setInternalValue(value || undefined)}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n />\n </EditorCard>\n );\n};\n\nexport default DateRangeSelectFieldPro;\n"],"names":["__iconNode","IconCalendarFilled","createReactComponent","getDateRangeSelectFieldProOptions","dateRangeSelectFieldProOptions","option","getTimeRangeLabel","resolveI18nString","DateRangeSelectFieldPro","props","theme","useTheme","dayjsLocaleReady","useLoadDayjsLocale","selectedValue","onChange","internalValue","setInternalValue","useState","dateRangeOptions","selectedValueRelativeTimeString","useEffect","matchedOption","newChangeValue","description","placeholder","title","resolveI18nProps","options","jsx","EditorCard","SingleSelectField","value","i18n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,iWAAiW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,oHAAoH,KAAO,QAAO,CAAE,CAAC,GACviBC,IAAqBC,EAAqB,UAAU,mBAAmB,kBAAkBF,CAAU,GCL5FG,IAAoC,CAC/CC,MAEOA,EAA+B,IAAI,CAACC,OAClC;AAAA,EACL,YAAYC,EAAkBD,EAAO,SAAA,GAAYA,EAAO,UAAU;AAAA,EAClE,OAAOA,EAAO;AAAA,EACd,OAAOE,EAAkBF,EAAO,KAAK;AAAA,EAExC,GCMGG,IAA0B,CAACC,MAAwC;AACvE,QAAMC,IAAeC,EAAA,GACf,EAAE,kBAAAC,EAAA,IAAqBC,EAAA,GAEvB,EAAE,eAAAC,GAAe,UAAAC,EAAA,IAAaN,GAC9B,CAACO,GAAeC,CAAgB,IAAIC;AAAA,IACxCJ,KAAA,gBAAAA,EAAe;AAAA,EAAA,GAOXK,IAAmBT,EAAM,SAAS,mBAElCU,IAAkCN,KAAA,gBAAAA,EAAe;AA6BvD,MA3BAO,EAAU,MAAM;AACd,QAAI,CAACD,EAAiC;AAEtC,UAAME,IAAgBH,EAAiB;AAAA,MACrC,CAACd,MAAWA,EAAO,UAAUe;AAAA,IAAA;AAG/B,IAAAH,EAAiBK,IAAgBA,EAAc,QAAQ,MAAS;AAAA,EAClE,GAAG,CAACF,GAAiCD,CAAgB,CAAC,GAEtDE,EAAU,MAAM;AACd,QAAI,CAACP,KAAiB,CAACE,EAAe;AAEtC,UAAMM,IAAgBH,EAAiB,KAAK,CAACd,MAAWA,EAAO,UAAUW,CAAa,GAEhFO,IAAiBD,IAAgBA,EAAc,SAAA,IAAa;AAElE,IAAAP,EAASQ,CAAc;AAAA,EAEzB,GAAG,CAACP,GAAeG,CAAgB,CAAC,GAEpCE,EAAU,MAAM;AACd,IAAKP,KACHG,EAAiB,MAAS;AAAA,EAE9B,GAAG,CAACH,CAAa,CAAC,GAEd,CAACF;AACH,WAAO;AAGT,QAAM,EAAE,aAAAY,GAAa,aAAAC,GAAa,OAAAC,EAAA,IAAUC,EAAiBlB,CAAK,GAE5DmB,IAAUzB,EAAkCgB,CAAgB;AAElE,SACEU,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAJ,GAAc,UAAUF,GAClC,UAAAK,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAW9B;AAAA,MACX,aAAW;AAAA,MACX,aAAAwB;AAAA,MACA,OAAOT;AAAA,MACP,UAAU,CAACgB,MAAUf,EAAiBe,KAAS,MAAS;AAAA,MACxD,SAAAJ;AAAA,MACA,kBAAkBK,EAAK,EAAE,2BAA2B;AAAA,IAAA;AAAA,EAAA,GAExD;AAEJ;;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,220 @@
1
+ import { ac as $, j as t, ae as J, ag as K, af as X, ao as G, ar as H, as as Q, ap as M, aq as W, an as Y, r as Z, U as ee } from "./component.constants-D59iJ42U.js";
2
+ import { g as te } from "./formatter.utils-DDLdrAl9.js";
3
+ import { useTheme as se } from "@embeddable.com/react";
4
+ import { u as le, d as ae, g as ne, I as oe, S as ce, a as ie, E as re } from "./EditorCard-VE-lXcu3.js";
5
+ import { useState as y, useRef as ue, useEffect as k, useMemo as q } from "react";
6
+ /**
7
+ * @license @tabler/icons-react v3.35.0 - MIT
8
+ *
9
+ * This source code is licensed under the MIT license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */
12
+ const de = [["path", { d: "M3 3m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z", key: "svg-0" }]], P = $("outline", "square", "Square", de);
13
+ /**
14
+ * @license @tabler/icons-react v3.35.0 - MIT
15
+ *
16
+ * This source code is licensed under the MIT license.
17
+ * See the LICENSE file in the root directory of this source tree.
18
+ */
19
+ const me = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.626 7.293a1 1 0 0 0 -1.414 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z", key: "svg-0" }]], D = $("filled", "square-check-filled", "SquareCheckFilled", me), be = "_icon_14m1u_1", xe = "_buttonMedium_14m1u_6", pe = "_buttonSmall_14m1u_14", he = "_buttonText_14m1u_22", _e = "_buttonTextMedium_14m1u_26", fe = "_buttonTextSmall_14m1u_35", x = {
20
+ icon: be,
21
+ buttonMedium: xe,
22
+ buttonSmall: pe,
23
+ buttonText: he,
24
+ buttonTextMedium: _e,
25
+ buttonTextSmall: fe
26
+ }, je = ({
27
+ variant: d,
28
+ startIcon: m,
29
+ endIcon: o,
30
+ children: b,
31
+ size: i,
32
+ ...c
33
+ }) => /* @__PURE__ */ t.jsxs(
34
+ J,
35
+ {
36
+ variant: d,
37
+ ...c,
38
+ className: i === "medium" ? x.buttonMedium : x.buttonSmall,
39
+ size: i,
40
+ children: [
41
+ m && /* @__PURE__ */ t.jsx(m, { className: x.icon }),
42
+ /* @__PURE__ */ t.jsx(
43
+ K,
44
+ {
45
+ as: "span",
46
+ className: X(
47
+ x.buttonText,
48
+ x[`buttonText${i.charAt(0).toUpperCase() + i.slice(1)}`]
49
+ ),
50
+ children: b
51
+ }
52
+ ),
53
+ o && /* @__PURE__ */ t.jsx(o, { className: x.icon })
54
+ ]
55
+ }
56
+ ), ge = "_submitButton_gpe2a_1", Se = "_selectField_gpe2a_5", E = {
57
+ submitButton: ge,
58
+ selectField: Se
59
+ }, ve = ({
60
+ disabled: d,
61
+ isClearable: m,
62
+ isLoading: o,
63
+ isSearchable: b,
64
+ noOptionsMessage: i,
65
+ options: c,
66
+ placeholder: j,
67
+ submitLabel: O = "Apply",
68
+ values: s = [],
69
+ onChange: g,
70
+ onSearch: a,
71
+ error: p = !1,
72
+ errorMessage: h
73
+ }) => {
74
+ const [S, _] = y(!1), [f, r] = y(""), [u, C] = y(s), [A, B] = y(""), N = ue(null);
75
+ le(S, N), k(() => {
76
+ C(s);
77
+ }, [JSON.stringify(s)]), k(() => {
78
+ if (o)
79
+ return;
80
+ if (!s || s.length === 0) {
81
+ B("");
82
+ return;
83
+ }
84
+ const e = s.map(
85
+ (l) => {
86
+ var n;
87
+ return ((n = c.find((F) => F.value === l)) == null ? void 0 : n.label) ?? l;
88
+ }
89
+ );
90
+ if (e.length > 0) {
91
+ const l = e.join(", ");
92
+ B(`(${e.length}) ${l}`);
93
+ }
94
+ }, [s, c, o]);
95
+ const T = q(() => a ? ae(a) : void 0, [a]), v = b && !a ? c.filter((e) => e.label.toLowerCase().includes(f.toLowerCase())) : c, I = q(() => ne(v), [v]), R = u.every((e) => s.includes(e)) && s.every((e) => u.includes(e)), L = (e, l) => {
96
+ e.preventDefault(), l && (u.includes(l) ? C(u.filter((n) => n !== l)) : C([...u, l]));
97
+ }, V = (e) => {
98
+ r(e), T == null || T(e);
99
+ }, w = (e) => {
100
+ g(e), _(!1), r(""), a == null || a("");
101
+ }, z = () => {
102
+ r(""), a == null || a(""), g([]);
103
+ }, U = p || !!h;
104
+ return /* @__PURE__ */ t.jsxs("div", { className: E.selectField, children: [
105
+ /* @__PURE__ */ t.jsx(
106
+ G,
107
+ {
108
+ open: S,
109
+ onOpenChange: _,
110
+ disabled: d,
111
+ triggerComponent: /* @__PURE__ */ t.jsx(
112
+ W,
113
+ {
114
+ "aria-label": "Select options",
115
+ placeholder: j,
116
+ disabled: d,
117
+ valueLabel: A,
118
+ onClear: z,
119
+ isClearable: m,
120
+ isLoading: o,
121
+ error: U
122
+ }
123
+ ),
124
+ children: /* @__PURE__ */ t.jsxs(H, { children: [
125
+ b && /* @__PURE__ */ t.jsx(
126
+ Q,
127
+ {
128
+ ref: N,
129
+ startIcon: oe,
130
+ "aria-label": "Search options",
131
+ placeholder: "Search…",
132
+ role: "searchbox",
133
+ value: f,
134
+ onKeyDown: (e) => e.stopPropagation(),
135
+ onChange: V
136
+ }
137
+ ),
138
+ /* @__PURE__ */ t.jsxs(ce, { disabled: o, children: [
139
+ I ? Object.entries(I).map(([e, l]) => /* @__PURE__ */ t.jsxs("div", { children: [
140
+ /* @__PURE__ */ t.jsx(ie, { label: e }),
141
+ l.map((n) => /* @__PURE__ */ t.jsx(
142
+ M,
143
+ {
144
+ onClick: (F) => L(F, n.value),
145
+ startIcon: u.includes(n.value) ? /* @__PURE__ */ t.jsx(D, {}) : /* @__PURE__ */ t.jsx(P, {}),
146
+ ...n
147
+ },
148
+ (n == null ? void 0 : n.value) ?? n.label
149
+ ))
150
+ ] }, e)) : v.map((e) => /* @__PURE__ */ t.jsx(
151
+ M,
152
+ {
153
+ onClick: (l) => L(l, e.value),
154
+ startIcon: u.includes(e.value) ? /* @__PURE__ */ t.jsx(D, {}) : /* @__PURE__ */ t.jsx(P, {}),
155
+ ...e
156
+ },
157
+ (e == null ? void 0 : e.value) ?? e.label
158
+ )),
159
+ i && v.length === 0 && /* @__PURE__ */ t.jsx(M, { disabled: !0, value: "empty", label: i })
160
+ ] }),
161
+ /* @__PURE__ */ t.jsx(
162
+ je,
163
+ {
164
+ className: E.submitButton,
165
+ disabled: R || o,
166
+ variant: "primary",
167
+ size: "medium",
168
+ onClick: () => w(u),
169
+ role: "button",
170
+ children: O
171
+ }
172
+ )
173
+ ] })
174
+ }
175
+ ),
176
+ h && /* @__PURE__ */ t.jsx(Y, { message: h })
177
+ ] });
178
+ }, ye = 200, Oe = (d) => {
179
+ var _, f;
180
+ const m = se(), o = te(m), {
181
+ title: b,
182
+ description: i,
183
+ dimension: c,
184
+ optionalSecondDimension: j,
185
+ placeholder: O,
186
+ results: s,
187
+ selectedValues: g,
188
+ setSearchValue: a,
189
+ onChange: p
190
+ } = Z(d), h = ((_ = s.data) == null ? void 0 : _.map((r) => ({
191
+ value: j ? r[j.name] : r[c.name],
192
+ label: o.data(c, r[c.name])
193
+ }))) ?? [], S = !s.isLoading && (((f = s.data) == null ? void 0 : f.length) ?? 0) === 0;
194
+ return /* @__PURE__ */ t.jsx(re, { title: b, subtitle: i, children: /* @__PURE__ */ t.jsx(
195
+ ve,
196
+ {
197
+ isClearable: !0,
198
+ isSearchable: !0,
199
+ isLoading: s.isLoading,
200
+ values: g ?? [],
201
+ options: h,
202
+ placeholder: O,
203
+ noOptionsMessage: S ? ee.t("common.noOptionsFound") : void 0,
204
+ onChange: (r) => p == null ? void 0 : p(r),
205
+ onSearch: a
206
+ }
207
+ ) });
208
+ }, Ne = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
209
+ __proto__: null,
210
+ MAX_OPTIONS: ye,
211
+ default: Oe
212
+ }, Symbol.toStringTag, { value: "Module" }));
213
+ export {
214
+ je as B,
215
+ ye as M,
216
+ Oe as a,
217
+ ve as b,
218
+ Ne as i
219
+ };
220
+ //# sourceMappingURL=index-CVw4TFfQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CVw4TFfQ.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconSquare.mjs","../node_modules/@tabler/icons-react/dist/esm/icons/IconSquareCheckFilled.mjs","../src/remarkable-ui/shared/Button/Button.tsx","../src/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.tsx","../src/remarkable-pro/components/editors/MultiSelectFieldPro/index.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M3 3m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z\", \"key\": \"svg-0\" }]];\nconst IconSquare = createReactComponent(\"outline\", \"square\", \"Square\", __iconNode);\n\nexport { __iconNode, IconSquare as default };\n//# sourceMappingURL=IconSquare.mjs.map\n","/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.626 7.293a1 1 0 0 0 -1.414 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z\", \"key\": \"svg-0\" }]];\nconst IconSquareCheckFilled = createReactComponent(\"filled\", \"square-check-filled\", \"SquareCheckFilled\", __iconNode);\n\nexport { __iconNode, IconSquareCheckFilled as default };\n//# sourceMappingURL=IconSquareCheckFilled.mjs.map\n","import { TablerIcon } from '@tabler/icons-react';\nimport styles from './Button.module.css';\nimport { BaseButton, type BaseButtonProps } from '../BaseButton';\nimport { Typography } from '../Typography/Typography';\nimport clsx from 'clsx';\n\ntype ButtonProps = BaseButtonProps & {\n startIcon?: TablerIcon;\n endIcon?: TablerIcon;\n children: string;\n size: 'small' | 'medium';\n};\n\nexport const Button: React.FC<ButtonProps> = ({\n variant,\n startIcon: StartIcon,\n endIcon: EndIcon,\n children,\n size,\n ...props\n}) => {\n return (\n <BaseButton\n variant={variant}\n {...props}\n className={size === 'medium' ? styles.buttonMedium : styles.buttonSmall}\n size={size}\n >\n {StartIcon && <StartIcon className={styles.icon} />}\n <Typography\n as=\"span\"\n className={clsx(\n styles.buttonText,\n styles[`buttonText${size.charAt(0).toUpperCase() + size.slice(1)}`],\n )}\n >\n {children}\n </Typography>\n {EndIcon && <EndIcon className={styles.icon} />}\n </BaseButton>\n );\n};\n","import { FC, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n SelectListOption,\n SelectListOptionProps,\n SelectListOptionPropsWithCategory,\n} from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';\nimport { SelectListCategory } from '../shared/SelectList/SelectListOptions/SelectListCategory/SelectListCategory';\nimport { debounce } from '../../../utils/debounce.utils';\nimport { Dropdown } from '../../../shared/Dropdown/Dropdown';\nimport { SelectButton } from '../shared/SelectButton/SelectButton';\nimport { SelectList } from '../shared/SelectList/SelectList';\nimport { groupOptionsByCategory } from '../shared/SelectList/selectList.utils';\nimport { TextField } from '../../TextField/TextField';\nimport { SelectListOptions } from '../shared/SelectList/SelectListOptions/SelectListOptions';\nimport { IconSearch, IconSquare, IconSquareCheckFilled } from '@tabler/icons-react';\nimport { Button } from '../../../shared/Button/Button';\nimport styles from './MultiSelectField.module.css';\nimport { useSelectSearchFocus } from '../shared/useSelectSearchFocus.hook';\nimport { FieldErrorMessage } from '../../../shared/FieldErrorMessage/FieldErrorMessage';\n\nexport type MultiSelectFieldProps = {\n disabled?: boolean;\n isClearable?: boolean;\n isLoading?: boolean;\n isSearchable?: boolean;\n noOptionsMessage?: string;\n options: (SelectListOptionProps | SelectListOptionPropsWithCategory)[];\n placeholder?: string;\n submitLabel?: string;\n values?: string[];\n onChange: (value: string[]) => void;\n onSearch?: (search: string) => void;\n error?: boolean;\n errorMessage?: string;\n};\n\nexport const MultiSelectField: FC<MultiSelectFieldProps> = ({\n disabled,\n isClearable,\n isLoading,\n isSearchable,\n noOptionsMessage,\n options,\n placeholder,\n submitLabel = 'Apply',\n values = [],\n onChange,\n onSearch,\n error = false,\n errorMessage,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [searchValue, setSearchValue] = useState<string>('');\n const [preValues, setPreValues] = useState<string[]>(values);\n const [selectedLabel, setSelectedLabel] = useState<string>('');\n\n const searchFieldRef = useRef<HTMLInputElement>(null);\n useSelectSearchFocus(isOpen, searchFieldRef);\n\n useEffect(() => {\n setPreValues(values);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(values)]);\n\n useEffect(() => {\n if (isLoading) {\n return;\n }\n\n if (!values || values.length === 0) {\n setSelectedLabel('');\n return;\n }\n const selectedOptions = values.map(\n (value) => options.find((o) => o.value === value)?.label ?? value,\n );\n\n if (selectedOptions.length > 0) {\n const newLabel = selectedOptions.join(', ');\n setSelectedLabel(`(${selectedOptions.length}) ${newLabel}`);\n }\n }, [values, options, isLoading]);\n\n const debouncedSearch = useMemo(() => (onSearch ? debounce(onSearch) : undefined), [onSearch]);\n\n const displayOptions =\n isSearchable && !onSearch\n ? options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase()))\n : options;\n\n const groupedOptions = useMemo(() => groupOptionsByCategory(displayOptions), [displayOptions]);\n\n const isSubmitDisabled =\n preValues.every((preValue) => values.includes(preValue)) &&\n values.every((value) => preValues.includes(value));\n\n const handleSelectOption = (\n e: React.MouseEvent<HTMLDivElement, MouseEvent>,\n newValue?: string,\n ) => {\n e.preventDefault();\n\n if (!newValue) return;\n\n if (preValues.includes(newValue)) {\n setPreValues(preValues.filter((v) => v !== newValue));\n } else {\n setPreValues([...preValues, newValue]);\n }\n };\n\n const handleSearch = (newSearch: string) => {\n setSearchValue(newSearch);\n debouncedSearch?.(newSearch);\n };\n\n const handleSave = (newValues: string[]) => {\n onChange(newValues);\n setIsOpen(false);\n setSearchValue('');\n onSearch?.('');\n };\n\n const handleClearAll = () => {\n setSearchValue('');\n onSearch?.('');\n onChange([]);\n };\n\n const hasError = error || !!errorMessage;\n\n return (\n <div className={styles.selectField}>\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n disabled={disabled}\n triggerComponent={\n <SelectButton\n aria-label=\"Select options\"\n placeholder={placeholder}\n disabled={disabled}\n valueLabel={selectedLabel}\n onClear={handleClearAll}\n isClearable={isClearable}\n isLoading={isLoading}\n error={hasError}\n />\n }\n >\n <SelectList>\n {isSearchable && (\n <TextField\n ref={searchFieldRef}\n startIcon={IconSearch}\n aria-label=\"Search options\"\n placeholder=\"Search…\"\n role=\"searchbox\"\n value={searchValue}\n onKeyDown={(e) => e.stopPropagation()}\n onChange={handleSearch}\n />\n )}\n <SelectListOptions disabled={isLoading}>\n {groupedOptions\n ? Object.entries(groupedOptions).map(([category, categoryOptions]) => (\n <div key={category}>\n <SelectListCategory label={category} />\n {categoryOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={(e) => handleSelectOption(e, option.value)}\n startIcon={\n preValues.includes(option.value!) ? (\n <IconSquareCheckFilled />\n ) : (\n <IconSquare />\n )\n }\n {...option}\n />\n ))}\n </div>\n ))\n : displayOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={(e) => handleSelectOption(e, option.value)}\n startIcon={\n preValues.includes(option.value!) ? <IconSquareCheckFilled /> : <IconSquare />\n }\n {...option}\n />\n ))}\n {noOptionsMessage && displayOptions.length === 0 && (\n <SelectListOption disabled value=\"empty\" label={noOptionsMessage} />\n )}\n </SelectListOptions>\n <Button\n className={styles.submitButton}\n disabled={isSubmitDisabled || isLoading}\n variant=\"primary\"\n size=\"medium\"\n onClick={() => handleSave(preValues)}\n role=\"button\"\n >\n {submitLabel}\n </Button>\n </SelectList>\n </Dropdown>\n {errorMessage && <FieldErrorMessage message={errorMessage} />}\n </div>\n );\n};\n","import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { MultiSelectField } from '../../../../remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\ntype MultiSelectFieldProProps = {\n title?: string;\n description?: string;\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValues: string[];\n maxOptions?: number;\n setSearchValue: (search: string) => void;\n onChange?: (newValues: string[]) => void;\n};\n\nconst MultiSelectFieldPro = (props: MultiSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValues,\n setSearchValue,\n onChange,\n } = resolveI18nProps(props);\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <MultiSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n values={selectedValues ?? []}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValues) => onChange?.(newValues)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default MultiSelectFieldPro;\n"],"names":["__iconNode","IconSquare","createReactComponent","IconSquareCheckFilled","Button","variant","StartIcon","EndIcon","children","size","props","jsxs","BaseButton","styles","jsx","Typography","clsx","MultiSelectField","disabled","isClearable","isLoading","isSearchable","noOptionsMessage","options","placeholder","submitLabel","values","onChange","onSearch","error","errorMessage","isOpen","setIsOpen","useState","searchValue","setSearchValue","preValues","setPreValues","selectedLabel","setSelectedLabel","searchFieldRef","useRef","useSelectSearchFocus","useEffect","selectedOptions","value","_a","o","newLabel","debouncedSearch","useMemo","debounce","displayOptions","option","groupedOptions","groupOptionsByCategory","isSubmitDisabled","preValue","handleSelectOption","newValue","v","handleSearch","newSearch","handleSave","newValues","handleClearAll","hasError","Dropdown","SelectButton","SelectList","TextField","IconSearch","SelectListOptions","category","categoryOptions","SelectListCategory","SelectListOption","e","FieldErrorMessage","MAX_OPTIONS","MultiSelectFieldPro","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","results","selectedValues","resolveI18nProps","data","showNoOptionsMessage","_b","EditorCard","i18n"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,8 +1,8 @@
1
1
  import { r as b, j as i, U as O } from "./component.constants-D59iJ42U.js";
2
- import { S as j } from "./SingleSelectField-DXVRxF0n.js";
2
+ import { S as j } from "./SingleSelectField-Dzx78rCq.js";
3
3
  import { g as x } from "./formatter.utils-DDLdrAl9.js";
4
4
  import { useTheme as v } from "@embeddable.com/react";
5
- import { E as F } from "./EditorCard-B7s7sQ-B.js";
5
+ import { E as F } from "./EditorCard-VE-lXcu3.js";
6
6
  const M = 200, _ = (l) => {
7
7
  var a, r;
8
8
  const m = v(), c = x(m), {
@@ -43,4 +43,4 @@ export {
43
43
  _ as S,
44
44
  C as i
45
45
  };
46
- //# sourceMappingURL=index-D10laZQ1.js.map
46
+ //# sourceMappingURL=index-IjB-3gUH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-D10laZQ1.js","sources":["../src/remarkable-pro/components/editors/SingleSelectFieldPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { SingleSelectField } from '../../../../remarkable-ui/editors/select/SingleSelectField/SingleSelectField';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\n\nexport const MAX_OPTIONS = 200;\n\ntype SingleSelectFieldProProps = {\n title?: string;\n description?: string;\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue: string;\n maxOptions?: number;\n setSearchValue: (search: string) => void;\n onChange?: (selectedValue: string) => void;\n};\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValue,\n setSearchValue,\n onChange,\n } = resolveI18nProps(props);\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue) => onChange?.(newValue)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","placeholder","results","selectedValue","setSearchValue","onChange","resolveI18nProps","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue"],"mappings":";;;;;AASO,MAAMA,IAAc,KAerBC,IAAuB,CAACC,MAAqC;;AACjE,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GAExC;AAAA,IACJ,OAAAI;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,MACJC,IAAAN,EAAQ,SAAR,gBAAAM,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOT,IAA0BS,EAAKT,EAAwB,IAAI,IAAIS,EAAKV,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWU,EAAKV,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFW,IAA+B,CAACR,EAAQ,gBAAcS,IAAAT,EAAQ,SAAR,gBAAAS,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,UAAUC,GAClC,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,WAAWZ,EAAQ;AAAA,MACnB,OAAOC;AAAA,MACP,SAAAI;AAAA,MACA,aAAAN;AAAA,MACA,kBAAkBS,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAaX,KAAA,gBAAAA,EAAWW;AAAA,MACnC,UAAUZ;AAAA,IAAA;AAAA,EAAA,GAEd;AAEJ;;;;;"}
1
+ {"version":3,"file":"index-IjB-3gUH.js","sources":["../src/remarkable-pro/components/editors/SingleSelectFieldPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { SingleSelectField } from '../../../../remarkable-ui/editors/select/SingleSelectField/SingleSelectField';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\n\nexport const MAX_OPTIONS = 200;\n\ntype SingleSelectFieldProProps = {\n title?: string;\n description?: string;\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue: string;\n maxOptions?: number;\n setSearchValue: (search: string) => void;\n onChange?: (selectedValue: string) => void;\n};\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValue,\n setSearchValue,\n onChange,\n } = resolveI18nProps(props);\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue) => onChange?.(newValue)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","placeholder","results","selectedValue","setSearchValue","onChange","resolveI18nProps","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue"],"mappings":";;;;;AASO,MAAMA,IAAc,KAerBC,IAAuB,CAACC,MAAqC;;AACjE,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GAExC;AAAA,IACJ,OAAAI;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,MACJC,IAAAN,EAAQ,SAAR,gBAAAM,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOT,IAA0BS,EAAKT,EAAwB,IAAI,IAAIS,EAAKV,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWU,EAAKV,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFW,IAA+B,CAACR,EAAQ,gBAAcS,IAAAT,EAAQ,SAAR,gBAAAS,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,UAAUC,GAClC,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,WAAWZ,EAAQ;AAAA,MACnB,OAAOC;AAAA,MACP,SAAAI;AAAA,MACA,aAAAN;AAAA,MACA,kBAAkBS,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAaX,KAAA,gBAAAA,EAAWW;AAAA,MACnC,UAAUZ;AAAA,IAAA;AAAA,EAAA,GAEd;AAEJ;;;;;"}
package/dist/index.js CHANGED
@@ -2,10 +2,10 @@ import { C as xs, S as bs } from "./ChartCard-Cr2L2Uki.js";
2
2
  import { j as s, ae as v, af as u, ag as _, ah as S, ai as I, aj as N, ak as T, al as $ } from "./component.constants-D59iJ42U.js";
3
3
  import { am as _s, au as fs, ao as Cs, an as gs, a0 as ys, at as js, av as ws, aq as vs, ar as Ss, ap as Is, a4 as Ns, a5 as Ts, ax as $s, as as Ps, T as ks, d as As, aw as Ls, c as Bs, z as Ms, aJ as Ds, ab as Fs, W as Rs, b as zs, aI as Os, a7 as Ws, aK as Es, Y as Ks, Z as qs, aa as Gs, X as Hs, F as Vs, C as Xs, a6 as Us, U as Ys, i as Js, a3 as Zs, A as Qs, w as sa, a as aa, ad as ea, r as ta, p as na, h as oa, s as ia, g as ra, e as ca, aL as la, B as ua, f as ma, aE as ha, a9 as da, a1 as xa, aD as ba, aF as pa, aC as _a, aA as fa, aG as Ca, aB as ga, ay as ya, az as ja, a8 as wa, aH as va, t as Sa, x as Ia, v as Na, l as Ta, k as $a, y as Pa, n as ka, u as Aa, q as La } from "./component.constants-D59iJ42U.js";
4
4
  import { useRef as P, useState as k, useEffect as A } from "react";
5
- import { E as Ma, S as Da } from "./EditorCard-B7s7sQ-B.js";
6
- import { B as g } from "./index-Ba7NiFTr.js";
7
- import { b as Ra, i as za } from "./index-Ba7NiFTr.js";
8
- import { S as Wa } from "./SingleSelectField-DXVRxF0n.js";
5
+ import { E as Ma, S as Da } from "./EditorCard-VE-lXcu3.js";
6
+ import { B as g } from "./index-CVw4TFfQ.js";
7
+ import { b as Ra, i as za } from "./index-CVw4TFfQ.js";
8
+ import { S as Wa } from "./SingleSelectField-Dzx78rCq.js";
9
9
  import { K as Ka } from "./KpiChart-PRQV9-IW.js";
10
10
  import { r as Ga, s as Ha } from "./charts.utils-BFYHGiMZ.js";
11
11
  import { g as Xa } from "./object.utils-BNKDL7Y9.js";
@@ -14,8 +14,8 @@ import { a as Za, g as Qa } from "./pies.utils-D6CRlUd4.js";
14
14
  import { i as ae } from "./index-BsjrQxtw.js";
15
15
  import { i as te } from "./index-DWhYhJ0M.js";
16
16
  import { i as oe } from "./index-fW1psiZu.js";
17
- import { i as re } from "./index-D10laZQ1.js";
18
- import { i as le } from "./index-CWufi8Tg.js";
17
+ import { i as re } from "./index-IjB-3gUH.js";
18
+ import { i as le } from "./index-BlqpkSit.js";
19
19
  import { C as me } from "./ComparisonPeriod.type.emb-C7ixEJKv.js";
20
20
  import { i as de, s as xe } from "./color.utils-CVyp-fGP.js";
21
21
  const L = "_container_436fl_1", B = "_column_436fl_10", M = "_box_436fl_20", D = "_short_436fl_26", F = "_tall_436fl_34", e = {
@@ -1,12 +1,12 @@
1
1
  import { FC } from 'react';
2
- import { SelectListOptionProps } from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';
2
+ import { SelectListOptionProps, SelectListOptionPropsWithCategory } from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';
3
3
  export type MultiSelectFieldProps = {
4
4
  disabled?: boolean;
5
5
  isClearable?: boolean;
6
6
  isLoading?: boolean;
7
7
  isSearchable?: boolean;
8
8
  noOptionsMessage?: string;
9
- options: SelectListOptionProps[];
9
+ options: (SelectListOptionProps | SelectListOptionPropsWithCategory)[];
10
10
  placeholder?: string;
11
11
  submitLabel?: string;
12
12
  values?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectField.d.ts","sourceRoot":"","sources":["../../../../../src/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAwC,MAAM,OAAO,CAAC;AACjE,OAAO,EAEL,qBAAqB,EACtB,MAAM,0EAA0E,CAAC;AAalF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA2JtD,CAAC"}
1
+ {"version":3,"file":"MultiSelectField.d.ts","sourceRoot":"","sources":["../../../../../src/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAwC,MAAM,OAAO,CAAC;AACjE,OAAO,EAEL,qBAAqB,EACrB,iCAAiC,EAClC,MAAM,0EAA0E,CAAC;AAelF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,CAAC,qBAAqB,GAAG,iCAAiC,CAAC,EAAE,CAAC;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAiLtD,CAAC"}
@@ -11,4 +11,5 @@ export declare const NoOptions: Story;
11
11
  export declare const WithState: Story;
12
12
  export declare const WithError: Story;
13
13
  export declare const WithErrorAndValue: Story;
14
+ export declare const WithCategories: Story;
14
15
  //# sourceMappingURL=MultiSelectField.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectField.stories.d.ts","sourceRoot":"","sources":["../../../../../src/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAKhE,QAAA,MAAM,IAAI;;CAE+B,CAAC;AAE1C,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAenC,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAmBvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAU/B,CAAC"}
1
+ {"version":3,"file":"MultiSelectField.stories.d.ts","sourceRoot":"","sources":["../../../../../src/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAQhE,QAAA,MAAM,IAAI;;CAE+B,CAAC;AAE1C,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAenC,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAmBvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAU/B,CAAC;AAeF,eAAO,MAAM,cAAc,EAAE,KAQ5B,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { FC } from 'react';
2
- import { SelectListOptionProps } from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';
2
+ import { SelectListOptionProps, SelectListOptionPropsWithCategory } from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';
3
3
  import { TablerIcon } from '@tabler/icons-react';
4
4
  export type SingleSelectFieldProps = {
5
- options: SelectListOptionProps[];
5
+ options: (SelectListOptionProps | SelectListOptionPropsWithCategory)[];
6
6
  startIcon?: TablerIcon;
7
7
  value?: string;
8
8
  disabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"SingleSelectField.d.ts","sourceRoot":"","sources":["../../../../../src/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAwC,MAAM,OAAO,CAAC;AAMjE,OAAO,EAEL,qBAAqB,EACtB,MAAM,0EAA0E,CAAC;AAElF,OAAO,EAAc,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAK7D,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAgHxD,CAAC"}
1
+ {"version":3,"file":"SingleSelectField.d.ts","sourceRoot":"","sources":["../../../../../src/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAwC,MAAM,OAAO,CAAC;AAMjE,OAAO,EAEL,qBAAqB,EACrB,iCAAiC,EAClC,MAAM,0EAA0E,CAAC;AAIlF,OAAO,EAAc,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAK7D,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,CAAC,qBAAqB,GAAG,iCAAiC,CAAC,EAAE,CAAC;IACvE,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAgIxD,CAAC"}
@@ -14,4 +14,5 @@ export declare const WithStartIcon: Story;
14
14
  export declare const WithState: Story;
15
15
  export declare const WithError: Story;
16
16
  export declare const WithErrorAndValue: Story;
17
+ export declare const WithCategories: Story;
17
18
  //# sourceMappingURL=SingleSelectField.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SingleSelectField.stories.d.ts","sourceRoot":"","sources":["../../../../../src/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAMhE,QAAA,MAAM,IAAI;;CAEgC,CAAC;AAE3C,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAkDnC,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,+CAU/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,+CAUhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,+CAUrC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAU3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAmBvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAU/B,CAAC"}
1
+ {"version":3,"file":"SingleSelectField.stories.d.ts","sourceRoot":"","sources":["../../../../../src/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAShE,QAAA,MAAM,IAAI;;CAEgC,CAAC;AAE3C,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAkDnC,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,+CAU/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,+CAUhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,+CAUrC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAU3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAmBvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAU/B,CAAC;AAeF,eAAO,MAAM,cAAc,EAAE,KAQ5B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ type SelectListCategoryProps = {
3
+ label: string;
4
+ };
5
+ export declare const SelectListCategory: FC<SelectListCategoryProps>;
6
+ export {};
7
+ //# sourceMappingURL=SelectListCategory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectListCategory.d.ts","sourceRoot":"","sources":["../../../../../../../../src/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListCategory/SelectListCategory.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,KAAK,uBAAuB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAM1D,CAAC"}
@@ -10,6 +10,9 @@ export type SelectListOptionProps = {
10
10
  disabled?: boolean;
11
11
  onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
12
12
  };
13
+ export type SelectListOptionPropsWithCategory = SelectListOptionProps & {
14
+ category: string;
15
+ };
13
16
  export declare const SelectListOption: FC<SelectListOptionProps>;
14
17
  export {};
15
18
  //# sourceMappingURL=SelectListOption.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectListOption.d.ts","sourceRoot":"","sources":["../../../../../../../../src/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOption/SelectListOption.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKxD,KAAK,oBAAoB,GACrB,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAC3C,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAE5D,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;CAC7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA0BtD,CAAC"}
1
+ {"version":3,"file":"SelectListOption.d.ts","sourceRoot":"","sources":["../../../../../../../../src/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOption/SelectListOption.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKxD,KAAK,oBAAoB,GACrB,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAC3C,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAE5D,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;CAC7D,CAAC;AACF,MAAM,MAAM,iCAAiC,GAAG,qBAAqB,GAAG;IACtE,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA0BtD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { SelectListOptionProps, SelectListOptionPropsWithCategory } from './SelectListOptions/SelectListOption/SelectListOption';
2
+ type GroupedOptions = {
3
+ [category: string]: SelectListOptionPropsWithCategory[];
4
+ };
5
+ export declare const groupOptionsByCategory: (options: (SelectListOptionProps | SelectListOptionPropsWithCategory)[]) => GroupedOptions | null;
6
+ export {};
7
+ //# sourceMappingURL=selectList.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectList.utils.d.ts","sourceRoot":"","sources":["../../../../../../src/remarkable-ui/editors/select/shared/SelectList/selectList.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,iCAAiC,EAClC,MAAM,uDAAuD,CAAC;AAE/D,KAAK,cAAc,GAAG;IACpB,CAAC,QAAQ,EAAE,MAAM,GAAG,iCAAiC,EAAE,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,SAAS,CAAC,qBAAqB,GAAG,iCAAiC,CAAC,EAAE,KACrE,cAAc,GAAG,IAcnB,CAAC"}