@trilogy-ds/react 4.14.0-datepicker-native → 4.14.0-dropdown

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 (112) hide show
  1. package/lib/components/autocomplete/Autocomplete.helpers.js +1 -1
  2. package/lib/components/box/Box.native.js +5 -8
  3. package/lib/components/box/header/BoxHeaderPropsDefaults.js +18 -2
  4. package/lib/components/button/list/ButtonListProps.d.ts +2 -2
  5. package/lib/components/button/list/ButtonListWebPropsDefaults.js +9 -1
  6. package/lib/components/calendar/Calendar.native.js +7 -7
  7. package/lib/components/card/Card.native.js +7 -11
  8. package/lib/components/checkbox/list/CheckboxList.js +1 -1
  9. package/lib/components/checkbox/list/CheckboxListProps.d.ts +3 -3
  10. package/lib/components/checkbox/list/CheckboxListWebPropsDefaults.js +9 -1
  11. package/lib/components/checkbox/tiles/CheckboxTilesPropsDefaults.js +18 -2
  12. package/lib/components/columns/ColumnsPropsDefaults.js +18 -2
  13. package/lib/components/columns/column/Column.native.js +2 -2
  14. package/lib/components/columns/column/ColumnPropsDefaults.js +18 -2
  15. package/lib/components/datepicker/DatePicker.native.js +11 -11
  16. package/lib/components/dropdown/Dropdown.d.ts +13 -0
  17. package/lib/components/dropdown/Dropdown.js +88 -0
  18. package/lib/components/dropdown/Dropdown.native.d.ts +4 -0
  19. package/lib/components/dropdown/Dropdown.native.js +8 -0
  20. package/lib/components/dropdown/DropdownProps.d.ts +15 -0
  21. package/lib/components/dropdown/DropdownProps.js +2 -0
  22. package/lib/components/dropdown/DropdownPropsDefaults.js +53 -0
  23. package/lib/components/dropdown/context/DropdownContext.d.ts +15 -0
  24. package/lib/components/dropdown/context/DropdownContext.js +35 -0
  25. package/lib/components/dropdown/context/index.d.ts +1 -0
  26. package/lib/components/dropdown/context/index.js +2 -0
  27. package/lib/components/dropdown/group/DropdownGroup.d.ts +12 -0
  28. package/lib/components/dropdown/group/DropdownGroup.js +24 -0
  29. package/lib/components/dropdown/group/DropdownGroup.native.d.ts +4 -0
  30. package/lib/components/dropdown/group/DropdownGroup.native.js +8 -0
  31. package/lib/components/dropdown/group/DropdownGroupProps.d.ts +14 -0
  32. package/lib/components/dropdown/group/DropdownGroupProps.js +2 -0
  33. package/lib/components/dropdown/group/DropdownGroupPropsDefaults.js +52 -0
  34. package/lib/components/dropdown/group/index.d.ts +2 -0
  35. package/lib/components/dropdown/group/index.js +3 -0
  36. package/lib/components/dropdown/index.d.ts +6 -0
  37. package/lib/components/dropdown/index.js +7 -0
  38. package/lib/components/dropdown/item/DropdownItem.d.ts +12 -0
  39. package/lib/components/dropdown/item/DropdownItem.js +46 -0
  40. package/lib/components/dropdown/item/DropdownItem.native.d.ts +4 -0
  41. package/lib/components/dropdown/item/DropdownItem.native.js +8 -0
  42. package/lib/components/dropdown/item/DropdownItemProps.d.ts +15 -0
  43. package/lib/components/dropdown/item/DropdownItemProps.js +2 -0
  44. package/lib/components/dropdown/item/DropdownItemPropsDefaults.js +93 -0
  45. package/lib/components/dropdown/item/index.d.ts +2 -0
  46. package/lib/components/dropdown/item/index.js +3 -0
  47. package/lib/components/dropdown/trigger/DropdownTrigger.d.ts +13 -0
  48. package/lib/components/dropdown/trigger/DropdownTrigger.js +61 -0
  49. package/lib/components/dropdown/trigger/DropdownTrigger.native.d.ts +4 -0
  50. package/lib/components/dropdown/trigger/DropdownTrigger.native.js +8 -0
  51. package/lib/components/dropdown/trigger/DropdownTriggerProps.d.ts +13 -0
  52. package/lib/components/dropdown/trigger/DropdownTriggerProps.js +2 -0
  53. package/lib/components/dropdown/trigger/DropdownTriggerPropsDefaults.js +44 -0
  54. package/lib/components/dropdown/trigger/index.d.ts +2 -0
  55. package/lib/components/dropdown/trigger/index.js +3 -0
  56. package/lib/components/enumsComponentsName.d.ts +4 -0
  57. package/lib/components/enumsComponentsName.js +5 -1
  58. package/lib/components/flex-box/FlexBoxPropsDefaults.js +2 -2
  59. package/lib/components/flex-box/flex-item/FlexItemPropsDefaults.js +18 -2
  60. package/lib/components/icon/Icon.native.js +4 -9
  61. package/lib/components/image/ImagePropsDefaults.js +18 -2
  62. package/lib/components/index.d.ts +1 -0
  63. package/lib/components/index.js +2 -1
  64. package/lib/components/price/PricePropsDefaults.js +18 -2
  65. package/lib/components/progress/index.js +1 -1
  66. package/lib/components/progress/radial/ProgressRadial.native.js +3 -7
  67. package/lib/components/progress/radial/ProgressRadialPropsDefaults.js +18 -2
  68. package/lib/components/radio/EventHandlerDefaults.js +21 -0
  69. package/lib/components/radio/Radio.js +3 -3
  70. package/lib/components/radio/Radio.native.d.ts +2 -2
  71. package/lib/components/radio/Radio.native.js +1 -1
  72. package/lib/components/radio/RadioNativePropsDefaults.js +9 -0
  73. package/lib/components/radio/RadioProps.d.ts +9 -2
  74. package/lib/components/radio/list/RadioList.js +1 -1
  75. package/lib/components/radio/list/RadioListProps.d.ts +2 -2
  76. package/lib/components/radio/list/RadioListWebPropsDefaults.js +9 -1
  77. package/lib/components/radio/tiles/RadioTilesPropsDefaults.js +18 -2
  78. package/lib/components/radio/tiles/tile/RadioTile.js +3 -3
  79. package/lib/components/radio/tiles/tile/RadioTile.native.d.ts +2 -2
  80. package/lib/components/radio/tiles/tile/RadioTileNativePropsDefaults.js +104 -0
  81. package/lib/components/radio/tiles/tile/RadioTileProps.d.ts +8 -3
  82. package/lib/components/radio/tiles/tile/RadioTilePropsCommonDefaults.js +97 -0
  83. package/lib/components/radio/tiles/tile/RadioTilePropsDefaults.js +81 -81
  84. package/lib/components/segment-control/SegmentControlProps.d.ts +2 -2
  85. package/lib/components/segment-control/SegmentControlPropsDefaults.js +9 -1
  86. package/lib/components/select/Select.native.js +3 -3
  87. package/lib/components/skeleton/Skeleton.d.ts +17 -0
  88. package/lib/components/skeleton/Skeleton.js +19 -0
  89. package/lib/components/skeleton/Skeleton.native.d.ts +16 -0
  90. package/lib/components/skeleton/Skeleton.native.js +70 -0
  91. package/lib/components/skeleton/SkeletonProps.d.ts +13 -0
  92. package/lib/components/skeleton/SkeletonProps.js +2 -0
  93. package/lib/components/skeleton/SkeletonPropsDefaults.js +80 -0
  94. package/lib/components/skeleton/index.d.ts +3 -0
  95. package/lib/components/skeleton/index.js +4 -0
  96. package/lib/components/tabs/TabsPropsDefaults.js +18 -2
  97. package/lib/components/tabs/tab-list/TabListProps.d.ts +2 -2
  98. package/lib/components/tabs/tab-list/TabListPropsDefaults.js +9 -1
  99. package/lib/components/tabs/tab-list/tab/Tab.native.js +5 -5
  100. package/lib/components/tag/list/TagListProps.d.ts +2 -2
  101. package/lib/components/tag/list/TagListPropsDefaults.js +9 -1
  102. package/lib/components/text/Text.native.js +7 -8
  103. package/lib/components/title/Title.native.js +4 -8
  104. package/lib/components/view/ViewPropsDefaults.js +30 -3
  105. package/lib/helpers/require.js +1 -1
  106. package/lib/objects/facets/Alignable.d.ts +10 -3
  107. package/lib/objects/facets/Alignable.js +10 -5
  108. package/lib/objects/facets/Justifiable.d.ts +11 -4
  109. package/lib/objects/facets/Justifiable.js +31 -28
  110. package/lib/version.d.ts +1 -1
  111. package/lib/version.js +2 -2
  112. package/package.json +6 -2
@@ -0,0 +1,88 @@
1
+ import { __assign, __rest } from "tslib";
2
+ import { ComponentName } from '../../components/enumsComponentsName';
3
+ import { useTrilogyContext } from '../../context';
4
+ import { hashClass } from '../../helpers/hashClassesHelpers';
5
+ import { is } from '../../services/classify';
6
+ import clsx from 'clsx';
7
+ import * as React from 'react';
8
+ import { DropdownProvider, useDropdownContext } from './context';
9
+ import DropdownTrigger from './trigger/DropdownTrigger';
10
+ /**
11
+ * Internal Dropdown Content Component that uses the context
12
+ */
13
+ var DropdownContent = React.forwardRef(function (_a, ref) {
14
+ var children = _a.children, className = _a.className, testId = _a.testId, others = __rest(_a, ["children", "className", "testId"]);
15
+ var styled = useTrilogyContext().styled;
16
+ var dropdownRef = React.useRef(null);
17
+ var menuRef = React.useRef(null);
18
+ var hasDropdownTrigger = React.Children.toArray(children).some(function (child) { return React.isValidElement(child) && child.type === DropdownTrigger; });
19
+ var isOpen = useDropdownContext().isOpen;
20
+ React.useEffect(function () {
21
+ if (!isOpen || !dropdownRef.current || !menuRef.current)
22
+ return;
23
+ var dropdown = dropdownRef.current;
24
+ var menu = menuRef.current;
25
+ var checkPosition = function () {
26
+ var rect = dropdown.getBoundingClientRect();
27
+ var viewportHeight = window.innerHeight;
28
+ var spaceBelow = viewportHeight - rect.bottom - 8;
29
+ var spaceAbove = rect.top - 8;
30
+ var menuHeight = 300;
31
+ if (spaceBelow < menuHeight && spaceAbove >= menuHeight) {
32
+ menu.setAttribute('data-position', 'upward');
33
+ }
34
+ else {
35
+ menu.removeAttribute('data-position');
36
+ }
37
+ };
38
+ requestAnimationFrame(checkPosition);
39
+ }, [isOpen]);
40
+ var classes = hashClass(styled, clsx('dropdown', isOpen && is('active'), !hasDropdownTrigger && 'dropdown-manual', className));
41
+ var triggerChildren = [];
42
+ var contentChildren = [];
43
+ if (hasDropdownTrigger) {
44
+ React.Children.forEach(children, function (child) {
45
+ if (React.isValidElement(child) && child.type === DropdownTrigger) {
46
+ triggerChildren.push(child);
47
+ }
48
+ else {
49
+ contentChildren.push(child);
50
+ }
51
+ });
52
+ }
53
+ return (React.createElement("div", __assign({ ref: function (node) {
54
+ if (dropdownRef.current !== node) {
55
+ dropdownRef.current = node;
56
+ }
57
+ if (typeof ref === 'function') {
58
+ ref(node);
59
+ }
60
+ else if (ref) {
61
+ ref.current = node;
62
+ }
63
+ }, className: classes, "data-testid": testId }, others),
64
+ hasDropdownTrigger ? triggerChildren : null,
65
+ React.createElement("div", { ref: menuRef, className: hashClass(styled, 'dropdown-menu') },
66
+ React.createElement("div", { className: hashClass(styled, 'dropdown-content') }, hasDropdownTrigger ? contentChildren : children))));
67
+ });
68
+ /**
69
+ * Dropdown Component - Wrapper for dropdown menu with automatic state management
70
+ * @param children {React.ReactNode} Children (DropdownTrigger, DropdownItem and DropdownGroup)
71
+ * @param isActive {boolean} Dropdown active/open state (for manual control)
72
+ * @param defaultOpen {boolean} Initial open state (for automatic control)
73
+ * @param onToggle {Function} Callback when dropdown state changes (for automatic control)
74
+ * @param className {string} Additional CSS classes
75
+ * @param testId {string} Test ID
76
+ */
77
+ var Dropdown = React.forwardRef(function (_a, ref) {
78
+ var children = _a.children, isActive = _a.isActive, defaultOpen = _a.defaultOpen, onToggle = _a.onToggle, className = _a.className, testId = _a.testId, others = __rest(_a, ["children", "isActive", "defaultOpen", "onToggle", "className", "testId"]);
79
+ var hasDropdownTrigger = React.Children.toArray(children).some(function (child) { return React.isValidElement(child) && child.type === DropdownTrigger; });
80
+ var useTrigger = defaultOpen !== undefined || onToggle !== undefined || hasDropdownTrigger;
81
+ var isManualMode = !useTrigger && isActive !== undefined;
82
+ var providerDefaultOpen = isManualMode ? isActive : defaultOpen;
83
+ return (React.createElement(DropdownProvider, { defaultOpen: providerDefaultOpen, onToggle: onToggle },
84
+ React.createElement(DropdownContent, __assign({ ref: ref, className: className, testId: testId }, others), children)));
85
+ });
86
+ Dropdown.displayName = ComponentName.Dropdown;
87
+ export default Dropdown;
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL2Ryb3Bkb3duL0Ryb3Bkb3duLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDeEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3hDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUN2QixPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUM5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFaEUsT0FBTyxlQUFlLE1BQU0sMkJBQTJCLENBQUE7QUFFdkQ7O0dBRUc7QUFDSCxJQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUN0QyxVQUNFLEVBS0MsRUFDRCxHQUFHO0lBTEQsSUFBQSxRQUFRLGNBQUEsRUFDUixTQUFTLGVBQUEsRUFDVCxNQUFNLFlBQUEsRUFDSCxNQUFNLGNBSlgsbUNBS0MsQ0FEVTtJQUlILElBQUEsTUFBTSxHQUFLLGlCQUFpQixFQUFFLE9BQXhCLENBQXdCO0lBQ3RDLElBQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFBO0lBQ3RELElBQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFBO0lBRWxELElBQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUM5RCxVQUFDLEtBQUssSUFBSyxPQUFBLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksS0FB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
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import { DropdownProps } from './DropdownProps';
3
+ declare const Dropdown: React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<import("react-native/types").View>>;
4
+ export default Dropdown;
@@ -0,0 +1,8 @@
1
+ import { ComponentName } from '../../components/enumsComponentsName';
2
+ import * as React from 'react';
3
+ var Dropdown = React.forwardRef(function (props, ref) {
4
+ return (React.createElement(React.Fragment, null));
5
+ });
6
+ Dropdown.displayName = ComponentName.Dropdown;
7
+ export default Dropdown;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd24ubmF0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9kcm9wZG93bi9Ecm9wZG93bi5uYXRpdmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNoRSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUc5QixJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFtQyxVQUFDLEtBQUssRUFBRSxHQUFHO0lBQzdFLE9BQU8sQ0FDTCx5Q0FBSyxDQUNOLENBQUE7QUFDSCxDQUFDLENBQUMsQ0FBQTtBQUVGLFFBQVEsQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQTtBQUU3QyxlQUFlLFFBQVEsQ0FBQSJ9
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import { View } from 'react-native';
3
+ /**
4
+ * Dropdown Interface
5
+ */
6
+ export interface DropdownProps {
7
+ children?: React.ReactNode;
8
+ isActive?: boolean;
9
+ defaultOpen?: boolean;
10
+ onToggle?: (isOpen: boolean) => void;
11
+ className?: string;
12
+ testId?: string;
13
+ }
14
+ export type DropdownRef = HTMLDivElement;
15
+ export type DropdownNativeRef = View;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25Qcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvZHJvcGRvd24vRHJvcGRvd25Qcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,53 @@
1
+ export default {
2
+ "children": {
3
+ "type": "react",
4
+ "values": [
5
+ "undefined",
6
+ "null",
7
+ "string",
8
+ "number",
9
+ "false",
10
+ "true",
11
+ "JSXElementConstructor<any>>",
12
+ "ReactNode>",
13
+ "ReactPortal"
14
+ ]
15
+ },
16
+ "isActive": {
17
+ "type": "boolean",
18
+ "values": [
19
+ "undefined",
20
+ "false",
21
+ "true"
22
+ ]
23
+ },
24
+ "defaultOpen": {
25
+ "type": "boolean",
26
+ "values": [
27
+ "undefined",
28
+ "false",
29
+ "true"
30
+ ]
31
+ },
32
+ "onToggle": {
33
+ "type": "function",
34
+ "values": [
35
+ "undefined",
36
+ "(isOpen: boolean) => void"
37
+ ]
38
+ },
39
+ "className": {
40
+ "type": "string",
41
+ "values": [
42
+ "undefined",
43
+ "string"
44
+ ]
45
+ },
46
+ "testId": {
47
+ "type": "string",
48
+ "values": [
49
+ "undefined",
50
+ "string"
51
+ ]
52
+ }
53
+ };
@@ -0,0 +1,15 @@
1
+ import React, { ReactNode } from 'react';
2
+ interface DropdownContextType {
3
+ isOpen: boolean;
4
+ toggle: () => void;
5
+ open: () => void;
6
+ close: () => void;
7
+ }
8
+ export declare const useDropdownContext: () => DropdownContextType;
9
+ interface DropdownProviderProps {
10
+ children: ReactNode;
11
+ defaultOpen?: boolean;
12
+ onToggle?: (isOpen: boolean) => void;
13
+ }
14
+ export declare const DropdownProvider: React.FC<DropdownProviderProps>;
15
+ export {};
@@ -0,0 +1,35 @@
1
+ import { __read } from "tslib";
2
+ import React, { createContext, useContext, useState } from 'react';
3
+ var DropdownContext = createContext(undefined);
4
+ export var useDropdownContext = function () {
5
+ var context = useContext(DropdownContext);
6
+ if (!context) {
7
+ throw new Error('useDropdownContext must be used within a DropdownProvider');
8
+ }
9
+ return context;
10
+ };
11
+ export var DropdownProvider = function (_a) {
12
+ var children = _a.children, _b = _a.defaultOpen, defaultOpen = _b === void 0 ? false : _b, onToggle = _a.onToggle;
13
+ var _c = __read(useState(defaultOpen), 2), isOpen = _c[0], setIsOpen = _c[1];
14
+ var toggle = function () {
15
+ var newState = !isOpen;
16
+ setIsOpen(newState);
17
+ onToggle === null || onToggle === void 0 ? void 0 : onToggle(newState);
18
+ };
19
+ var open = function () {
20
+ setIsOpen(true);
21
+ onToggle === null || onToggle === void 0 ? void 0 : onToggle(true);
22
+ };
23
+ var close = function () {
24
+ setIsOpen(false);
25
+ onToggle === null || onToggle === void 0 ? void 0 : onToggle(false);
26
+ };
27
+ var value = {
28
+ isOpen: isOpen,
29
+ toggle: toggle,
30
+ open: open,
31
+ close: close,
32
+ };
33
+ return (React.createElement(DropdownContext.Provider, { value: value }, children));
34
+ };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25Db250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9kcm9wZG93bi9jb250ZXh0L0Ryb3Bkb3duQ29udGV4dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWEsTUFBTSxPQUFPLENBQUE7QUFTN0UsSUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFrQyxTQUFTLENBQUMsQ0FBQTtBQUVqRixNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRztJQUNoQyxJQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDM0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQTtLQUM3RTtJQUNELE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUMsQ0FBQTtBQVFELE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFvQyxVQUFDLEVBSWpFO1FBSEMsUUFBUSxjQUFBLEVBQ1IsbUJBQW1CLEVBQW5CLFdBQVcsbUJBQUcsS0FBSyxLQUFBLEVBQ25CLFFBQVEsY0FBQTtJQUVGLElBQUEsS0FBQSxPQUFzQixRQUFRLENBQUMsV0FBVyxDQUFDLElBQUEsRUFBMUMsTUFBTSxRQUFBLEVBQUUsU0FBUyxRQUF5QixDQUFBO0lBRWpELElBQU0sTUFBTSxHQUFHO1FBQ2IsSUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUE7UUFDeEIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ25CLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRyxRQUFRLENBQUMsQ0FBQTtJQUN0QixDQUFDLENBQUE7SUFFRCxJQUFNLElBQUksR0FBRztRQUNYLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNmLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRyxJQUFJLENBQUMsQ0FBQTtJQUNsQixDQUFDLENBQUE7SUFFRCxJQUFNLEtBQUssR0FBRztRQUNaLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNoQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsS0FBSyxDQUFDLENBQUE7SUFDbkIsQ0FBQyxDQUFBO0lBRUQsSUFBTSxLQUFLLEdBQUc7UUFDWixNQUFNLFFBQUE7UUFDTixNQUFNLFFBQUE7UUFDTixJQUFJLE1BQUE7UUFDSixLQUFLLE9BQUE7S0FDTixDQUFBO0lBRUQsT0FBTyxDQUNMLG9CQUFDLGVBQWUsQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLEtBQUssSUFDbkMsUUFBUSxDQUNnQixDQUM1QixDQUFBO0FBQ0gsQ0FBQyxDQUFBIn0=
@@ -0,0 +1 @@
1
+ export { DropdownProvider, useDropdownContext } from './DropdownContext';
@@ -0,0 +1,2 @@
1
+ export { DropdownProvider, useDropdownContext } from './DropdownContext';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL2Ryb3Bkb3duL2NvbnRleHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUEifQ==
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { DropdownGroupProps } from './DropdownGroupProps';
3
+ /**
4
+ * DropdownGroup Component
5
+ * @param children {React.ReactNode} Children
6
+ * @param hideSeparator {boolean} Hide separator at the top of the group
7
+ * - -------------------------- WEB PROPERTIES -------------------------------
8
+ * @param className {string} Additional CSS Classes
9
+ * @param testId {string} Test id
10
+ */
11
+ declare const DropdownGroup: React.ForwardRefExoticComponent<DropdownGroupProps & React.RefAttributes<HTMLDivElement>>;
12
+ export default DropdownGroup;
@@ -0,0 +1,24 @@
1
+ import { __assign, __rest } from "tslib";
2
+ import { ComponentName } from '../../../components/enumsComponentsName';
3
+ import { useTrilogyContext } from '../../../context';
4
+ import { hashClass } from '../../../helpers/hashClassesHelpers';
5
+ import { is } from '../../../services/classify';
6
+ import clsx from 'clsx';
7
+ import * as React from 'react';
8
+ /**
9
+ * DropdownGroup Component
10
+ * @param children {React.ReactNode} Children
11
+ * @param hideSeparator {boolean} Hide separator at the top of the group
12
+ * - -------------------------- WEB PROPERTIES -------------------------------
13
+ * @param className {string} Additional CSS Classes
14
+ * @param testId {string} Test id
15
+ */
16
+ var DropdownGroup = React.forwardRef(function (_a, ref) {
17
+ var className = _a.className, id = _a.id, children = _a.children, hideSeparator = _a.hideSeparator, testId = _a.testId, others = __rest(_a, ["className", "id", "children", "hideSeparator", "testId"]);
18
+ var styled = useTrilogyContext().styled;
19
+ var classes = hashClass(styled, clsx('dropdown-group', hideSeparator && is('no-separator'), className));
20
+ return (React.createElement("div", __assign({ ref: ref, id: id, className: classes, role: "group", "data-testid": testId }, others), children));
21
+ });
22
+ DropdownGroup.displayName = ComponentName.DropdownGroup;
23
+ export default DropdownGroup;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25Hcm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZHJvcGRvd24vZ3JvdXAvRHJvcGRvd25Hcm91cC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUE7QUFHOUI7Ozs7Ozs7R0FPRztBQUNILElBQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQ3BDLFVBQ0UsRUFPQyxFQUNELEdBQUc7SUFQRCxJQUFBLFNBQVMsZUFBQSxFQUNULEVBQUUsUUFBQSxFQUNGLFFBQVEsY0FBQSxFQUNSLGFBQWEsbUJBQUEsRUFDYixNQUFNLFlBQUEsRUFDSCxNQUFNLGNBTlgsMERBT0MsQ0FEVTtJQUlILElBQUEsTUFBTSxHQUFLLGlCQUFpQixFQUFFLE9BQXhCLENBQXdCO0lBRXRDLElBQU0sT0FBTyxHQUFHLFNBQVMsQ0FDdkIsTUFBTSxFQUNOLElBQUksQ0FDRixnQkFBZ0IsRUFDaEIsYUFBYSxJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFDbkMsU0FBUyxDQUNWLENBQ0YsQ0FBQTtJQUVELE9BQU8sQ0FDTCxzQ0FDRSxHQUFHLEVBQUUsR0FBRyxFQUNSLEVBQUUsRUFBRSxFQUFFLEVBQ04sU0FBUyxFQUFFLE9BQU8sRUFDbEIsSUFBSSxFQUFDLE9BQU8saUJBQ0MsTUFBTSxJQUNmLE1BQU0sR0FFVCxRQUFRLENBQ0wsQ0FDUCxDQUFBO0FBQ0gsQ0FBQyxDQUNGLENBQUE7QUFFRCxhQUFhLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUE7QUFDdkQsZUFBZSxhQUFhLENBQUEifQ==
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import { DropdownGroupProps } from './DropdownGroupProps';
3
+ declare const DropdownGroup: React.ForwardRefExoticComponent<DropdownGroupProps & React.RefAttributes<import("react-native/types").View>>;
4
+ export default DropdownGroup;
@@ -0,0 +1,8 @@
1
+ import { ComponentName } from '../../../components/enumsComponentsName';
2
+ import * as React from 'react';
3
+ var DropdownGroup = React.forwardRef(function (props, ref) {
4
+ return (React.createElement(React.Fragment, null));
5
+ });
6
+ DropdownGroup.displayName = ComponentName.DropdownGroup;
7
+ export default DropdownGroup;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25Hcm91cC5uYXRpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL2Ryb3Bkb3duL2dyb3VwL0Ryb3Bkb3duR3JvdXAubmF0aXZlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDaEUsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUE7QUFHOUIsSUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBNkMsVUFBQyxLQUFLLEVBQUUsR0FBRztJQUM1RixPQUFPLENBQ0wseUNBQUssQ0FDTixDQUFBO0FBQ0gsQ0FBQyxDQUFDLENBQUE7QUFFRixhQUFhLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUE7QUFFdkQsZUFBZSxhQUFhLENBQUEifQ==
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { View } from 'react-native';
3
+ import { Accessibility } from '../../../objects/facets/Accessibility';
4
+ import { CommonProps } from '../../../objects/facets/CommonProps';
5
+ import { Dev } from '../../../objects/facets/Dev';
6
+ /**
7
+ * DropdownGroup Interface
8
+ */
9
+ export interface DropdownGroupProps extends Accessibility, Dev, CommonProps {
10
+ children?: React.ReactNode;
11
+ hideSeparator?: boolean;
12
+ }
13
+ export type DropdownGroupRef = HTMLDivElement;
14
+ export type DropdownGroupNativeRef = View;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25Hcm91cFByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9kcm9wZG93bi9ncm91cC9Ecm9wZG93bkdyb3VwUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,52 @@
1
+ export default {
2
+ "children": {
3
+ "type": "react",
4
+ "values": [
5
+ "undefined",
6
+ "null",
7
+ "string",
8
+ "number",
9
+ "false",
10
+ "true",
11
+ "JSXElementConstructor<any>>",
12
+ "ReactNode>",
13
+ "ReactPortal"
14
+ ]
15
+ },
16
+ "hideSeparator": {
17
+ "type": "boolean",
18
+ "values": [
19
+ "undefined",
20
+ "false",
21
+ "true"
22
+ ]
23
+ },
24
+ "accessibilityLabel": {
25
+ "type": "string",
26
+ "values": [
27
+ "undefined",
28
+ "string"
29
+ ]
30
+ },
31
+ "testId": {
32
+ "type": "string",
33
+ "values": [
34
+ "undefined",
35
+ "string"
36
+ ]
37
+ },
38
+ "id": {
39
+ "type": "string",
40
+ "values": [
41
+ "undefined",
42
+ "string"
43
+ ]
44
+ },
45
+ "className": {
46
+ "type": "string",
47
+ "values": [
48
+ "undefined",
49
+ "string"
50
+ ]
51
+ }
52
+ };
@@ -0,0 +1,2 @@
1
+ export { default as DropdownGroup } from './DropdownGroup';
2
+ export * from './DropdownGroupProps';
@@ -0,0 +1,3 @@
1
+ export { default as DropdownGroup } from './DropdownGroup';
2
+ export * from './DropdownGroupProps';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL2Ryb3Bkb3duL2dyb3VwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLElBQUksYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUQsY0FBYyxzQkFBc0IsQ0FBQSJ9
@@ -0,0 +1,6 @@
1
+ export { default as Dropdown } from './Dropdown';
2
+ export * from './DropdownProps';
3
+ export * from './item';
4
+ export * from './group';
5
+ export * from './trigger';
6
+ export * from './context';
@@ -0,0 +1,7 @@
1
+ export { default as Dropdown } from './Dropdown';
2
+ export * from './DropdownProps';
3
+ export * from './item';
4
+ export * from './group';
5
+ export * from './trigger';
6
+ export * from './context';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL2Ryb3Bkb3duL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLElBQUksUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2hELGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxXQUFXLENBQUE7QUFDekIsY0FBYyxXQUFXLENBQUEifQ==
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { DropdownItemProps, DropdownItemRef } from './DropdownItemProps';
3
+ /**
4
+ * DropdownItem Component
5
+ * @param children {React.ReactNode} Children
6
+ * @param iconName {string} Icon displayed on the left of the text
7
+ * @param active {boolean} Active/selected item state
8
+ * @param disabled {boolean} Disabled item state
9
+ * @param onSelect {Function} Callback called when item is selected
10
+ */
11
+ declare const DropdownItem: React.ForwardRefExoticComponent<DropdownItemProps & React.RefAttributes<DropdownItemRef>>;
12
+ export default DropdownItem;
@@ -0,0 +1,46 @@
1
+ import { __assign, __rest } from "tslib";
2
+ import { ComponentName } from '../../../components/enumsComponentsName';
3
+ import { useTrilogyContext } from '../../../context';
4
+ import { hashClass } from '../../../helpers/hashClassesHelpers';
5
+ import { is } from '../../../services/classify';
6
+ import clsx from 'clsx';
7
+ import * as React from 'react';
8
+ import { Icon, IconSize } from '../../../components/icon';
9
+ /**
10
+ * DropdownItem Component
11
+ * @param children {React.ReactNode} Children
12
+ * @param iconName {string} Icon displayed on the left of the text
13
+ * @param active {boolean} Active/selected item state
14
+ * @param disabled {boolean} Disabled item state
15
+ * @param onSelect {Function} Callback called when item is selected
16
+ */
17
+ var DropdownItem = React.forwardRef(function (_a, ref) {
18
+ var children = _a.children, iconName = _a.iconName, active = _a.active, disabled = _a.disabled, onSelect = _a.onSelect, others = __rest(_a, ["children", "iconName", "active", "disabled", "onSelect"]);
19
+ var styled = useTrilogyContext().styled;
20
+ var classes = hashClass(styled, clsx('dropdown-item', active && is('active'), disabled && is('disabled')));
21
+ var handleClick = function (e) {
22
+ if (disabled) {
23
+ e.preventDefault();
24
+ return;
25
+ }
26
+ if (onSelect) {
27
+ onSelect();
28
+ }
29
+ };
30
+ var handleKeyDown = function (e) {
31
+ if (disabled)
32
+ return;
33
+ if (e.key === 'Enter' || e.key === ' ') {
34
+ e.preventDefault();
35
+ if (onSelect) {
36
+ onSelect();
37
+ }
38
+ }
39
+ };
40
+ return (React.createElement("button", __assign({ ref: ref, type: "button", className: classes, onClick: handleClick, onKeyDown: handleKeyDown, disabled: disabled, "aria-disabled": disabled, role: "menuitem", tabIndex: disabled ? -1 : 0 }, others),
41
+ iconName && (React.createElement(Icon, { name: iconName, size: IconSize.SMALLER })),
42
+ children));
43
+ });
44
+ DropdownItem.displayName = ComponentName.DropdownItem;
45
+ export default DropdownItem;
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25JdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9kcm9wZG93bi9pdGVtL0Ryb3Bkb3duSXRlbS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDOUIsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUdsRDs7Ozs7OztHQU9HO0FBQ0gsSUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FDbkMsVUFDRSxFQU9DLEVBQ0QsR0FBRztJQVBELElBQUEsUUFBUSxjQUFBLEVBQ1IsUUFBUSxjQUFBLEVBQ1IsTUFBTSxZQUFBLEVBQ04sUUFBUSxjQUFBLEVBQ1IsUUFBUSxjQUFBLEVBQ0wsTUFBTSxjQU5YLDBEQU9DLENBRFU7SUFJSCxJQUFBLE1BQU0sR0FBSyxpQkFBaUIsRUFBRSxPQUF4QixDQUF3QjtJQUV0QyxJQUFNLE9BQU8sR0FBRyxTQUFTLENBQ3ZCLE1BQU0sRUFDTixJQUFJLENBQ0YsZUFBZSxFQUNmLE1BQU0sSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQ3RCLFFBQVEsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQzNCLENBQ0YsQ0FBQTtJQUVELElBQU0sV0FBVyxHQUFHLFVBQUMsQ0FBbUI7UUFDdEMsSUFBSSxRQUFRLEVBQUU7WUFDWixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUE7WUFDbEIsT0FBTTtTQUNQO1FBRUQsSUFBSSxRQUFRLEVBQUU7WUFDWixRQUFRLEVBQUUsQ0FBQTtTQUNYO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsSUFBTSxhQUFhLEdBQUcsVUFBQyxDQUFzQjtRQUMzQyxJQUFJLFFBQVE7WUFBRSxPQUFNO1FBRXBCLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUU7WUFDdEMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFBO1lBQ2xCLElBQUksUUFBUSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxDQUFBO2FBQ1g7U0FDRjtJQUNILENBQUMsQ0FBQTtJQUVELE9BQU8sQ0FDTCx5Q0FDRSxHQUFHLEVBQUUsR0FBeUMsRUFDOUMsSUFBSSxFQUFDLFFBQVEsRUFDYixTQUFTLEVBQUUsT0FBTyxFQUNsQixPQUFPLEVBQUUsV0FBVyxFQUNwQixTQUFTLEVBQUUsYUFBYSxFQUN4QixRQUFRLEVBQUUsUUFBUSxtQkFDSCxRQUFRLEVBQ3ZCLElBQUksRUFBQyxVQUFVLEVBQ2YsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFDdkIsTUFBTTtRQUVULFFBQVEsSUFBSSxDQUNYLG9CQUFDLElBQUksSUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsT0FBTyxHQUFJLENBQ2pEO1FBQ0EsUUFBUSxDQUNGLENBQ1YsQ0FBQTtBQUNILENBQUMsQ0FDRixDQUFBO0FBRUQsWUFBWSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFBO0FBQ3JELGVBQWUsWUFBWSxDQUFBIn0=
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import { DropdownItemProps } from './DropdownItemProps';
3
+ declare const DropdownItem: React.ForwardRefExoticComponent<DropdownItemProps & React.RefAttributes<import("react-native/types").View>>;
4
+ export default DropdownItem;
@@ -0,0 +1,8 @@
1
+ import { ComponentName } from '../../../components/enumsComponentsName';
2
+ import * as React from 'react';
3
+ var DropdownItem = React.forwardRef(function (props, ref) {
4
+ return (React.createElement(React.Fragment, null));
5
+ });
6
+ DropdownItem.displayName = ComponentName.DropdownItem;
7
+ export default DropdownItem;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25JdGVtLm5hdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZHJvcGRvd24vaXRlbS9Ecm9wZG93bkl0ZW0ubmF0aXZlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDaEUsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUE7QUFHOUIsSUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBMkMsVUFBQyxLQUFLLEVBQUUsR0FBRztJQUN6RixPQUFPLENBQ0wseUNBQUssQ0FDTixDQUFBO0FBQ0gsQ0FBQyxDQUFDLENBQUE7QUFFRixZQUFZLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUE7QUFFckQsZUFBZSxZQUFZLENBQUEifQ==
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import { View } from 'react-native';
3
+ import { IconName, IconNameValues } from '../../icon/IconNameEnum';
4
+ /**
5
+ * DropdownItem Interface
6
+ */
7
+ export interface DropdownItemProps {
8
+ children?: React.ReactNode;
9
+ iconName?: IconName | IconNameValues;
10
+ active?: boolean;
11
+ disabled?: boolean;
12
+ onSelect?: () => void;
13
+ }
14
+ export type DropdownItemRef = HTMLDivElement | HTMLAnchorElement | HTMLButtonElement;
15
+ export type DropdownItemNativeRef = View;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25JdGVtUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL2Ryb3Bkb3duL2l0ZW0vRHJvcGRvd25JdGVtUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,93 @@
1
+ export default {
2
+ "children": {
3
+ "type": "react",
4
+ "values": [
5
+ "undefined",
6
+ "null",
7
+ "string",
8
+ "number",
9
+ "false",
10
+ "true",
11
+ "JSXElementConstructor<any>>",
12
+ "ReactNode>",
13
+ "ReactPortal"
14
+ ]
15
+ },
16
+ "iconName": {
17
+ "type": "enum",
18
+ "values": [
19
+ "undefined",
20
+ "tri-alert",
21
+ "tri-arrow-down",
22
+ "tri-arrow-left",
23
+ "tri-arrow-right",
24
+ "tri-arrow-up",
25
+ "tri-bell",
26
+ "tri-calendar",
27
+ "tri-check-circle",
28
+ "tri-check",
29
+ "tri-exclamation-circle",
30
+ "tri-eye-slash",
31
+ "tri-eye",
32
+ "tri-infos-circle",
33
+ "tri-search",
34
+ "tri-times",
35
+ "tri-trash",
36
+ "tri-picto-faciliti",
37
+ "tri-picto-handicapzero",
38
+ "tri-picto-la-fibre",
39
+ "tri-picto-payment-americanexpress",
40
+ "tri-picto-payment-cb",
41
+ "tri-picto-payment-mastercard",
42
+ "tri-picto-payment-paypal",
43
+ "tri-picto-payment-visa",
44
+ "tri-alert",
45
+ "tri-arrow-down",
46
+ "tri-arrow-left",
47
+ "tri-arrow-right",
48
+ "tri-arrow-up",
49
+ "tri-bell",
50
+ "tri-calendar",
51
+ "tri-check-circle",
52
+ "tri-check",
53
+ "tri-exclamation-circle",
54
+ "tri-eye-slash",
55
+ "tri-eye",
56
+ "tri-infos-circle",
57
+ "tri-search",
58
+ "tri-times",
59
+ "tri-trash",
60
+ "tri-picto-faciliti",
61
+ "tri-picto-handicapzero",
62
+ "tri-picto-la-fibre",
63
+ "tri-picto-payment-americanexpress",
64
+ "tri-picto-payment-cb",
65
+ "tri-picto-payment-mastercard",
66
+ "tri-picto-payment-paypal",
67
+ "tri-picto-payment-visa"
68
+ ]
69
+ },
70
+ "active": {
71
+ "type": "boolean",
72
+ "values": [
73
+ "undefined",
74
+ "false",
75
+ "true"
76
+ ]
77
+ },
78
+ "disabled": {
79
+ "type": "boolean",
80
+ "values": [
81
+ "undefined",
82
+ "false",
83
+ "true"
84
+ ]
85
+ },
86
+ "onSelect": {
87
+ "type": "function",
88
+ "values": [
89
+ "undefined",
90
+ "() => void"
91
+ ]
92
+ }
93
+ };
@@ -0,0 +1,2 @@
1
+ export { default as DropdownItem } from './DropdownItem';
2
+ export * from './DropdownItemProps';
@@ -0,0 +1,3 @@
1
+ export { default as DropdownItem } from './DropdownItem';
2
+ export * from './DropdownItemProps';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL2Ryb3Bkb3duL2l0ZW0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sSUFBSSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN4RCxjQUFjLHFCQUFxQixDQUFBIn0=
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import { DropdownTriggerProps } from './DropdownTriggerProps';
3
+ /**
4
+ * DropdownTrigger Component
5
+ * Wrapper component that makes its children clickable to trigger dropdown toggle
6
+ * Automatically manages the dropdown state when used within a DropdownProvider
7
+ * @param children {React.ReactNode} Children - The trigger element (Button, etc.)
8
+ * @param onClick {Function} Optional additional click handler
9
+ * @param className {string} Additional CSS classes
10
+ * @param testId {string} Test ID
11
+ */
12
+ declare const DropdownTrigger: React.ForwardRefExoticComponent<DropdownTriggerProps & React.RefAttributes<HTMLDivElement>>;
13
+ export default DropdownTrigger;