react-native-timer-picker 2.5.0 → 2.6.1

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 (122) hide show
  1. package/README.md +22 -13
  2. package/dist/commonjs/components/DurationScroll/DurationScroll.js +39 -18
  3. package/dist/commonjs/components/DurationScroll/DurationScroll.js.map +1 -1
  4. package/dist/commonjs/components/DurationScroll/types.js.map +1 -1
  5. package/dist/commonjs/components/Modal/Modal.js +10 -10
  6. package/dist/commonjs/components/Modal/Modal.js.map +1 -1
  7. package/dist/commonjs/components/Modal/styles.js +5 -5
  8. package/dist/commonjs/components/Modal/styles.js.map +1 -1
  9. package/dist/commonjs/components/Modal/types.js.map +1 -1
  10. package/dist/commonjs/components/PickerItem/PickerItem.js +2 -1
  11. package/dist/commonjs/components/PickerItem/PickerItem.js.map +1 -1
  12. package/dist/commonjs/components/TimerPicker/TimerPicker.js +47 -21
  13. package/dist/commonjs/components/TimerPicker/TimerPicker.js.map +1 -1
  14. package/dist/commonjs/components/TimerPicker/index.js.map +1 -1
  15. package/dist/commonjs/components/TimerPicker/styles.js +79 -69
  16. package/dist/commonjs/components/TimerPicker/styles.js.map +1 -1
  17. package/dist/commonjs/components/TimerPicker/types.js.map +1 -1
  18. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js +34 -14
  19. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js.map +1 -1
  20. package/dist/commonjs/components/TimerPickerModal/styles.js +34 -28
  21. package/dist/commonjs/components/TimerPickerModal/styles.js.map +1 -1
  22. package/dist/commonjs/components/TimerPickerModal/types.js.map +1 -1
  23. package/dist/commonjs/index.js +3 -39
  24. package/dist/commonjs/index.js.map +1 -1
  25. package/dist/commonjs/tests/DurationScroll.test.js +8 -8
  26. package/dist/commonjs/tests/DurationScroll.test.js.map +1 -1
  27. package/dist/commonjs/tests/Modal.test.js.map +1 -1
  28. package/dist/commonjs/tests/TimerPicker.test.js +1 -9
  29. package/dist/commonjs/tests/TimerPicker.test.js.map +1 -1
  30. package/dist/commonjs/tests/TimerPickerModal.test.js +3 -3
  31. package/dist/commonjs/tests/TimerPickerModal.test.js.map +1 -1
  32. package/dist/commonjs/tests/colorToRgba.test.js.map +1 -1
  33. package/dist/commonjs/tests/generateNumbers.test.js +63 -63
  34. package/dist/commonjs/tests/generateNumbers.test.js.map +1 -1
  35. package/dist/commonjs/tests/getAdjustedLimit.test.js +38 -38
  36. package/dist/commonjs/tests/getAdjustedLimit.test.js.map +1 -1
  37. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -1
  38. package/dist/commonjs/tests/getInitialScrollIndex.test.js.map +1 -1
  39. package/dist/commonjs/tests/getSafeInitialValue.test.js +2 -0
  40. package/dist/commonjs/tests/getSafeInitialValue.test.js.map +1 -1
  41. package/dist/commonjs/tests/padNumber.test.js.map +1 -1
  42. package/dist/commonjs/utils/colorToRgba.js +4 -4
  43. package/dist/commonjs/utils/colorToRgba.js.map +1 -1
  44. package/dist/commonjs/utils/generateNumbers.js.map +1 -1
  45. package/dist/commonjs/utils/getAdjustedLimit.js.map +1 -1
  46. package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js.map +1 -1
  47. package/dist/commonjs/utils/getInitialScrollIndex.js +4 -4
  48. package/dist/commonjs/utils/getInitialScrollIndex.js.map +1 -1
  49. package/dist/commonjs/utils/getSafeInitialValue.js +5 -5
  50. package/dist/commonjs/utils/getSafeInitialValue.js.map +1 -1
  51. package/dist/commonjs/utils/padNumber.js.map +1 -1
  52. package/dist/module/components/DurationScroll/DurationScroll.js +39 -18
  53. package/dist/module/components/DurationScroll/DurationScroll.js.map +1 -1
  54. package/dist/module/components/DurationScroll/types.js.map +1 -1
  55. package/dist/module/components/Modal/Modal.js +10 -10
  56. package/dist/module/components/Modal/Modal.js.map +1 -1
  57. package/dist/module/components/Modal/styles.js +5 -5
  58. package/dist/module/components/Modal/styles.js.map +1 -1
  59. package/dist/module/components/Modal/types.js.map +1 -1
  60. package/dist/module/components/PickerItem/PickerItem.js +2 -1
  61. package/dist/module/components/PickerItem/PickerItem.js.map +1 -1
  62. package/dist/module/components/TimerPicker/TimerPicker.js +47 -21
  63. package/dist/module/components/TimerPicker/TimerPicker.js.map +1 -1
  64. package/dist/module/components/TimerPicker/index.js.map +1 -1
  65. package/dist/module/components/TimerPicker/styles.js +79 -69
  66. package/dist/module/components/TimerPicker/styles.js.map +1 -1
  67. package/dist/module/components/TimerPicker/types.js.map +1 -1
  68. package/dist/module/components/TimerPickerModal/TimerPickerModal.js +35 -15
  69. package/dist/module/components/TimerPickerModal/TimerPickerModal.js.map +1 -1
  70. package/dist/module/components/TimerPickerModal/styles.js +33 -27
  71. package/dist/module/components/TimerPickerModal/styles.js.map +1 -1
  72. package/dist/module/components/TimerPickerModal/types.js.map +1 -1
  73. package/dist/module/index.js +2 -2
  74. package/dist/module/index.js.map +1 -1
  75. package/dist/module/tests/DurationScroll.test.js +8 -8
  76. package/dist/module/tests/DurationScroll.test.js.map +1 -1
  77. package/dist/module/tests/Modal.test.js.map +1 -1
  78. package/dist/module/tests/TimerPicker.test.js +1 -8
  79. package/dist/module/tests/TimerPicker.test.js.map +1 -1
  80. package/dist/module/tests/TimerPickerModal.test.js +3 -3
  81. package/dist/module/tests/TimerPickerModal.test.js.map +1 -1
  82. package/dist/module/tests/colorToRgba.test.js.map +1 -1
  83. package/dist/module/tests/generateNumbers.test.js +63 -63
  84. package/dist/module/tests/generateNumbers.test.js.map +1 -1
  85. package/dist/module/tests/getAdjustedLimit.test.js +38 -38
  86. package/dist/module/tests/getAdjustedLimit.test.js.map +1 -1
  87. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -1
  88. package/dist/module/tests/getInitialScrollIndex.test.js.map +1 -1
  89. package/dist/module/tests/getSafeInitialValue.test.js +1 -0
  90. package/dist/module/tests/getSafeInitialValue.test.js.map +1 -1
  91. package/dist/module/tests/padNumber.test.js.map +1 -1
  92. package/dist/module/utils/colorToRgba.js +4 -4
  93. package/dist/module/utils/colorToRgba.js.map +1 -1
  94. package/dist/module/utils/generateNumbers.js.map +1 -1
  95. package/dist/module/utils/getAdjustedLimit.js.map +1 -1
  96. package/dist/module/utils/getDurationAndIndexFromScrollOffset.js.map +1 -1
  97. package/dist/module/utils/getInitialScrollIndex.js +4 -4
  98. package/dist/module/utils/getInitialScrollIndex.js.map +1 -1
  99. package/dist/module/utils/getSafeInitialValue.js +5 -5
  100. package/dist/module/utils/getSafeInitialValue.js.map +1 -1
  101. package/dist/module/utils/padNumber.js.map +1 -1
  102. package/dist/typescript/components/DurationScroll/types.d.ts +9 -6
  103. package/dist/typescript/components/Modal/styles.d.ts +5 -5
  104. package/dist/typescript/components/Modal/types.d.ts +2 -1
  105. package/dist/typescript/components/PickerItem/PickerItem.d.ts +4 -0
  106. package/dist/typescript/components/TimerPicker/styles.d.ts +230 -225
  107. package/dist/typescript/components/TimerPicker/types.d.ts +9 -8
  108. package/dist/typescript/components/TimerPickerModal/styles.d.ts +158 -154
  109. package/dist/typescript/components/TimerPickerModal/types.d.ts +2 -1
  110. package/dist/typescript/index.d.ts +4 -2
  111. package/dist/typescript/tests/DurationScroll.test.d.ts +1 -0
  112. package/dist/typescript/tests/Modal.test.d.ts +1 -0
  113. package/dist/typescript/tests/TimerPicker.test.d.ts +1 -0
  114. package/dist/typescript/tests/TimerPickerModal.test.d.ts +1 -0
  115. package/dist/typescript/tests/colorToRgba.test.d.ts +1 -0
  116. package/dist/typescript/tests/generateNumbers.test.d.ts +1 -0
  117. package/dist/typescript/tests/getAdjustedLimit.test.d.ts +1 -0
  118. package/dist/typescript/tests/getDurationAndIndexFromScrollOffset.test.d.ts +1 -0
  119. package/dist/typescript/tests/getInitialScrollIndex.test.d.ts +1 -0
  120. package/dist/typescript/tests/getSafeInitialValue.test.d.ts +1 -0
  121. package/dist/typescript/tests/padNumber.test.d.ts +1 -0
  122. package/package.json +144 -126
@@ -1 +1 @@
1
- {"version":3,"names":["React","render","fireEvent","cleanup","TouchableOpacity","Text","TimerPickerModal","describe","mockOnConfirm","jest","fn","mockOnCancel","beforeEach","useFakeTimers","afterEach","runOnlyPendingTimers","useRealTimers","defaultProps","visible","setIsVisible","onConfirm","onCancel","it","getByTestId","createElement","component","expect","toBeDefined","getByText","confirmButton","press","toHaveBeenCalled","cancelButton","setIsVisibleMock","_extends","toHaveBeenCalledWith","closeOnOverlayPress","overlay","objectContaining","modal","props","toBe","cancelButtonText","confirmButtonText","modalTitle","not","queryByText","hideCancelButton","toBeNull","initialValue","hours","minutes","seconds","hourInterval","minuteInterval","secondInterval","onCancelMock","hideHours","hideSeconds","hideDays","hideMinutes","hourLabel","minuteLabel","secondLabel","CustomButton","onPress","testID","customCancelButton","customConfirmButton","CustomCancelButton","CustomConfirmButton"],"sources":["TimerPickerModal.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render, fireEvent, cleanup } from \"@testing-library/react-native\";\nimport { TouchableOpacity, Text } from \"react-native\";\n\n\nimport TimerPickerModal from \"../components/TimerPickerModal\";\n\ndescribe(\"TimerPickerModal\", () => {\n const mockOnConfirm = jest.fn();\n const mockOnCancel = jest.fn();\n\n beforeEach(() => {\n jest.useFakeTimers();\n });\n\n afterEach(() => {\n jest.runOnlyPendingTimers();\n jest.useRealTimers();\n cleanup();\n });\n\n const defaultProps = {\n visible: true,\n setIsVisible: jest.fn(),\n onConfirm: mockOnConfirm,\n onCancel: mockOnCancel,\n };\n\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(<TimerPickerModal {...defaultProps} />);\n const component = getByTestId(\"timer-picker-modal\");\n expect(component).toBeDefined();\n });\n\n it(\"calls onConfirm when Confirm button is pressed\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} />);\n const confirmButton = getByText(\"Confirm\");\n fireEvent.press(confirmButton);\n expect(mockOnConfirm).toHaveBeenCalled();\n });\n\n it(\"calls onCancel when Cancel button is pressed\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} />);\n const cancelButton = getByText(\"Cancel\");\n fireEvent.press(cancelButton);\n expect(mockOnCancel).toHaveBeenCalled();\n });\n\n it(\"hides the modal when Cancel button is pressed\", () => {\n const setIsVisibleMock = jest.fn();\n const { getByText } = render(\n <TimerPickerModal\n {...defaultProps}\n setIsVisible={setIsVisibleMock}\n />\n );\n const cancelButton = getByText(\"Cancel\");\n fireEvent.press(cancelButton);\n expect(setIsVisibleMock).toHaveBeenCalledWith(false);\n });\n\n it(\"hides the modal when overlay is pressed\", () => {\n const setIsVisibleMock = jest.fn();\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n closeOnOverlayPress\n setIsVisible={setIsVisibleMock}\n />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(setIsVisibleMock).toHaveBeenCalledWith(false);\n });\n\n it(\"calls onConfirm with selected duration when Confirm button is pressed\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} />);\n // Select duration in TimerPicker, assuming its interaction is tested separately\n const confirmButton = getByText(\"Confirm\");\n fireEvent.press(confirmButton);\n expect(mockOnConfirm).toHaveBeenCalledWith(expect.objectContaining({}));\n });\n\n it(\"renders but is not visible when visible prop is false\", () => {\n const { getByTestId } = render(\n <TimerPickerModal {...defaultProps} visible={false} />\n );\n const modal = getByTestId(\"timer-picker-modal\");\n expect(modal).toBeDefined();\n // Modal component still renders but with visible={false}\n expect(modal.props.visible).toBe(false);\n });\n\n it(\"renders with custom button labels\", () => {\n const { getByText } = render(\n <TimerPickerModal\n {...defaultProps}\n cancelButtonText=\"Dismiss\"\n confirmButtonText=\"OK\"\n />\n );\n expect(getByText(\"OK\")).toBeDefined();\n expect(getByText(\"Dismiss\")).toBeDefined();\n });\n\n it(\"renders with custom modal title\", () => {\n const { getByText } = render(\n <TimerPickerModal {...defaultProps} modalTitle=\"Select Time\" />\n );\n expect(getByText(\"Select Time\")).toBeDefined();\n });\n\n it(\"does not close on overlay press when closeOnOverlayPress is false\", () => {\n const setIsVisibleMock = jest.fn();\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n closeOnOverlayPress={false}\n setIsVisible={setIsVisibleMock}\n />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(setIsVisibleMock).not.toHaveBeenCalled();\n });\n\n it(\"hides Cancel button when hideCancelButton is true\", () => {\n const { queryByText } = render(\n <TimerPickerModal {...defaultProps} hideCancelButton />\n );\n expect(queryByText(\"Cancel\")).toBeNull();\n });\n\n it(\"renders with initial value\", () => {\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n initialValue={{ hours: 2, minutes: 30, seconds: 0 }}\n />\n );\n expect(getByTestId(\"timer-picker-modal\")).toBeDefined();\n });\n\n it(\"renders with custom intervals\", () => {\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n hourInterval={2}\n minuteInterval={15}\n secondInterval={5}\n />\n );\n expect(getByTestId(\"timer-picker-modal\")).toBeDefined();\n });\n\n it(\"calls both onCancel and setIsVisible when Cancel is pressed\", () => {\n const setIsVisibleMock = jest.fn();\n const onCancelMock = jest.fn();\n const { getByText } = render(\n <TimerPickerModal\n {...defaultProps}\n onCancel={onCancelMock}\n setIsVisible={setIsVisibleMock}\n />\n );\n const cancelButton = getByText(\"Cancel\");\n fireEvent.press(cancelButton);\n expect(onCancelMock).toHaveBeenCalled();\n expect(setIsVisibleMock).toHaveBeenCalledWith(false);\n });\n\n it(\"hides specific time units when respective hide props are provided\", () => {\n const { getByTestId } = render(\n <TimerPickerModal {...defaultProps} hideHours hideSeconds />\n );\n expect(getByTestId(\"timer-picker-modal\")).toBeDefined();\n // Note: The specific duration scroll test IDs would be in the TimerPicker component\n });\n\n it(\"renders without crashing with all optional props\", () => {\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n cancelButtonText=\"Close\"\n confirmButtonText=\"Done\"\n hideDays={false}\n hideHours={false}\n hideMinutes={false}\n hideSeconds={false}\n hourLabel=\"h\"\n minuteLabel=\"m\"\n modalTitle=\"Pick Duration\"\n secondLabel=\"s\"\n />\n );\n expect(getByTestId(\"timer-picker-modal\")).toBeDefined();\n });\n\n it(\"renders custom cancel button when provided\", () => {\n const CustomButton = ({ onPress }: { onPress?: () => void }) => (\n <TouchableOpacity onPress={onPress} testID=\"custom-cancel-button\">\n <Text>Custom Cancel</Text>\n </TouchableOpacity>\n );\n\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n cancelButton={<CustomButton />}\n />\n );\n expect(getByTestId(\"custom-cancel-button\")).toBeDefined();\n });\n\n it(\"renders custom confirm button when provided\", () => {\n const CustomButton = ({ onPress }: { onPress?: () => void }) => (\n <TouchableOpacity onPress={onPress} testID=\"custom-confirm-button\">\n <Text>Custom Confirm</Text>\n </TouchableOpacity>\n );\n\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n confirmButton={<CustomButton />}\n />\n );\n expect(getByTestId(\"custom-confirm-button\")).toBeDefined();\n });\n\n it(\"calls onCancel when custom cancel button is pressed\", () => {\n const CustomButton = ({ onPress }: { onPress?: () => void }) => (\n <TouchableOpacity onPress={onPress} testID=\"custom-cancel-button\">\n <Text>Custom Cancel</Text>\n </TouchableOpacity>\n );\n\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n cancelButton={<CustomButton />}\n />\n );\n const customCancelButton = getByTestId(\"custom-cancel-button\");\n fireEvent.press(customCancelButton);\n expect(mockOnCancel).toHaveBeenCalled();\n });\n\n it(\"calls onConfirm when custom confirm button is pressed\", () => {\n const CustomButton = ({ onPress }: { onPress?: () => void }) => (\n <TouchableOpacity onPress={onPress} testID=\"custom-confirm-button\">\n <Text>Custom Confirm</Text>\n </TouchableOpacity>\n );\n\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n confirmButton={<CustomButton />}\n />\n );\n const customConfirmButton = getByTestId(\"custom-confirm-button\");\n fireEvent.press(customConfirmButton);\n expect(mockOnConfirm).toHaveBeenCalled();\n });\n\n it(\"renders both custom cancel and confirm buttons when provided\", () => {\n const CustomCancelButton = ({ onPress }: { onPress?: () => void }) => (\n <TouchableOpacity onPress={onPress} testID=\"custom-cancel-button\">\n <Text>Custom Cancel</Text>\n </TouchableOpacity>\n );\n const CustomConfirmButton = ({ onPress }: { onPress?: () => void }) => (\n <TouchableOpacity onPress={onPress} testID=\"custom-confirm-button\">\n <Text>Custom Confirm</Text>\n </TouchableOpacity>\n );\n\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n cancelButton={<CustomCancelButton />}\n confirmButton={<CustomConfirmButton />}\n />\n );\n expect(getByTestId(\"custom-cancel-button\")).toBeDefined();\n expect(getByTestId(\"custom-confirm-button\")).toBeDefined();\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","render","fireEvent","cleanup","TouchableOpacity","Text","TimerPickerModal","describe","mockOnConfirm","jest","fn","mockOnCancel","beforeEach","useFakeTimers","afterEach","runOnlyPendingTimers","useRealTimers","defaultProps","onCancel","onConfirm","setIsVisible","visible","it","getByTestId","createElement","component","expect","toBeDefined","getByText","confirmButton","press","toHaveBeenCalled","cancelButton","setIsVisibleMock","_extends","toHaveBeenCalledWith","closeOnOverlayPress","overlay","objectContaining","modal","props","toBe","cancelButtonText","confirmButtonText","modalTitle","not","queryByText","hideCancelButton","toBeNull","initialValue","hours","minutes","seconds","hourInterval","minuteInterval","secondInterval","onCancelMock","hideHours","hideSeconds","hideDays","hideMinutes","hourLabel","minuteLabel","secondLabel","CustomButton","onPress","testID","customCancelButton","customConfirmButton","CustomCancelButton","CustomConfirmButton"],"sources":["TimerPickerModal.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render, fireEvent, cleanup } from \"@testing-library/react-native\";\nimport { TouchableOpacity, Text } from \"react-native\";\n\nimport TimerPickerModal from \"../components/TimerPickerModal\";\n\ndescribe(\"TimerPickerModal\", () => {\n const mockOnConfirm = jest.fn();\n const mockOnCancel = jest.fn();\n\n beforeEach(() => {\n jest.useFakeTimers();\n });\n\n afterEach(() => {\n jest.runOnlyPendingTimers();\n jest.useRealTimers();\n cleanup();\n });\n\n const defaultProps = {\n onCancel: mockOnCancel,\n onConfirm: mockOnConfirm,\n setIsVisible: jest.fn(),\n visible: true,\n };\n\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(<TimerPickerModal {...defaultProps} />);\n const component = getByTestId(\"timer-picker-modal\");\n expect(component).toBeDefined();\n });\n\n it(\"calls onConfirm when Confirm button is pressed\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} />);\n const confirmButton = getByText(\"Confirm\");\n fireEvent.press(confirmButton);\n expect(mockOnConfirm).toHaveBeenCalled();\n });\n\n it(\"calls onCancel when Cancel button is pressed\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} />);\n const cancelButton = getByText(\"Cancel\");\n fireEvent.press(cancelButton);\n expect(mockOnCancel).toHaveBeenCalled();\n });\n\n it(\"hides the modal when Cancel button is pressed\", () => {\n const setIsVisibleMock = jest.fn();\n const { getByText } = render(\n <TimerPickerModal {...defaultProps} setIsVisible={setIsVisibleMock} />\n );\n const cancelButton = getByText(\"Cancel\");\n fireEvent.press(cancelButton);\n expect(setIsVisibleMock).toHaveBeenCalledWith(false);\n });\n\n it(\"hides the modal when overlay is pressed\", () => {\n const setIsVisibleMock = jest.fn();\n const { getByTestId } = render(\n <TimerPickerModal {...defaultProps} closeOnOverlayPress setIsVisible={setIsVisibleMock} />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(setIsVisibleMock).toHaveBeenCalledWith(false);\n });\n\n it(\"calls onConfirm with selected duration when Confirm button is pressed\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} />);\n // Select duration in TimerPicker, assuming its interaction is tested separately\n const confirmButton = getByText(\"Confirm\");\n fireEvent.press(confirmButton);\n expect(mockOnConfirm).toHaveBeenCalledWith(expect.objectContaining({}));\n });\n\n it(\"renders but is not visible when visible prop is false\", () => {\n const { getByTestId } = render(<TimerPickerModal {...defaultProps} visible={false} />);\n const modal = getByTestId(\"timer-picker-modal\");\n expect(modal).toBeDefined();\n // Modal component still renders but with visible={false}\n expect(modal.props.visible).toBe(false);\n });\n\n it(\"renders with custom button labels\", () => {\n const { getByText } = render(\n <TimerPickerModal {...defaultProps} cancelButtonText=\"Dismiss\" confirmButtonText=\"OK\" />\n );\n expect(getByText(\"OK\")).toBeDefined();\n expect(getByText(\"Dismiss\")).toBeDefined();\n });\n\n it(\"renders with custom modal title\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} modalTitle=\"Select Time\" />);\n expect(getByText(\"Select Time\")).toBeDefined();\n });\n\n it(\"does not close on overlay press when closeOnOverlayPress is false\", () => {\n const setIsVisibleMock = jest.fn();\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n closeOnOverlayPress={false}\n setIsVisible={setIsVisibleMock}\n />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(setIsVisibleMock).not.toHaveBeenCalled();\n });\n\n it(\"hides Cancel button when hideCancelButton is true\", () => {\n const { queryByText } = render(<TimerPickerModal {...defaultProps} hideCancelButton />);\n expect(queryByText(\"Cancel\")).toBeNull();\n });\n\n it(\"renders with initial value\", () => {\n const { getByTestId } = render(\n <TimerPickerModal {...defaultProps} initialValue={{ hours: 2, minutes: 30, seconds: 0 }} />\n );\n expect(getByTestId(\"timer-picker-modal\")).toBeDefined();\n });\n\n it(\"renders with custom intervals\", () => {\n const { getByTestId } = render(\n <TimerPickerModal {...defaultProps} hourInterval={2} minuteInterval={15} secondInterval={5} />\n );\n expect(getByTestId(\"timer-picker-modal\")).toBeDefined();\n });\n\n it(\"calls both onCancel and setIsVisible when Cancel is pressed\", () => {\n const setIsVisibleMock = jest.fn();\n const onCancelMock = jest.fn();\n const { getByText } = render(\n <TimerPickerModal {...defaultProps} onCancel={onCancelMock} setIsVisible={setIsVisibleMock} />\n );\n const cancelButton = getByText(\"Cancel\");\n fireEvent.press(cancelButton);\n expect(onCancelMock).toHaveBeenCalled();\n expect(setIsVisibleMock).toHaveBeenCalledWith(false);\n });\n\n it(\"hides specific time units when respective hide props are provided\", () => {\n const { getByTestId } = render(<TimerPickerModal {...defaultProps} hideHours hideSeconds />);\n expect(getByTestId(\"timer-picker-modal\")).toBeDefined();\n // Note: The specific duration scroll test IDs would be in the TimerPicker component\n });\n\n it(\"renders without crashing with all optional props\", () => {\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n cancelButtonText=\"Close\"\n confirmButtonText=\"Done\"\n hideDays={false}\n hideHours={false}\n hideMinutes={false}\n hideSeconds={false}\n hourLabel=\"h\"\n minuteLabel=\"m\"\n modalTitle=\"Pick Duration\"\n secondLabel=\"s\"\n />\n );\n expect(getByTestId(\"timer-picker-modal\")).toBeDefined();\n });\n\n it(\"renders custom cancel button when provided\", () => {\n const CustomButton = ({ onPress }: { onPress?: () => void }) => (\n <TouchableOpacity onPress={onPress} testID=\"custom-cancel-button\">\n <Text>Custom Cancel</Text>\n </TouchableOpacity>\n );\n\n const { getByTestId } = render(\n <TimerPickerModal {...defaultProps} cancelButton={<CustomButton />} />\n );\n expect(getByTestId(\"custom-cancel-button\")).toBeDefined();\n });\n\n it(\"renders custom confirm button when provided\", () => {\n const CustomButton = ({ onPress }: { onPress?: () => void }) => (\n <TouchableOpacity onPress={onPress} testID=\"custom-confirm-button\">\n <Text>Custom Confirm</Text>\n </TouchableOpacity>\n );\n\n const { getByTestId } = render(\n <TimerPickerModal {...defaultProps} confirmButton={<CustomButton />} />\n );\n expect(getByTestId(\"custom-confirm-button\")).toBeDefined();\n });\n\n it(\"calls onCancel when custom cancel button is pressed\", () => {\n const CustomButton = ({ onPress }: { onPress?: () => void }) => (\n <TouchableOpacity onPress={onPress} testID=\"custom-cancel-button\">\n <Text>Custom Cancel</Text>\n </TouchableOpacity>\n );\n\n const { getByTestId } = render(\n <TimerPickerModal {...defaultProps} cancelButton={<CustomButton />} />\n );\n const customCancelButton = getByTestId(\"custom-cancel-button\");\n fireEvent.press(customCancelButton);\n expect(mockOnCancel).toHaveBeenCalled();\n });\n\n it(\"calls onConfirm when custom confirm button is pressed\", () => {\n const CustomButton = ({ onPress }: { onPress?: () => void }) => (\n <TouchableOpacity onPress={onPress} testID=\"custom-confirm-button\">\n <Text>Custom Confirm</Text>\n </TouchableOpacity>\n );\n\n const { getByTestId } = render(\n <TimerPickerModal {...defaultProps} confirmButton={<CustomButton />} />\n );\n const customConfirmButton = getByTestId(\"custom-confirm-button\");\n fireEvent.press(customConfirmButton);\n expect(mockOnConfirm).toHaveBeenCalled();\n });\n\n it(\"renders both custom cancel and confirm buttons when provided\", () => {\n const CustomCancelButton = ({ onPress }: { onPress?: () => void }) => (\n <TouchableOpacity onPress={onPress} testID=\"custom-cancel-button\">\n <Text>Custom Cancel</Text>\n </TouchableOpacity>\n );\n const CustomConfirmButton = ({ onPress }: { onPress?: () => void }) => (\n <TouchableOpacity onPress={onPress} testID=\"custom-confirm-button\">\n <Text>Custom Confirm</Text>\n </TouchableOpacity>\n );\n\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n cancelButton={<CustomCancelButton />}\n confirmButton={<CustomConfirmButton />}\n />\n );\n expect(getByTestId(\"custom-cancel-button\")).toBeDefined();\n expect(getByTestId(\"custom-confirm-button\")).toBeDefined();\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["colorToRgba","describe","it","expect","color","toBe","opacity","unknownColor","invalidColor","malformedHex"],"sources":["colorToRgba.test.ts"],"sourcesContent":["import { colorToRgba } from \"../utils/colorToRgba\";\n\ndescribe(\"colorToRgba\", () => {\n describe(\"named colors\", () => {\n it(\"converts 'transparent' to rgba\", () => {\n expect(colorToRgba({ color: \"transparent\" })).toBe(\"rgba(0, 0, 0, 0)\");\n });\n\n it(\"converts 'black' to rgba\", () => {\n expect(colorToRgba({ color: \"black\" })).toBe(\"rgba(0, 0, 0, 1)\");\n });\n\n it(\"converts 'white' to rgba\", () => {\n expect(colorToRgba({ color: \"white\" })).toBe(\"rgba(255, 255, 255, 1)\");\n });\n\n it(\"converts 'blue' to rgba\", () => {\n expect(colorToRgba({ color: \"blue\" })).toBe(\"rgba(0, 0, 255, 1)\");\n });\n\n it(\"converts 'green' to rgba\", () => {\n expect(colorToRgba({ color: \"green\" })).toBe(\"rgba(0, 128, 0, 1)\");\n });\n\n it(\"converts 'gray' to rgba\", () => {\n expect(colorToRgba({ color: \"gray\" })).toBe(\"rgba(128, 128, 128, 1)\");\n });\n\n it(\"converts 'red' to rgba\", () => {\n expect(colorToRgba({ color: \"red\" })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n });\n\n describe(\"RGB format\", () => {\n it(\"converts rgb color to rgba with default opacity\", () => {\n expect(colorToRgba({ color: \"rgb(255, 0, 0)\" })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n\n it(\"converts rgb color to rgba with custom opacity\", () => {\n expect(colorToRgba({ color: \"rgb(255, 0, 0)\", opacity: 0.5 })).toBe(\n \"rgba(255, 0, 0, 0.5)\"\n );\n });\n\n it(\"converts rgb color with spaces\", () => {\n expect(colorToRgba({ color: \"rgb(128, 64, 32)\" })).toBe(\"rgba(128, 64, 32, 1)\");\n });\n\n it(\"converts rgb color with no spaces\", () => {\n expect(colorToRgba({ color: \"rgb(128,64,32)\" })).toBe(\"rgba(128, 64, 32, 1)\");\n });\n\n it(\"handles rgb with zero values\", () => {\n expect(colorToRgba({ color: \"rgb(0, 0, 0)\" })).toBe(\"rgba(0, 0, 0, 1)\");\n });\n\n it(\"handles rgb with max values\", () => {\n expect(colorToRgba({ color: \"rgb(255, 255, 255)\" })).toBe(\"rgba(255, 255, 255, 1)\");\n });\n });\n\n describe(\"hex format\", () => {\n it(\"converts 6-digit hex color to rgba\", () => {\n expect(colorToRgba({ color: \"#FF0000\" })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n\n it(\"converts 6-digit hex color with custom opacity\", () => {\n expect(colorToRgba({ color: \"#FF0000\", opacity: 0.7 })).toBe(\"rgba(255, 0, 0, 0.7)\");\n });\n\n it(\"converts 3-digit hex color to rgba\", () => {\n expect(colorToRgba({ color: \"#F00\" })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n\n it(\"converts 3-digit hex color with custom opacity\", () => {\n expect(colorToRgba({ color: \"#F00\", opacity: 0.3 })).toBe(\"rgba(255, 0, 0, 0.3)\");\n });\n\n it(\"converts lowercase hex color\", () => {\n expect(colorToRgba({ color: \"#ff0000\" })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n\n it(\"converts mixed case hex color\", () => {\n expect(colorToRgba({ color: \"#Ff00Aa\" })).toBe(\"rgba(255, 0, 170, 1)\");\n });\n\n it(\"converts hex black\", () => {\n expect(colorToRgba({ color: \"#000000\" })).toBe(\"rgba(0, 0, 0, 1)\");\n });\n\n it(\"converts hex white\", () => {\n expect(colorToRgba({ color: \"#FFFFFF\" })).toBe(\"rgba(255, 255, 255, 1)\");\n });\n\n it(\"converts 3-digit gray hex\", () => {\n expect(colorToRgba({ color: \"#888\" })).toBe(\"rgba(136, 136, 136, 1)\");\n });\n });\n\n describe(\"opacity handling\", () => {\n it(\"uses opacity 1 when not provided\", () => {\n expect(colorToRgba({ color: \"#FF0000\" })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n\n it(\"handles opacity 0\", () => {\n expect(colorToRgba({ color: \"#FF0000\", opacity: 0 })).toBe(\"rgba(255, 0, 0, 0)\");\n });\n\n it(\"handles opacity 1\", () => {\n expect(colorToRgba({ color: \"#FF0000\", opacity: 1 })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n\n it(\"handles decimal opacity\", () => {\n expect(colorToRgba({ color: \"#FF0000\", opacity: 0.42 })).toBe(\"rgba(255, 0, 0, 0.42)\");\n });\n\n it(\"ignores opacity for named color 'transparent'\", () => {\n expect(colorToRgba({ color: \"transparent\", opacity: 0.5 })).toBe(\"rgba(0, 0, 0, 0)\");\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"returns original color for unknown format\", () => {\n const unknownColor = \"hsl(120, 100%, 50%)\";\n expect(colorToRgba({ color: unknownColor })).toBe(unknownColor);\n });\n\n it(\"returns original color for invalid named color\", () => {\n const invalidColor = \"magenta\";\n expect(colorToRgba({ color: invalidColor })).toBe(invalidColor);\n });\n\n it(\"returns original color for malformed hex\", () => {\n const malformedHex = \"#GG0000\";\n expect(colorToRgba({ color: malformedHex })).toBe(malformedHex);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["colorToRgba","describe","it","expect","color","toBe","opacity","unknownColor","invalidColor","malformedHex"],"sources":["colorToRgba.test.ts"],"sourcesContent":["import { colorToRgba } from \"../utils/colorToRgba\";\n\ndescribe(\"colorToRgba\", () => {\n describe(\"named colors\", () => {\n it(\"converts 'transparent' to rgba\", () => {\n expect(colorToRgba({ color: \"transparent\" })).toBe(\"rgba(0, 0, 0, 0)\");\n });\n\n it(\"converts 'black' to rgba\", () => {\n expect(colorToRgba({ color: \"black\" })).toBe(\"rgba(0, 0, 0, 1)\");\n });\n\n it(\"converts 'white' to rgba\", () => {\n expect(colorToRgba({ color: \"white\" })).toBe(\"rgba(255, 255, 255, 1)\");\n });\n\n it(\"converts 'blue' to rgba\", () => {\n expect(colorToRgba({ color: \"blue\" })).toBe(\"rgba(0, 0, 255, 1)\");\n });\n\n it(\"converts 'green' to rgba\", () => {\n expect(colorToRgba({ color: \"green\" })).toBe(\"rgba(0, 128, 0, 1)\");\n });\n\n it(\"converts 'gray' to rgba\", () => {\n expect(colorToRgba({ color: \"gray\" })).toBe(\"rgba(128, 128, 128, 1)\");\n });\n\n it(\"converts 'red' to rgba\", () => {\n expect(colorToRgba({ color: \"red\" })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n });\n\n describe(\"RGB format\", () => {\n it(\"converts rgb color to rgba with default opacity\", () => {\n expect(colorToRgba({ color: \"rgb(255, 0, 0)\" })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n\n it(\"converts rgb color to rgba with custom opacity\", () => {\n expect(colorToRgba({ color: \"rgb(255, 0, 0)\", opacity: 0.5 })).toBe(\"rgba(255, 0, 0, 0.5)\");\n });\n\n it(\"converts rgb color with spaces\", () => {\n expect(colorToRgba({ color: \"rgb(128, 64, 32)\" })).toBe(\"rgba(128, 64, 32, 1)\");\n });\n\n it(\"converts rgb color with no spaces\", () => {\n expect(colorToRgba({ color: \"rgb(128,64,32)\" })).toBe(\"rgba(128, 64, 32, 1)\");\n });\n\n it(\"handles rgb with zero values\", () => {\n expect(colorToRgba({ color: \"rgb(0, 0, 0)\" })).toBe(\"rgba(0, 0, 0, 1)\");\n });\n\n it(\"handles rgb with max values\", () => {\n expect(colorToRgba({ color: \"rgb(255, 255, 255)\" })).toBe(\"rgba(255, 255, 255, 1)\");\n });\n });\n\n describe(\"hex format\", () => {\n it(\"converts 6-digit hex color to rgba\", () => {\n expect(colorToRgba({ color: \"#FF0000\" })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n\n it(\"converts 6-digit hex color with custom opacity\", () => {\n expect(colorToRgba({ color: \"#FF0000\", opacity: 0.7 })).toBe(\"rgba(255, 0, 0, 0.7)\");\n });\n\n it(\"converts 3-digit hex color to rgba\", () => {\n expect(colorToRgba({ color: \"#F00\" })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n\n it(\"converts 3-digit hex color with custom opacity\", () => {\n expect(colorToRgba({ color: \"#F00\", opacity: 0.3 })).toBe(\"rgba(255, 0, 0, 0.3)\");\n });\n\n it(\"converts lowercase hex color\", () => {\n expect(colorToRgba({ color: \"#ff0000\" })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n\n it(\"converts mixed case hex color\", () => {\n expect(colorToRgba({ color: \"#Ff00Aa\" })).toBe(\"rgba(255, 0, 170, 1)\");\n });\n\n it(\"converts hex black\", () => {\n expect(colorToRgba({ color: \"#000000\" })).toBe(\"rgba(0, 0, 0, 1)\");\n });\n\n it(\"converts hex white\", () => {\n expect(colorToRgba({ color: \"#FFFFFF\" })).toBe(\"rgba(255, 255, 255, 1)\");\n });\n\n it(\"converts 3-digit gray hex\", () => {\n expect(colorToRgba({ color: \"#888\" })).toBe(\"rgba(136, 136, 136, 1)\");\n });\n });\n\n describe(\"opacity handling\", () => {\n it(\"uses opacity 1 when not provided\", () => {\n expect(colorToRgba({ color: \"#FF0000\" })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n\n it(\"handles opacity 0\", () => {\n expect(colorToRgba({ color: \"#FF0000\", opacity: 0 })).toBe(\"rgba(255, 0, 0, 0)\");\n });\n\n it(\"handles opacity 1\", () => {\n expect(colorToRgba({ color: \"#FF0000\", opacity: 1 })).toBe(\"rgba(255, 0, 0, 1)\");\n });\n\n it(\"handles decimal opacity\", () => {\n expect(colorToRgba({ color: \"#FF0000\", opacity: 0.42 })).toBe(\"rgba(255, 0, 0, 0.42)\");\n });\n\n it(\"ignores opacity for named color 'transparent'\", () => {\n expect(colorToRgba({ color: \"transparent\", opacity: 0.5 })).toBe(\"rgba(0, 0, 0, 0)\");\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"returns original color for unknown format\", () => {\n const unknownColor = \"hsl(120, 100%, 50%)\";\n expect(colorToRgba({ color: unknownColor })).toBe(unknownColor);\n });\n\n it(\"returns original color for invalid named color\", () => {\n const invalidColor = \"magenta\";\n expect(colorToRgba({ color: invalidColor })).toBe(invalidColor);\n });\n\n it(\"returns original color for malformed hex\", () => {\n const malformedHex = \"#GG0000\";\n expect(colorToRgba({ color: malformedHex })).toBe(malformedHex);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -3,28 +3,28 @@ describe("generateNumbers", () => {
3
3
  describe("basic functionality", () => {
4
4
  it("generates correct number of items", () => {
5
5
  const result = generateNumbers(10, {
6
+ disableInfiniteScroll: true,
6
7
  interval: 1,
7
8
  padWithNItems: 0,
8
- repeatNTimes: 1,
9
- disableInfiniteScroll: true
9
+ repeatNTimes: 1
10
10
  });
11
11
  expect(result).toHaveLength(10);
12
12
  });
13
13
  it("generates numbers with correct interval", () => {
14
14
  const result = generateNumbers(5, {
15
+ disableInfiniteScroll: true,
15
16
  interval: 2,
16
17
  padWithNItems: 0,
17
- repeatNTimes: 1,
18
- disableInfiniteScroll: true
18
+ repeatNTimes: 1
19
19
  });
20
20
  expect(result).toEqual(["\u20070", "\u20072", "\u20074", "\u20076", "\u20078"]);
21
21
  });
22
22
  it("generates numbers with interval of 5", () => {
23
23
  const result = generateNumbers(4, {
24
+ disableInfiniteScroll: true,
24
25
  interval: 5,
25
26
  padWithNItems: 0,
26
- repeatNTimes: 1,
27
- disableInfiniteScroll: true
27
+ repeatNTimes: 1
28
28
  });
29
29
  expect(result).toEqual(["\u20070", "\u20075", "10", "15"]);
30
30
  });
@@ -48,21 +48,21 @@ describe("generateNumbers", () => {
48
48
  describe("padding with zeros", () => {
49
49
  it("pads single-digit numbers with zeros", () => {
50
50
  const result = generateNumbers(5, {
51
+ disableInfiniteScroll: true,
51
52
  interval: 1,
52
- padWithNItems: 0,
53
- repeatNTimes: 1,
54
53
  padNumbersWithZero: true,
55
- disableInfiniteScroll: true
54
+ padWithNItems: 0,
55
+ repeatNTimes: 1
56
56
  });
57
57
  expect(result).toEqual(["00", "01", "02", "03", "04"]);
58
58
  });
59
59
  it("does not pad double-digit numbers", () => {
60
60
  const result = generateNumbers(15, {
61
+ disableInfiniteScroll: true,
61
62
  interval: 1,
62
- padWithNItems: 0,
63
- repeatNTimes: 1,
64
63
  padNumbersWithZero: true,
65
- disableInfiniteScroll: true
64
+ padWithNItems: 0,
65
+ repeatNTimes: 1
66
66
  });
67
67
  expect(result[0]).toBe("00");
68
68
  expect(result[9]).toBe("09");
@@ -71,11 +71,11 @@ describe("generateNumbers", () => {
71
71
  });
72
72
  it("pads with space when padNumbersWithZero is false", () => {
73
73
  const result = generateNumbers(5, {
74
+ disableInfiniteScroll: true,
74
75
  interval: 1,
75
- padWithNItems: 0,
76
- repeatNTimes: 1,
77
76
  padNumbersWithZero: false,
78
- disableInfiniteScroll: true
77
+ padWithNItems: 0,
78
+ repeatNTimes: 1
79
79
  });
80
80
  expect(result).toEqual(["\u20070", "\u20071", "\u20072", "\u20073", "\u20074"]);
81
81
  });
@@ -83,29 +83,29 @@ describe("generateNumbers", () => {
83
83
  describe("padding with empty items", () => {
84
84
  it("adds padding items at start and end when infinite scroll is disabled", () => {
85
85
  const result = generateNumbers(3, {
86
+ disableInfiniteScroll: true,
86
87
  interval: 1,
87
88
  padWithNItems: 2,
88
- repeatNTimes: 1,
89
- disableInfiniteScroll: true
89
+ repeatNTimes: 1
90
90
  });
91
91
  expect(result).toEqual(["", "", "\u20070", "\u20071", "\u20072", "", ""]);
92
92
  expect(result).toHaveLength(7);
93
93
  });
94
94
  it("adds padding with 1 item", () => {
95
95
  const result = generateNumbers(3, {
96
+ disableInfiniteScroll: true,
96
97
  interval: 1,
97
98
  padWithNItems: 1,
98
- repeatNTimes: 1,
99
- disableInfiniteScroll: true
99
+ repeatNTimes: 1
100
100
  });
101
101
  expect(result).toEqual(["", "\u20070", "\u20071", "\u20072", ""]);
102
102
  });
103
103
  it("adds padding with 3 items", () => {
104
104
  const result = generateNumbers(2, {
105
+ disableInfiniteScroll: true,
105
106
  interval: 1,
106
107
  padWithNItems: 3,
107
- repeatNTimes: 1,
108
- disableInfiniteScroll: true
108
+ repeatNTimes: 1
109
109
  });
110
110
  expect(result).toEqual(["", "", "", "\u20070", "\u20071", "", "", ""]);
111
111
  });
@@ -113,19 +113,19 @@ describe("generateNumbers", () => {
113
113
  describe("number repetition", () => {
114
114
  it("repeats numbers when repeatNTimes is 2", () => {
115
115
  const result = generateNumbers(3, {
116
+ disableInfiniteScroll: false,
116
117
  interval: 1,
117
118
  padWithNItems: 0,
118
- repeatNTimes: 2,
119
- disableInfiniteScroll: false
119
+ repeatNTimes: 2
120
120
  });
121
121
  expect(result).toEqual(["\u20070", "\u20071", "\u20072", "\u20070", "\u20071", "\u20072"]);
122
122
  });
123
123
  it("repeats numbers when repeatNTimes is 3", () => {
124
124
  const result = generateNumbers(2, {
125
+ disableInfiniteScroll: false,
125
126
  interval: 1,
126
127
  padWithNItems: 0,
127
- repeatNTimes: 3,
128
- disableInfiniteScroll: false
128
+ repeatNTimes: 3
129
129
  });
130
130
  expect(result).toEqual(["\u20070", "\u20071", "\u20070", "\u20071", "\u20070", "\u20071"]);
131
131
  });
@@ -133,31 +133,31 @@ describe("generateNumbers", () => {
133
133
  describe("combined options", () => {
134
134
  it("combines padding with zeros and empty items", () => {
135
135
  const result = generateNumbers(3, {
136
+ disableInfiniteScroll: true,
136
137
  interval: 1,
137
- padWithNItems: 1,
138
- repeatNTimes: 1,
139
138
  padNumbersWithZero: true,
140
- disableInfiniteScroll: true
139
+ padWithNItems: 1,
140
+ repeatNTimes: 1
141
141
  });
142
142
  expect(result).toEqual(["", "00", "01", "02", ""]);
143
143
  });
144
144
  it("combines interval, padding with zeros, and repetition", () => {
145
145
  const result = generateNumbers(3, {
146
+ disableInfiniteScroll: false,
146
147
  interval: 5,
147
- padWithNItems: 0,
148
- repeatNTimes: 2,
149
148
  padNumbersWithZero: true,
150
- disableInfiniteScroll: false
149
+ padWithNItems: 0,
150
+ repeatNTimes: 2
151
151
  });
152
152
  expect(result).toEqual(["00", "05", "10", "00", "05", "10"]);
153
153
  });
154
154
  it("handles all options together", () => {
155
155
  const result = generateNumbers(3, {
156
+ disableInfiniteScroll: false,
156
157
  interval: 2,
157
- padWithNItems: 1,
158
- repeatNTimes: 2,
159
158
  padNumbersWithZero: true,
160
- disableInfiniteScroll: false
159
+ padWithNItems: 1,
160
+ repeatNTimes: 2
161
161
  });
162
162
  expect(result).toEqual(["00", "02", "04", "00", "02", "04"]);
163
163
  });
@@ -167,9 +167,9 @@ describe("generate12HourNumbers", () => {
167
167
  describe("basic functionality", () => {
168
168
  it("generates all 24 hours with 1-hour interval", () => {
169
169
  const result = generate12HourNumbers({
170
+ disableInfiniteScroll: false,
170
171
  interval: 1,
171
- padWithNItems: 0,
172
- disableInfiniteScroll: false
172
+ padWithNItems: 0
173
173
  });
174
174
  expect(result).toHaveLength(24);
175
175
  expect(result[0]).toBe("12 AM");
@@ -179,9 +179,9 @@ describe("generate12HourNumbers", () => {
179
179
  });
180
180
  it("generates hours with 2-hour interval", () => {
181
181
  const result = generate12HourNumbers({
182
+ disableInfiniteScroll: false,
182
183
  interval: 2,
183
- padWithNItems: 0,
184
- disableInfiniteScroll: false
184
+ padWithNItems: 0
185
185
  });
186
186
  expect(result).toHaveLength(12);
187
187
  expect(result[0]).toBe("12 AM");
@@ -191,9 +191,9 @@ describe("generate12HourNumbers", () => {
191
191
  });
192
192
  it("generates hours with 3-hour interval", () => {
193
193
  const result = generate12HourNumbers({
194
+ disableInfiniteScroll: false,
194
195
  interval: 3,
195
- padWithNItems: 0,
196
- disableInfiniteScroll: false
196
+ padWithNItems: 0
197
197
  });
198
198
  expect(result).toHaveLength(8);
199
199
  expect(result[0]).toBe("12 AM");
@@ -203,9 +203,9 @@ describe("generate12HourNumbers", () => {
203
203
  });
204
204
  it("generates hours with 4-hour interval", () => {
205
205
  const result = generate12HourNumbers({
206
+ disableInfiniteScroll: false,
206
207
  interval: 4,
207
- padWithNItems: 0,
208
- disableInfiniteScroll: false
208
+ padWithNItems: 0
209
209
  });
210
210
  expect(result).toHaveLength(6);
211
211
  expect(result[0]).toBe("12 AM");
@@ -215,9 +215,9 @@ describe("generate12HourNumbers", () => {
215
215
  });
216
216
  it("generates hours with 6-hour interval", () => {
217
217
  const result = generate12HourNumbers({
218
+ disableInfiniteScroll: false,
218
219
  interval: 6,
219
- padWithNItems: 0,
220
- disableInfiniteScroll: false
220
+ padWithNItems: 0
221
221
  });
222
222
  expect(result).toHaveLength(4);
223
223
  expect(result[0]).toBe("12 AM");
@@ -229,10 +229,10 @@ describe("generate12HourNumbers", () => {
229
229
  describe("padding with zeros", () => {
230
230
  it("pads hours with zeros", () => {
231
231
  const result = generate12HourNumbers({
232
+ disableInfiniteScroll: false,
232
233
  interval: 1,
233
- padWithNItems: 0,
234
234
  padNumbersWithZero: true,
235
- disableInfiniteScroll: false
235
+ padWithNItems: 0
236
236
  });
237
237
  expect(result[0]).toBe("12 AM");
238
238
  expect(result[1]).toBe("01 AM");
@@ -242,10 +242,10 @@ describe("generate12HourNumbers", () => {
242
242
  });
243
243
  it("handles 12-hour format correctly with zero padding", () => {
244
244
  const result = generate12HourNumbers({
245
+ disableInfiniteScroll: false,
245
246
  interval: 1,
246
- padWithNItems: 0,
247
247
  padNumbersWithZero: true,
248
- disableInfiniteScroll: false
248
+ padWithNItems: 0
249
249
  });
250
250
  expect(result[12]).toBe("12 PM"); // 12 PM should not be 00 PM
251
251
  expect(result[13]).toBe("01 PM");
@@ -254,9 +254,9 @@ describe("generate12HourNumbers", () => {
254
254
  describe("padding with empty items", () => {
255
255
  it("adds padding at start and end when infinite scroll is disabled", () => {
256
256
  const result = generate12HourNumbers({
257
+ disableInfiniteScroll: true,
257
258
  interval: 6,
258
- padWithNItems: 2,
259
- disableInfiniteScroll: true
259
+ padWithNItems: 2
260
260
  });
261
261
  expect(result[0]).toBe("");
262
262
  expect(result[1]).toBe("");
@@ -270,9 +270,9 @@ describe("generate12HourNumbers", () => {
270
270
  });
271
271
  it("does not add padding when infinite scroll is enabled", () => {
272
272
  const result = generate12HourNumbers({
273
+ disableInfiniteScroll: false,
273
274
  interval: 6,
274
- padWithNItems: 2,
275
- disableInfiniteScroll: false
275
+ padWithNItems: 2
276
276
  });
277
277
  expect(result[0]).toBe("12 AM");
278
278
  expect(result[3]).toBe("\u20076 PM");
@@ -282,10 +282,10 @@ describe("generate12HourNumbers", () => {
282
282
  describe("number repetition", () => {
283
283
  it("repeats hours when repeatNTimes is 2", () => {
284
284
  const result = generate12HourNumbers({
285
+ disableInfiniteScroll: false,
285
286
  interval: 6,
286
287
  padWithNItems: 0,
287
- repeatNTimes: 2,
288
- disableInfiniteScroll: false
288
+ repeatNTimes: 2
289
289
  });
290
290
  expect(result).toHaveLength(8);
291
291
  expect(result[0]).toBe("12 AM");
@@ -295,10 +295,10 @@ describe("generate12HourNumbers", () => {
295
295
  });
296
296
  it("repeats hours when repeatNTimes is 3", () => {
297
297
  const result = generate12HourNumbers({
298
+ disableInfiniteScroll: false,
298
299
  interval: 12,
299
300
  padWithNItems: 0,
300
- repeatNTimes: 3,
301
- disableInfiniteScroll: false
301
+ repeatNTimes: 3
302
302
  });
303
303
  expect(result).toHaveLength(6);
304
304
  expect(result[0]).toBe("12 AM");
@@ -310,9 +310,9 @@ describe("generate12HourNumbers", () => {
310
310
  });
311
311
  it("defaults to repeatNTimes of 1 when not provided", () => {
312
312
  const result = generate12HourNumbers({
313
+ disableInfiniteScroll: false,
313
314
  interval: 12,
314
- padWithNItems: 0,
315
- disableInfiniteScroll: false
315
+ padWithNItems: 0
316
316
  });
317
317
  expect(result).toHaveLength(2);
318
318
  });
@@ -320,20 +320,20 @@ describe("generate12HourNumbers", () => {
320
320
  describe("combined options", () => {
321
321
  it("combines padding with zeros and empty items", () => {
322
322
  const result = generate12HourNumbers({
323
+ disableInfiniteScroll: true,
323
324
  interval: 12,
324
- padWithNItems: 1,
325
325
  padNumbersWithZero: true,
326
- disableInfiniteScroll: true
326
+ padWithNItems: 1
327
327
  });
328
328
  expect(result).toEqual(["", "12 AM", "12 PM", ""]);
329
329
  });
330
330
  it("combines all options", () => {
331
331
  const result = generate12HourNumbers({
332
+ disableInfiniteScroll: false,
332
333
  interval: 6,
333
- padWithNItems: 1,
334
334
  padNumbersWithZero: true,
335
- repeatNTimes: 2,
336
- disableInfiniteScroll: false
335
+ padWithNItems: 1,
336
+ repeatNTimes: 2
337
337
  });
338
338
  expect(result).toHaveLength(8);
339
339
  expect(result[0]).toBe("12 AM");
@@ -1 +1 @@
1
- {"version":3,"names":["generateNumbers","generate12HourNumbers","describe","it","result","interval","padWithNItems","repeatNTimes","disableInfiniteScroll","expect","toHaveLength","toEqual","padNumbersWithZero","toBe"],"sources":["generateNumbers.test.ts"],"sourcesContent":["import {\n generateNumbers,\n generate12HourNumbers,\n} from \"../utils/generateNumbers\";\n\ndescribe(\"generateNumbers\", () => {\n describe(\"basic functionality\", () => {\n it(\"generates correct number of items\", () => {\n const result = generateNumbers(10, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n disableInfiniteScroll: true,\n });\n expect(result).toHaveLength(10);\n });\n\n it(\"generates numbers with correct interval\", () => {\n const result = generateNumbers(5, {\n interval: 2,\n padWithNItems: 0,\n repeatNTimes: 1,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\\u20070\", \"\\u20072\", \"\\u20074\", \"\\u20076\", \"\\u20078\"]);\n });\n\n it(\"generates numbers with interval of 5\", () => {\n const result = generateNumbers(4, {\n interval: 5,\n padWithNItems: 0,\n repeatNTimes: 1,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\\u20070\", \"\\u20075\", \"10\", \"15\"]);\n });\n\n it(\"returns empty array when numberOfItems is 0\", () => {\n const result = generateNumbers(0, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n });\n expect(result).toEqual([]);\n });\n\n it(\"returns empty array when numberOfItems is negative\", () => {\n const result = generateNumbers(-5, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n });\n expect(result).toEqual([]);\n });\n });\n\n describe(\"padding with zeros\", () => {\n it(\"pads single-digit numbers with zeros\", () => {\n const result = generateNumbers(5, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n padNumbersWithZero: true,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"00\", \"01\", \"02\", \"03\", \"04\"]);\n });\n\n it(\"does not pad double-digit numbers\", () => {\n const result = generateNumbers(15, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n padNumbersWithZero: true,\n disableInfiniteScroll: true,\n });\n expect(result[0]).toBe(\"00\");\n expect(result[9]).toBe(\"09\");\n expect(result[10]).toBe(\"10\");\n expect(result[14]).toBe(\"14\");\n });\n\n it(\"pads with space when padNumbersWithZero is false\", () => {\n const result = generateNumbers(5, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n padNumbersWithZero: false,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\\u20070\", \"\\u20071\", \"\\u20072\", \"\\u20073\", \"\\u20074\"]);\n });\n });\n\n describe(\"padding with empty items\", () => {\n it(\"adds padding items at start and end when infinite scroll is disabled\", () => {\n const result = generateNumbers(3, {\n interval: 1,\n padWithNItems: 2,\n repeatNTimes: 1,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\", \"\", \"\\u20070\", \"\\u20071\", \"\\u20072\", \"\", \"\"]);\n expect(result).toHaveLength(7);\n });\n\n it(\"adds padding with 1 item\", () => {\n const result = generateNumbers(3, {\n interval: 1,\n padWithNItems: 1,\n repeatNTimes: 1,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\", \"\\u20070\", \"\\u20071\", \"\\u20072\", \"\"]);\n });\n\n it(\"adds padding with 3 items\", () => {\n const result = generateNumbers(2, {\n interval: 1,\n padWithNItems: 3,\n repeatNTimes: 1,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\", \"\", \"\", \"\\u20070\", \"\\u20071\", \"\", \"\", \"\"]);\n });\n });\n\n describe(\"number repetition\", () => {\n it(\"repeats numbers when repeatNTimes is 2\", () => {\n const result = generateNumbers(3, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 2,\n disableInfiniteScroll: false,\n });\n expect(result).toEqual([\"\\u20070\", \"\\u20071\", \"\\u20072\", \"\\u20070\", \"\\u20071\", \"\\u20072\"]);\n });\n\n it(\"repeats numbers when repeatNTimes is 3\", () => {\n const result = generateNumbers(2, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 3,\n disableInfiniteScroll: false,\n });\n expect(result).toEqual([\"\\u20070\", \"\\u20071\", \"\\u20070\", \"\\u20071\", \"\\u20070\", \"\\u20071\"]);\n });\n });\n\n describe(\"combined options\", () => {\n it(\"combines padding with zeros and empty items\", () => {\n const result = generateNumbers(3, {\n interval: 1,\n padWithNItems: 1,\n repeatNTimes: 1,\n padNumbersWithZero: true,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\", \"00\", \"01\", \"02\", \"\"]);\n });\n\n it(\"combines interval, padding with zeros, and repetition\", () => {\n const result = generateNumbers(3, {\n interval: 5,\n padWithNItems: 0,\n repeatNTimes: 2,\n padNumbersWithZero: true,\n disableInfiniteScroll: false,\n });\n expect(result).toEqual([\"00\", \"05\", \"10\", \"00\", \"05\", \"10\"]);\n });\n\n it(\"handles all options together\", () => {\n const result = generateNumbers(3, {\n interval: 2,\n padWithNItems: 1,\n repeatNTimes: 2,\n padNumbersWithZero: true,\n disableInfiniteScroll: false,\n });\n expect(result).toEqual([\"00\", \"02\", \"04\", \"00\", \"02\", \"04\"]);\n });\n });\n});\n\ndescribe(\"generate12HourNumbers\", () => {\n describe(\"basic functionality\", () => {\n it(\"generates all 24 hours with 1-hour interval\", () => {\n const result = generate12HourNumbers({\n interval: 1,\n padWithNItems: 0,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(24);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[11]).toBe(\"11 AM\");\n expect(result[12]).toBe(\"12 PM\");\n expect(result[23]).toBe(\"11 PM\");\n });\n\n it(\"generates hours with 2-hour interval\", () => {\n const result = generate12HourNumbers({\n interval: 2,\n padWithNItems: 0,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(12);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[5]).toBe(\"10 AM\");\n expect(result[6]).toBe(\"12 PM\");\n expect(result[11]).toBe(\"10 PM\");\n });\n\n it(\"generates hours with 3-hour interval\", () => {\n const result = generate12HourNumbers({\n interval: 3,\n padWithNItems: 0,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(8);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[3]).toBe(\"\\u20079 AM\");\n expect(result[4]).toBe(\"12 PM\");\n expect(result[7]).toBe(\"\\u20079 PM\");\n });\n\n it(\"generates hours with 4-hour interval\", () => {\n const result = generate12HourNumbers({\n interval: 4,\n padWithNItems: 0,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(6);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[2]).toBe(\"\\u20078 AM\");\n expect(result[3]).toBe(\"12 PM\");\n expect(result[5]).toBe(\"\\u20078 PM\");\n });\n\n it(\"generates hours with 6-hour interval\", () => {\n const result = generate12HourNumbers({\n interval: 6,\n padWithNItems: 0,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(4);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[1]).toBe(\"\\u20076 AM\");\n expect(result[2]).toBe(\"12 PM\");\n expect(result[3]).toBe(\"\\u20076 PM\");\n });\n });\n\n describe(\"padding with zeros\", () => {\n it(\"pads hours with zeros\", () => {\n const result = generate12HourNumbers({\n interval: 1,\n padWithNItems: 0,\n padNumbersWithZero: true,\n disableInfiniteScroll: false,\n });\n expect(result[0]).toBe(\"12 AM\");\n expect(result[1]).toBe(\"01 AM\");\n expect(result[9]).toBe(\"09 AM\");\n expect(result[10]).toBe(\"10 AM\");\n expect(result[12]).toBe(\"12 PM\");\n });\n\n it(\"handles 12-hour format correctly with zero padding\", () => {\n const result = generate12HourNumbers({\n interval: 1,\n padWithNItems: 0,\n padNumbersWithZero: true,\n disableInfiniteScroll: false,\n });\n expect(result[12]).toBe(\"12 PM\"); // 12 PM should not be 00 PM\n expect(result[13]).toBe(\"01 PM\");\n });\n });\n\n describe(\"padding with empty items\", () => {\n it(\"adds padding at start and end when infinite scroll is disabled\", () => {\n const result = generate12HourNumbers({\n interval: 6,\n padWithNItems: 2,\n disableInfiniteScroll: true,\n });\n expect(result[0]).toBe(\"\");\n expect(result[1]).toBe(\"\");\n expect(result[2]).toBe(\"12 AM\");\n expect(result[3]).toBe(\"\\u20076 AM\");\n expect(result[4]).toBe(\"12 PM\");\n expect(result[5]).toBe(\"\\u20076 PM\");\n expect(result[6]).toBe(\"\");\n expect(result[7]).toBe(\"\");\n expect(result).toHaveLength(8);\n });\n\n it(\"does not add padding when infinite scroll is enabled\", () => {\n const result = generate12HourNumbers({\n interval: 6,\n padWithNItems: 2,\n disableInfiniteScroll: false,\n });\n expect(result[0]).toBe(\"12 AM\");\n expect(result[3]).toBe(\"\\u20076 PM\");\n expect(result).toHaveLength(4);\n });\n });\n\n describe(\"number repetition\", () => {\n it(\"repeats hours when repeatNTimes is 2\", () => {\n const result = generate12HourNumbers({\n interval: 6,\n padWithNItems: 0,\n repeatNTimes: 2,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(8);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[3]).toBe(\"\\u20076 PM\");\n expect(result[4]).toBe(\"12 AM\");\n expect(result[7]).toBe(\"\\u20076 PM\");\n });\n\n it(\"repeats hours when repeatNTimes is 3\", () => {\n const result = generate12HourNumbers({\n interval: 12,\n padWithNItems: 0,\n repeatNTimes: 3,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(6);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[1]).toBe(\"12 PM\");\n expect(result[2]).toBe(\"12 AM\");\n expect(result[3]).toBe(\"12 PM\");\n expect(result[4]).toBe(\"12 AM\");\n expect(result[5]).toBe(\"12 PM\");\n });\n\n it(\"defaults to repeatNTimes of 1 when not provided\", () => {\n const result = generate12HourNumbers({\n interval: 12,\n padWithNItems: 0,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(2);\n });\n });\n\n describe(\"combined options\", () => {\n it(\"combines padding with zeros and empty items\", () => {\n const result = generate12HourNumbers({\n interval: 12,\n padWithNItems: 1,\n padNumbersWithZero: true,\n disableInfiniteScroll: true,\n });\n expect(result).toEqual([\"\", \"12 AM\", \"12 PM\", \"\"]);\n });\n\n it(\"combines all options\", () => {\n const result = generate12HourNumbers({\n interval: 6,\n padWithNItems: 1,\n padNumbersWithZero: true,\n repeatNTimes: 2,\n disableInfiniteScroll: false,\n });\n expect(result).toHaveLength(8);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[1]).toBe(\"06 AM\");\n expect(result[2]).toBe(\"12 PM\");\n expect(result[3]).toBe(\"06 PM\");\n expect(result[4]).toBe(\"12 AM\");\n expect(result[7]).toBe(\"06 PM\");\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["generateNumbers","generate12HourNumbers","describe","it","result","disableInfiniteScroll","interval","padWithNItems","repeatNTimes","expect","toHaveLength","toEqual","padNumbersWithZero","toBe"],"sources":["generateNumbers.test.ts"],"sourcesContent":["import { generateNumbers, generate12HourNumbers } from \"../utils/generateNumbers\";\n\ndescribe(\"generateNumbers\", () => {\n describe(\"basic functionality\", () => {\n it(\"generates correct number of items\", () => {\n const result = generateNumbers(10, {\n disableInfiniteScroll: true,\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n });\n expect(result).toHaveLength(10);\n });\n\n it(\"generates numbers with correct interval\", () => {\n const result = generateNumbers(5, {\n disableInfiniteScroll: true,\n interval: 2,\n padWithNItems: 0,\n repeatNTimes: 1,\n });\n expect(result).toEqual([\"\\u20070\", \"\\u20072\", \"\\u20074\", \"\\u20076\", \"\\u20078\"]);\n });\n\n it(\"generates numbers with interval of 5\", () => {\n const result = generateNumbers(4, {\n disableInfiniteScroll: true,\n interval: 5,\n padWithNItems: 0,\n repeatNTimes: 1,\n });\n expect(result).toEqual([\"\\u20070\", \"\\u20075\", \"10\", \"15\"]);\n });\n\n it(\"returns empty array when numberOfItems is 0\", () => {\n const result = generateNumbers(0, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n });\n expect(result).toEqual([]);\n });\n\n it(\"returns empty array when numberOfItems is negative\", () => {\n const result = generateNumbers(-5, {\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 1,\n });\n expect(result).toEqual([]);\n });\n });\n\n describe(\"padding with zeros\", () => {\n it(\"pads single-digit numbers with zeros\", () => {\n const result = generateNumbers(5, {\n disableInfiniteScroll: true,\n interval: 1,\n padNumbersWithZero: true,\n padWithNItems: 0,\n repeatNTimes: 1,\n });\n expect(result).toEqual([\"00\", \"01\", \"02\", \"03\", \"04\"]);\n });\n\n it(\"does not pad double-digit numbers\", () => {\n const result = generateNumbers(15, {\n disableInfiniteScroll: true,\n interval: 1,\n padNumbersWithZero: true,\n padWithNItems: 0,\n repeatNTimes: 1,\n });\n expect(result[0]).toBe(\"00\");\n expect(result[9]).toBe(\"09\");\n expect(result[10]).toBe(\"10\");\n expect(result[14]).toBe(\"14\");\n });\n\n it(\"pads with space when padNumbersWithZero is false\", () => {\n const result = generateNumbers(5, {\n disableInfiniteScroll: true,\n interval: 1,\n padNumbersWithZero: false,\n padWithNItems: 0,\n repeatNTimes: 1,\n });\n expect(result).toEqual([\"\\u20070\", \"\\u20071\", \"\\u20072\", \"\\u20073\", \"\\u20074\"]);\n });\n });\n\n describe(\"padding with empty items\", () => {\n it(\"adds padding items at start and end when infinite scroll is disabled\", () => {\n const result = generateNumbers(3, {\n disableInfiniteScroll: true,\n interval: 1,\n padWithNItems: 2,\n repeatNTimes: 1,\n });\n expect(result).toEqual([\"\", \"\", \"\\u20070\", \"\\u20071\", \"\\u20072\", \"\", \"\"]);\n expect(result).toHaveLength(7);\n });\n\n it(\"adds padding with 1 item\", () => {\n const result = generateNumbers(3, {\n disableInfiniteScroll: true,\n interval: 1,\n padWithNItems: 1,\n repeatNTimes: 1,\n });\n expect(result).toEqual([\"\", \"\\u20070\", \"\\u20071\", \"\\u20072\", \"\"]);\n });\n\n it(\"adds padding with 3 items\", () => {\n const result = generateNumbers(2, {\n disableInfiniteScroll: true,\n interval: 1,\n padWithNItems: 3,\n repeatNTimes: 1,\n });\n expect(result).toEqual([\"\", \"\", \"\", \"\\u20070\", \"\\u20071\", \"\", \"\", \"\"]);\n });\n });\n\n describe(\"number repetition\", () => {\n it(\"repeats numbers when repeatNTimes is 2\", () => {\n const result = generateNumbers(3, {\n disableInfiniteScroll: false,\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 2,\n });\n expect(result).toEqual([\"\\u20070\", \"\\u20071\", \"\\u20072\", \"\\u20070\", \"\\u20071\", \"\\u20072\"]);\n });\n\n it(\"repeats numbers when repeatNTimes is 3\", () => {\n const result = generateNumbers(2, {\n disableInfiniteScroll: false,\n interval: 1,\n padWithNItems: 0,\n repeatNTimes: 3,\n });\n expect(result).toEqual([\"\\u20070\", \"\\u20071\", \"\\u20070\", \"\\u20071\", \"\\u20070\", \"\\u20071\"]);\n });\n });\n\n describe(\"combined options\", () => {\n it(\"combines padding with zeros and empty items\", () => {\n const result = generateNumbers(3, {\n disableInfiniteScroll: true,\n interval: 1,\n padNumbersWithZero: true,\n padWithNItems: 1,\n repeatNTimes: 1,\n });\n expect(result).toEqual([\"\", \"00\", \"01\", \"02\", \"\"]);\n });\n\n it(\"combines interval, padding with zeros, and repetition\", () => {\n const result = generateNumbers(3, {\n disableInfiniteScroll: false,\n interval: 5,\n padNumbersWithZero: true,\n padWithNItems: 0,\n repeatNTimes: 2,\n });\n expect(result).toEqual([\"00\", \"05\", \"10\", \"00\", \"05\", \"10\"]);\n });\n\n it(\"handles all options together\", () => {\n const result = generateNumbers(3, {\n disableInfiniteScroll: false,\n interval: 2,\n padNumbersWithZero: true,\n padWithNItems: 1,\n repeatNTimes: 2,\n });\n expect(result).toEqual([\"00\", \"02\", \"04\", \"00\", \"02\", \"04\"]);\n });\n });\n});\n\ndescribe(\"generate12HourNumbers\", () => {\n describe(\"basic functionality\", () => {\n it(\"generates all 24 hours with 1-hour interval\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: false,\n interval: 1,\n padWithNItems: 0,\n });\n expect(result).toHaveLength(24);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[11]).toBe(\"11 AM\");\n expect(result[12]).toBe(\"12 PM\");\n expect(result[23]).toBe(\"11 PM\");\n });\n\n it(\"generates hours with 2-hour interval\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: false,\n interval: 2,\n padWithNItems: 0,\n });\n expect(result).toHaveLength(12);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[5]).toBe(\"10 AM\");\n expect(result[6]).toBe(\"12 PM\");\n expect(result[11]).toBe(\"10 PM\");\n });\n\n it(\"generates hours with 3-hour interval\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: false,\n interval: 3,\n padWithNItems: 0,\n });\n expect(result).toHaveLength(8);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[3]).toBe(\"\\u20079 AM\");\n expect(result[4]).toBe(\"12 PM\");\n expect(result[7]).toBe(\"\\u20079 PM\");\n });\n\n it(\"generates hours with 4-hour interval\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: false,\n interval: 4,\n padWithNItems: 0,\n });\n expect(result).toHaveLength(6);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[2]).toBe(\"\\u20078 AM\");\n expect(result[3]).toBe(\"12 PM\");\n expect(result[5]).toBe(\"\\u20078 PM\");\n });\n\n it(\"generates hours with 6-hour interval\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: false,\n interval: 6,\n padWithNItems: 0,\n });\n expect(result).toHaveLength(4);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[1]).toBe(\"\\u20076 AM\");\n expect(result[2]).toBe(\"12 PM\");\n expect(result[3]).toBe(\"\\u20076 PM\");\n });\n });\n\n describe(\"padding with zeros\", () => {\n it(\"pads hours with zeros\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: false,\n interval: 1,\n padNumbersWithZero: true,\n padWithNItems: 0,\n });\n expect(result[0]).toBe(\"12 AM\");\n expect(result[1]).toBe(\"01 AM\");\n expect(result[9]).toBe(\"09 AM\");\n expect(result[10]).toBe(\"10 AM\");\n expect(result[12]).toBe(\"12 PM\");\n });\n\n it(\"handles 12-hour format correctly with zero padding\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: false,\n interval: 1,\n padNumbersWithZero: true,\n padWithNItems: 0,\n });\n expect(result[12]).toBe(\"12 PM\"); // 12 PM should not be 00 PM\n expect(result[13]).toBe(\"01 PM\");\n });\n });\n\n describe(\"padding with empty items\", () => {\n it(\"adds padding at start and end when infinite scroll is disabled\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: true,\n interval: 6,\n padWithNItems: 2,\n });\n expect(result[0]).toBe(\"\");\n expect(result[1]).toBe(\"\");\n expect(result[2]).toBe(\"12 AM\");\n expect(result[3]).toBe(\"\\u20076 AM\");\n expect(result[4]).toBe(\"12 PM\");\n expect(result[5]).toBe(\"\\u20076 PM\");\n expect(result[6]).toBe(\"\");\n expect(result[7]).toBe(\"\");\n expect(result).toHaveLength(8);\n });\n\n it(\"does not add padding when infinite scroll is enabled\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: false,\n interval: 6,\n padWithNItems: 2,\n });\n expect(result[0]).toBe(\"12 AM\");\n expect(result[3]).toBe(\"\\u20076 PM\");\n expect(result).toHaveLength(4);\n });\n });\n\n describe(\"number repetition\", () => {\n it(\"repeats hours when repeatNTimes is 2\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: false,\n interval: 6,\n padWithNItems: 0,\n repeatNTimes: 2,\n });\n expect(result).toHaveLength(8);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[3]).toBe(\"\\u20076 PM\");\n expect(result[4]).toBe(\"12 AM\");\n expect(result[7]).toBe(\"\\u20076 PM\");\n });\n\n it(\"repeats hours when repeatNTimes is 3\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: false,\n interval: 12,\n padWithNItems: 0,\n repeatNTimes: 3,\n });\n expect(result).toHaveLength(6);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[1]).toBe(\"12 PM\");\n expect(result[2]).toBe(\"12 AM\");\n expect(result[3]).toBe(\"12 PM\");\n expect(result[4]).toBe(\"12 AM\");\n expect(result[5]).toBe(\"12 PM\");\n });\n\n it(\"defaults to repeatNTimes of 1 when not provided\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: false,\n interval: 12,\n padWithNItems: 0,\n });\n expect(result).toHaveLength(2);\n });\n });\n\n describe(\"combined options\", () => {\n it(\"combines padding with zeros and empty items\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: true,\n interval: 12,\n padNumbersWithZero: true,\n padWithNItems: 1,\n });\n expect(result).toEqual([\"\", \"12 AM\", \"12 PM\", \"\"]);\n });\n\n it(\"combines all options\", () => {\n const result = generate12HourNumbers({\n disableInfiniteScroll: false,\n interval: 6,\n padNumbersWithZero: true,\n padWithNItems: 1,\n repeatNTimes: 2,\n });\n expect(result).toHaveLength(8);\n expect(result[0]).toBe(\"12 AM\");\n expect(result[1]).toBe(\"06 AM\");\n expect(result[2]).toBe(\"12 PM\");\n expect(result[3]).toBe(\"06 PM\");\n expect(result[4]).toBe(\"12 AM\");\n expect(result[7]).toBe(\"06 PM\");\n });\n });\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,qBAAqB,QAAQ,0BAA0B;AAEjFC,QAAQ,CAAC,iBAAiB,EAAE,MAAM;EAChCA,QAAQ,CAAC,qBAAqB,EAAE,MAAM;IACpCC,EAAE,CAAC,mCAAmC,EAAE,MAAM;MAC5C,MAAMC,MAAM,GAAGJ,eAAe,CAAC,EAAE,EAAE;QACjCK,qBAAqB,EAAE,IAAI;QAC3BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,EAAE,CAAC;IACjC,CAAC,CAAC;IAEFP,EAAE,CAAC,yCAAyC,EAAE,MAAM;MAClD,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCK,qBAAqB,EAAE,IAAI;QAC3BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACjF,CAAC,CAAC;IAEFR,EAAE,CAAC,sCAAsC,EAAE,MAAM;MAC/C,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCK,qBAAqB,EAAE,IAAI;QAC3BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEFR,EAAE,CAAC,6CAA6C,EAAE,MAAM;MACtD,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCM,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEFR,EAAE,CAAC,oDAAoD,EAAE,MAAM;MAC7D,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,CAAC,EAAE;QACjCM,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,EAAE,CAAC;IAC5B,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFT,QAAQ,CAAC,oBAAoB,EAAE,MAAM;IACnCC,EAAE,CAAC,sCAAsC,EAAE,MAAM;MAC/C,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCK,qBAAqB,EAAE,IAAI;QAC3BC,QAAQ,EAAE,CAAC;QACXM,kBAAkB,EAAE,IAAI;QACxBL,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC;IAEFR,EAAE,CAAC,mCAAmC,EAAE,MAAM;MAC5C,MAAMC,MAAM,GAAGJ,eAAe,CAAC,EAAE,EAAE;QACjCK,qBAAqB,EAAE,IAAI;QAC3BC,QAAQ,EAAE,CAAC;QACXM,kBAAkB,EAAE,IAAI;QACxBL,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,IAAI,CAAC;MAC5BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,IAAI,CAAC;MAC5BJ,MAAM,CAACL,MAAM,CAAC,EAAE,CAAC,CAAC,CAACS,IAAI,CAAC,IAAI,CAAC;MAC7BJ,MAAM,CAACL,MAAM,CAAC,EAAE,CAAC,CAAC,CAACS,IAAI,CAAC,IAAI,CAAC;IAC/B,CAAC,CAAC;IAEFV,EAAE,CAAC,kDAAkD,EAAE,MAAM;MAC3D,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCK,qBAAqB,EAAE,IAAI;QAC3BC,QAAQ,EAAE,CAAC;QACXM,kBAAkB,EAAE,KAAK;QACzBL,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACjF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFT,QAAQ,CAAC,0BAA0B,EAAE,MAAM;IACzCC,EAAE,CAAC,sEAAsE,EAAE,MAAM;MAC/E,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCK,qBAAqB,EAAE,IAAI;QAC3BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;MACzEF,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC;IAEFP,EAAE,CAAC,0BAA0B,EAAE,MAAM;MACnC,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCK,qBAAqB,EAAE,IAAI;QAC3BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC;IAEFR,EAAE,CAAC,2BAA2B,EAAE,MAAM;MACpC,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCK,qBAAqB,EAAE,IAAI;QAC3BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFT,QAAQ,CAAC,mBAAmB,EAAE,MAAM;IAClCC,EAAE,CAAC,wCAAwC,EAAE,MAAM;MACjD,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCK,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5F,CAAC,CAAC;IAEFR,EAAE,CAAC,wCAAwC,EAAE,MAAM;MACjD,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCK,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5F,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFT,QAAQ,CAAC,kBAAkB,EAAE,MAAM;IACjCC,EAAE,CAAC,6CAA6C,EAAE,MAAM;MACtD,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCK,qBAAqB,EAAE,IAAI;QAC3BC,QAAQ,EAAE,CAAC;QACXM,kBAAkB,EAAE,IAAI;QACxBL,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC;IAEFR,EAAE,CAAC,uDAAuD,EAAE,MAAM;MAChE,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCK,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXM,kBAAkB,EAAE,IAAI;QACxBL,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEFR,EAAE,CAAC,8BAA8B,EAAE,MAAM;MACvC,MAAMC,MAAM,GAAGJ,eAAe,CAAC,CAAC,EAAE;QAChCK,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXM,kBAAkB,EAAE,IAAI;QACxBL,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFT,QAAQ,CAAC,uBAAuB,EAAE,MAAM;EACtCA,QAAQ,CAAC,qBAAqB,EAAE,MAAM;IACpCC,EAAE,CAAC,6CAA6C,EAAE,MAAM;MACtD,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE;MACjB,CAAC,CAAC;MACFE,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,EAAE,CAAC;MAC/BD,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,EAAE,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAChCJ,MAAM,CAACL,MAAM,CAAC,EAAE,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAChCJ,MAAM,CAACL,MAAM,CAAC,EAAE,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;IAClC,CAAC,CAAC;IAEFV,EAAE,CAAC,sCAAsC,EAAE,MAAM;MAC/C,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE;MACjB,CAAC,CAAC;MACFE,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,EAAE,CAAC;MAC/BD,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,EAAE,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;IAClC,CAAC,CAAC;IAEFV,EAAE,CAAC,sCAAsC,EAAE,MAAM;MAC/C,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE;MACjB,CAAC,CAAC;MACFE,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,CAAC,CAAC;MAC9BD,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,YAAY,CAAC;MACpCJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,YAAY,CAAC;IACtC,CAAC,CAAC;IAEFV,EAAE,CAAC,sCAAsC,EAAE,MAAM;MAC/C,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE;MACjB,CAAC,CAAC;MACFE,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,CAAC,CAAC;MAC9BD,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,YAAY,CAAC;MACpCJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,YAAY,CAAC;IACtC,CAAC,CAAC;IAEFV,EAAE,CAAC,sCAAsC,EAAE,MAAM;MAC/C,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE;MACjB,CAAC,CAAC;MACFE,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,CAAC,CAAC;MAC9BD,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,YAAY,CAAC;MACpCJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,YAAY,CAAC;IACtC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFX,QAAQ,CAAC,oBAAoB,EAAE,MAAM;IACnCC,EAAE,CAAC,uBAAuB,EAAE,MAAM;MAChC,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXM,kBAAkB,EAAE,IAAI;QACxBL,aAAa,EAAE;MACjB,CAAC,CAAC;MACFE,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,EAAE,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAChCJ,MAAM,CAACL,MAAM,CAAC,EAAE,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;IAClC,CAAC,CAAC;IAEFV,EAAE,CAAC,oDAAoD,EAAE,MAAM;MAC7D,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXM,kBAAkB,EAAE,IAAI;QACxBL,aAAa,EAAE;MACjB,CAAC,CAAC;MACFE,MAAM,CAACL,MAAM,CAAC,EAAE,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;MAClCJ,MAAM,CAACL,MAAM,CAAC,EAAE,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;IAClC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFX,QAAQ,CAAC,0BAA0B,EAAE,MAAM;IACzCC,EAAE,CAAC,gEAAgE,EAAE,MAAM;MACzE,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,IAAI;QAC3BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE;MACjB,CAAC,CAAC;MACFE,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,EAAE,CAAC;MAC1BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,EAAE,CAAC;MAC1BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,YAAY,CAAC;MACpCJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,YAAY,CAAC;MACpCJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,EAAE,CAAC;MAC1BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,EAAE,CAAC;MAC1BJ,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC;IAEFP,EAAE,CAAC,sDAAsD,EAAE,MAAM;MAC/D,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE;MACjB,CAAC,CAAC;MACFE,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,YAAY,CAAC;MACpCJ,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFR,QAAQ,CAAC,mBAAmB,EAAE,MAAM;IAClCC,EAAE,CAAC,sCAAsC,EAAE,MAAM;MAC/C,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXC,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,CAAC,CAAC;MAC9BD,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,YAAY,CAAC;MACpCJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,YAAY,CAAC;IACtC,CAAC,CAAC;IAEFV,EAAE,CAAC,sCAAsC,EAAE,MAAM;MAC/C,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,EAAE;QACZC,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,CAAC,CAAC;MAC9BD,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;IACjC,CAAC,CAAC;IAEFV,EAAE,CAAC,iDAAiD,EAAE,MAAM;MAC1D,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,EAAE;QACZC,aAAa,EAAE;MACjB,CAAC,CAAC;MACFE,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFR,QAAQ,CAAC,kBAAkB,EAAE,MAAM;IACjCC,EAAE,CAAC,6CAA6C,EAAE,MAAM;MACtD,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,IAAI;QAC3BC,QAAQ,EAAE,EAAE;QACZM,kBAAkB,EAAE,IAAI;QACxBL,aAAa,EAAE;MACjB,CAAC,CAAC;MACFE,MAAM,CAACL,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC;IAEFR,EAAE,CAAC,sBAAsB,EAAE,MAAM;MAC/B,MAAMC,MAAM,GAAGH,qBAAqB,CAAC;QACnCI,qBAAqB,EAAE,KAAK;QAC5BC,QAAQ,EAAE,CAAC;QACXM,kBAAkB,EAAE,IAAI;QACxBL,aAAa,EAAE,CAAC;QAChBC,YAAY,EAAE;MAChB,CAAC,CAAC;MACFC,MAAM,CAACL,MAAM,CAAC,CAACM,YAAY,CAAC,CAAC,CAAC;MAC9BD,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;MAC/BJ,MAAM,CAACL,MAAM,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,OAAO,CAAC;IACjC,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}