@hero-design/rn 8.134.0 → 8.135.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.
- package/CHANGELOG.md +14 -0
- package/assets/fonts/hero-icons-mobile.ttf +0 -0
- package/es/index.js +2302 -1748
- package/jest.config.js +1 -1
- package/lib/assets/fonts/hero-icons-mobile.ttf +0 -0
- package/lib/index.js +2299 -1744
- package/package.json +2 -2
- package/src/components/Calendar/CalendarRange.tsx +1 -1
- package/src/components/Calendar/index.tsx +1 -1
- package/src/components/DatePicker/hooks/useFormatDate.ts +1 -1
- package/src/components/DatePicker/types.ts +1 -1
- package/src/components/Icon/HeroIcon/glyphMap.json +1 -1
- package/src/components/Icon/IconList.ts +0 -4
- package/src/components/List/BasicListItem.tsx +2 -2
- package/src/components/List/index.tsx +3 -0
- package/src/components/LocaleProvider/index.tsx +1 -1
- package/src/components/LocaleProvider/utils.ts +2 -3
- package/src/components/SectionList/SectionList.tsx +181 -0
- package/src/components/SectionList/StyledSectionList.tsx +65 -0
- package/src/components/SectionList/index.tsx +4 -0
- package/src/components/TimePicker/TimePickerAndroid.tsx +1 -1
- package/src/components/TimePicker/TimePickerIOS.tsx +1 -1
- package/src/components/TimePicker/types.ts +1 -1
- package/src/index.ts +2 -0
- package/src/theme/components/sectionList.ts +31 -0
- package/src/theme/getTheme.ts +3 -0
- package/src/types.ts +1 -0
- package/types/components/DatePicker/types.d.ts +1 -1
- package/types/components/Icon/IconList.d.ts +1 -1
- package/types/components/Icon/index.d.ts +1 -1
- package/types/components/List/BasicListItem.d.ts +2 -2
- package/types/components/List/index.d.ts +2 -0
- package/types/components/LocaleProvider/utils.d.ts +1 -1
- package/types/components/Radio/StyledRadio.d.ts +1 -1
- package/types/components/SectionList/SectionList.d.ts +66 -0
- package/types/components/SectionList/StyledSectionList.d.ts +33 -0
- package/types/components/SectionList/index.d.ts +3 -0
- package/types/components/TextInput/index.d.ts +1 -1
- package/types/components/TimePicker/types.d.ts +1 -1
- package/types/index.d.ts +2 -1
- package/types/theme/components/sectionList.d.ts +23 -0
- package/types/theme/getTheme.d.ts +2 -0
- package/types/types.d.ts +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hero-design/rn",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.135.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@emotion/react": "^11.9.3",
|
|
32
32
|
"@hero-design/colors": "8.47.3",
|
|
33
33
|
"d3": "^7.8.5",
|
|
34
|
-
"date-fns": "^
|
|
34
|
+
"date-fns": "^4.4.0",
|
|
35
35
|
"hero-editor": "^1.17.0",
|
|
36
36
|
"nanoid": "^5.0.9"
|
|
37
37
|
},
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
MonthYearPickerDialogueAndroid,
|
|
3
3
|
MonthYearPickerViewIOS,
|
|
4
4
|
} from '@hero-design/react-native-month-year-picker';
|
|
5
|
-
import format from 'date-fns/fp
|
|
5
|
+
import { format } from 'date-fns/fp';
|
|
6
6
|
import React, { useState } from 'react';
|
|
7
7
|
import { Platform, TouchableOpacity } from 'react-native';
|
|
8
8
|
import { useTheme } from '../../theme';
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
MonthYearPickerDialogueAndroid,
|
|
3
3
|
MonthYearPickerViewIOS,
|
|
4
4
|
} from '@hero-design/react-native-month-year-picker';
|
|
5
|
-
import format from 'date-fns/fp
|
|
5
|
+
import { format } from 'date-fns/fp';
|
|
6
6
|
import React, { useState } from 'react';
|
|
7
7
|
import { Platform, TouchableOpacity } from 'react-native';
|
|
8
8
|
import { useTheme } from '../../theme';
|
|
@@ -42,7 +42,7 @@ export interface DatePickerProps {
|
|
|
42
42
|
confirmLabel: string;
|
|
43
43
|
/**
|
|
44
44
|
* Date format. Default format is dd/MM/yyyy.
|
|
45
|
-
* Following date-fns's format (https://date-fns.org/
|
|
45
|
+
* Following date-fns's format (https://date-fns.org/v4.1.0/docs/format).
|
|
46
46
|
*/
|
|
47
47
|
displayFormat?: string;
|
|
48
48
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"activate":59000,"add-emoji":59001,"add-person":59002,"adjustment":59003,"alignment":59004,"antenna":59005,"archive":59006,"assignment-warning":59007,"bank":59008,"bell":59009,"billing":59010,"bolt":59011,"bookmark-added":59012,"bookmark-checked":59013,"bookmark":59014,"box-check":59015,"box":59016,"bpay":59017,"buildings":59018,"cake":59019,"calendar-clock":59020,"calendar":59021,"candy-box-menu":59022,"caret-down-small":59023,"caret-down":59024,"caret-left-small":59025,"caret-left":59026,"caret-right-small":59027,"caret-right":59028,"caret-up-small":59029,"caret-up":59030,"check-radio":59031,"circle-add":59032,"circle-cancel":59033,"circle-check":59034,"circle-down":59035,"circle-info":59036,"circle-left":59037,"circle-ok":59038,"circle-pencil":59039,"circle-question":59040,"circle-remove":59041,"circle-right":59042,"circle-up":59043,"circle-warning":59044,"clock-3":59045,"clock":59046,"cloud-download":59047,"cloud-upload":59048,"cog":59049,"coin":59050,"contacts":59051,"credit-card":59052,"diamond":59053,"direction-arrows":59054,"directory":59055,"document":59056,"dollar-coin-shine":59057,"dot":59058,"double-buildings":59059,"edit-template":59060,"envelope":59061,"exclude":59062,"expand-content":59063,"expense":59064,"explore_nearby":59065,"eye-circle":59066,"eye-invisible":59067,"eye":59068,"face-meh":59069,"face-sad":59070,"face-smiley":59071,"feed":59072,"feedbacks":59073,"file-certified":59074,"file-clone":59075,"file-copy":59076,"file-csv":59077,"file-dispose":59078,"file-doc":59079,"file-excel":59080,"file-export":59081,"file-lock":59082,"file-pdf":59083,"file-powerpoint":59084,"file-search":59085,"file-secured":59086,"file-sheets":59087,"file-slide":59088,"file-verified":59089,"file-word":59090,"file":59091,"filter":59092,"folder-user":59093,"folder":59094,"format-bold":59095,"format-heading1":59096,"format-heading2":59097,"format-italic":59098,"format-list-bulleted":59099,"format-list-numbered":59100,"format-underlined":59101,"funnel-filter":59102,"global-dollar":59103,"global-pound":59104,"globe":59105,"graduation-cap":59106,"graph":59107,"happy-sun":59108,"health-bag":59109,"heart":59110,"hero-points":59111,"home":59112,"image":59113,"import":59114,"incident-siren":59115,"instapay-daily":59116,"instapay-now":59117,"instapay":59118,"list":59119,"loading-2":59120,"loading":59121,"location-on":59122,"location":59123,"lock":59124,"looks-one":59125,"looks-two":59126,"media-content":59127,"menu":59128,"money-notes":59129,"moneybag":59130,"moon":59131,"multiple-stars":59132,"multiple-users":59133,"near-me":59134,"node":59135,"open-folder":59136,"paperclip-vertical":59137,"paperclip":59138,"payment-summary":59139,"pencil":59140,"phone":59141,"piggy-bank":59142,"plane-up":59143,"plane":59144,"play-arrow":59145,"play-circle":59146,"pound-coin-shine":59147,"pound-sign":59148,"print":59149,"raising-hands":59150,"reply-arrow":59151,"reply":59152,"reschedule":59153,"rocket-launch":59154,"rostering":59155,"salary-sacrifice":59156,"save":59157,"schedule-send":59158,"schedule":59159,"search-person":59160,"search":59161,"send":59162,"speaker-active":59163,"speaker":59164,"star-award":59165,"star-badge":59166,"star-circle":59167,"star-medal":59168,"star":59169,"steps-circle":59170,"stopwatch":59171,"suitcase":59172,"surfing":59173,"survey":59174,"swag-pillar-benefit":59175,"swag-pillar-career":59176,"swag-pillar-money":59177,"swag-pillar-work":59178,"swag":59179,"swipe-right":59180,"switch":59181,"tag":59182,"target":59183,"teams":59184,"thumb-down":59185,"thumb-up":59186,"timesheet":59187,"touch-id":59188,"trash-bin":59189,"unlock":59190,"user":59191,"video-1":59192,"video-2":59193,"wallet":59194,"warning":59195,"academic-hat-outlined":59196,"accommodation-outlined":59197,"activate-outlined":59198,"add-credit-card-outlined":59199,"add-emoji-outlined":59200,"add-person-outlined":59201,"add-section-outlined":59202,"add-time-outlined":59203,"add":59204,"adjustment-outlined":59205,"afternoon-outlined":59206,"ai-outlined":59207,"alignment-2-outlined":59208,"alignment-outlined":59209,"all-caps":59210,"application-outlined":59211,"archive-outlined":59212,"arrow-down":59213,"arrow-downwards":59214,"arrow-left":59215,"arrow-leftwards":59216,"arrow-right":59217,"arrow-rightwards":59218,"arrow-up":59219,"arrow-upwards":59220,"article-outlined":59221,"assignment-warning-outlined":59222,"at-sign":59223,"auto-graph-outlined":59224,"automotive-outlined":59225,"bakery-outlined":59226,"bank-outlined":59227,"bar-outlined":59228,"beauty-outlined":59229,"beer-outlined":59230,"bell-active-outlined":59231,"bell-outlined":59232,"bell-slash-outlined":59233,"bill-management-outlined":59234,"billing-outlined":59235,"body-outlined":59236,"bold":59237,"bolt-outlined":59238,"book-outlined":59239,"bookmark-added-outlined":59240,"bookmark-checked-outlined":59241,"bookmark-outlined":59242,"box-1-outlined":59243,"box-check-outlined":59244,"box-outlined":59245,"bullet-points":59246,"cake-outlined":59247,"calculator-outlined":59248,"calendar-clock-outlined":59249,"calendar-dates-outlined":59250,"calendar-edit-outlined":59251,"calendar-outlined":59252,"calendar-star-outlined":59253,"call-outlined":59254,"call-split-outlined":59255,"camera-outlined":59256,"cancel":59257,"car-forward-outlined":59258,"cashback-outlined":59259,"charging-station-outlined":59260,"chat-bubble-outlined":59261,"chat-unread-outlined":59262,"checkmark":59263,"circle-add-outlined":59264,"circle-cancel-outlined":59265,"circle-check-outlined":59266,"circle-down-outlined":59267,"circle-info-outlined":59268,"circle-left-outlined":59269,"circle-ok-outlined":59270,"circle-question-outlined":59271,"circle-remove-outlined":59272,"circle-right-outlined":59273,"circle-up-outlined":59274,"circle-warning-outlined":59275,"clock-2-outlined":59276,"clock-3-outlined":59277,"clock-in-outlined":59278,"clock-out-outlined":59279,"clock-outlined":59280,"cloud-download-outlined":59281,"cog-outlined":59282,"coin-outlined":59283,"coin-super-outlined":59284,"comment-outlined":59285,"contacts-outlined":59286,"contacts-user-outlined":59287,"credit-card-outlined":59288,"cultural-site-outlined":59289,"cup-outlined":59290,"dentistry-outlined":59291,"diamond-outlined":59292,"direction-arrows-outlined":59293,"directory-outlined":59294,"document-outlined":59295,"dollar-box-outlined":59296,"dollar-card-outlined":59297,"dollar-coin-shine-outlined":59298,"dollar-credit-card-outlined":59299,"dollar-sign":59300,"double-buildings-outlined":59301,"double-left-arrows":59302,"double-right-arrows":59303,"download-box-outlined":59304,"download-outlined":59305,"edit-template-outlined":59306,"edit-user-outlined":59307,"electronics-outlined":59308,"email-outlined":59309,"end-break-outlined":59310,"enter-arrow":59311,"entertainment-outlined":59312,"envelope-outlined":59313,"evening-outlined":59314,"expense-approval-outlined":59315,"expense-outlined":59316,"explore-outlined":59317,"extension-outlined":59318,"external-link":59319,"eye-invisible-outlined":59320,"eye-outlined":59321,"face-id":59322,"face-meh-outlined":59323,"face-open-smiley-outlined":59324,"face-sad-outlined":59325,"face-smiley-outlined":59326,"fastfood-outlined":59327,"feed-outlined":59328,"feedbacks-outlined":59329,"file-certified-outlined":59330,"file-clone-outlined":59331,"file-copy-outlined":59332,"file-dispose-outlined":59333,"file-dollar-certified-outlined":59334,"file-dollar-outlined":59335,"file-download-outlined":59336,"file-export-outlined":59337,"file-lock-outlined":59338,"file-outlined":59339,"file-pound-outlined":59340,"file-search-outlined":59341,"file-secured-outlined":59342,"file-statutory-outlined":59343,"file-verified-outlined":59344,"filter-outlined":59345,"fitness-outlined":59346,"folder-outlined":59347,"folder-upload-outlined":59348,"folder-user-outlined":59349,"form-outlined":59350,"funnel-filter-outline":59351,"goal-outlined":59352,"graph-outlined":59353,"grocery-outlined":59354,"hand-holding-user-outlined":59355,"handshake-outlined":59356,"happy-sun-outlined":59357,"health-bag-outlined":59358,"heart-outlined":59359,"history-outlined":59360,"home-active-outlined":59361,"home-outlined":59362,"id-card-outlined":59363,"image-outlined":59364,"import-outlined":59365,"instapay-outlined":59366,"italic":59367,"job-search-outlined":59368,"leave-approval-outlined":59369,"lighting-outlined":59370,"link-1":59371,"link-2":59372,"list-outlined":59373,"live-help-outlined":59374,"local_mall_outlined":59375,"location-on-outlined":59376,"location-outlined":59377,"lock-outlined":59378,"locked-file-outlined":59379,"log-out":59380,"mail-outlined":59381,"map-outlined":59382,"media-content-outlined":59383,"menu-close":59384,"menu-expand":59385,"menu-fold-outlined":59386,"menu-unfold-outlined":59387,"mic-outlined":59388,"mic-slash-outlined":59389,"moneybag-outlined":59390,"moon-outlined":59391,"more-horizontal":59392,"more-vertical":59393,"morning-outlined":59394,"multiple-folders-outlined":59395,"multiple-users-outlined":59396,"near-me-outlined":59397,"node-outlined":59398,"number-points":59399,"number":59400,"overview-outlined":59401,"park-outlined":59402,"payment-summary-outlined":59403,"payslip-outlined":59404,"pencil-outlined":59405,"percentage":59406,"phone-outlined":59407,"piggy-bank-outlined":59408,"plane-outlined":59409,"play-circle-outlined":59410,"pound-box-outlined":59411,"pound-card-outlined":59412,"pound-coin-shine-outlined":59413,"pound-credit-card-outlined":59414,"print-outlined":59415,"profile-2user-outlined":59416,"propane-tank-outlined":59417,"qr-code-outlined":59418,"qualification-outlined":59419,"question-mark":59420,"raising-hands-outlined":59421,"re-assign":59422,"redeem":59423,"refresh":59424,"remove":59425,"reply-outlined":59426,"restart":59427,"restaurant-outlined":59428,"resume-outlined":59429,"return-arrow":59430,"rocket-launch-outlined":59431,"rostering-outlined":59432,"safety-outlined":59433,"save-outlined":59434,"schedule-outlined":59435,"schedule-send-outlined":59436,"search-outlined":59437,"search-secured-outlined":59438,"send-outlined":59439,"share-1":59440,"share-2":59441,"share-outlined-2":59442,"share-outlined":59443,"shield-check-outlined":59444,"shop-outlined":59445,"shopping_basket_outlined":59446,"show-chart-outlined":59447,"single-down-arrow":59448,"single-left-arrow":59449,"single-right-arrow":59450,"single-up-arrow":59451,"smart-match-outlined":59452,"sparkle-2-outlined":59453,"sparkle-outlined":59454,"speaker-active-outlined":59455,"speaker-outlined":59456,"star-award-outlined":59457,"star-badge-outlined":59458,"star-circle-outlined":59459,"star-medal-outlined":59460,"star-outlined":59461,"start-break-outlined":59462,"stash-outlined":59463,"stopwatch-outlined":59464,"strikethrough":59465,"styler-outlined":59466,"suitcase-clock-outlined":59467,"suitcase-outlined":59468,"survey-outlined":59469,"switch-outlined":59470,"sync":59471,"tag-outlined":59472,"target-outlined":59473,"teams-outlined":59474,"tennis-outlined":59475,"thumb-down-outlined":59476,"thumb-up-outlined":59477,"ticket-outlined":59478,"timesheet-outlined":59479,"timesheets-outlined":59480,"today-outlined":59481,"transfer":59482,"transportation-outlined":59483,"trash-bin-outlined":59484,"umbrela-outlined":59485,"unavailability-outlined":59486,"unavailable":59487,"underline":59488,"union-outlined":59489,"unlock-outlined":59490,"upload-outlined":59491,"user-add-outlined":59492,"user-circle-outlined":59493,"user-gear-outlined":59494,"user-out-outlined":59495,"user-outlined":59496,"user-rectangle-outlined":59497,"video-1-outlined":59498,"video-2-outlined":59499,"volunteer-outlined":59500,"wallet-outlined":59501,"warning-outlined":59502,"wellness-outlined":59503}
|
|
1
|
+
{"activate":59000,"add-emoji":59001,"add-person":59002,"adjustment":59003,"alignment":59004,"antenna":59005,"archive":59006,"assignment-warning":59007,"bank":59008,"bell":59009,"billing":59010,"bolt":59011,"bookmark-added":59012,"bookmark-checked":59013,"bookmark":59014,"box-check":59015,"box":59016,"bpay":59017,"buildings":59018,"cake":59019,"calendar-clock":59020,"calendar":59021,"candy-box-menu":59022,"caret-down-small":59023,"caret-down":59024,"caret-left-small":59025,"caret-left":59026,"caret-right-small":59027,"caret-right":59028,"caret-up-small":59029,"caret-up":59030,"check-radio":59031,"circle-add":59032,"circle-cancel":59033,"circle-check":59034,"circle-down":59035,"circle-info":59036,"circle-left":59037,"circle-ok":59038,"circle-pencil":59039,"circle-question":59040,"circle-remove":59041,"circle-right":59042,"circle-up":59043,"circle-warning":59044,"clock-3":59045,"clock":59046,"cloud-download":59047,"cloud-upload":59048,"cog":59049,"coin":59050,"contacts":59051,"credit-card":59052,"diamond":59053,"direction-arrows":59054,"directory":59055,"document":59056,"dollar-coin-shine":59057,"dot":59058,"double-buildings":59059,"edit-template":59060,"envelope":59061,"exclude":59062,"expand-content":59063,"expense":59064,"explore_nearby":59065,"eye-circle":59066,"eye-invisible":59067,"eye":59068,"face-meh":59069,"face-sad":59070,"face-smiley":59071,"feed":59072,"feedbacks":59073,"file-certified":59074,"file-clone":59075,"file-copy":59076,"file-csv":59077,"file-dispose":59078,"file-doc":59079,"file-excel":59080,"file-export":59081,"file-lock":59082,"file-pdf":59083,"file-powerpoint":59084,"file-search":59085,"file-secured":59086,"file-sheets":59087,"file-slide":59088,"file-verified":59089,"file-word":59090,"file":59091,"filter":59092,"folder-user":59093,"folder":59094,"format-bold":59095,"format-heading1":59096,"format-heading2":59097,"format-italic":59098,"format-list-bulleted":59099,"format-list-numbered":59100,"format-underlined":59101,"funnel-filter":59102,"global-dollar":59103,"global-pound":59104,"globe":59105,"graduation-cap":59106,"graph":59107,"happy-sun":59108,"health-bag":59109,"heart":59110,"hero-points":59111,"home":59112,"image":59113,"import":59114,"incident-siren":59115,"instapay-daily":59116,"instapay-now":59117,"instapay":59118,"list":59119,"loading-2":59120,"loading":59121,"location-on":59122,"location":59123,"lock":59124,"looks-one":59125,"looks-two":59126,"media-content":59127,"menu":59128,"money-notes":59129,"moneybag":59130,"moon":59131,"multiple-stars":59132,"multiple-users":59133,"near-me":59134,"node":59135,"open-folder":59136,"paperclip-vertical":59137,"paperclip":59138,"payment-summary":59139,"pencil":59140,"phone":59141,"piggy-bank":59142,"plane-up":59143,"plane":59144,"play-arrow":59145,"play-circle":59146,"pound-coin-shine":59147,"pound-sign":59148,"print":59149,"raising-hands":59150,"reply-arrow":59151,"reply":59152,"reschedule":59153,"rocket-launch":59154,"rostering":59155,"salary-sacrifice":59156,"save":59157,"schedule-send":59158,"schedule":59159,"search-person":59160,"search":59161,"send":59162,"speaker":59163,"star-award":59164,"star-badge":59165,"star-circle":59166,"star-medal":59167,"star":59168,"steps-circle":59169,"stopwatch":59170,"suitcase":59171,"surfing":59172,"survey":59173,"swag-pillar-benefit":59174,"swag-pillar-career":59175,"swag-pillar-money":59176,"swag-pillar-work":59177,"swag":59178,"swipe-right":59179,"switch":59180,"tag":59181,"target":59182,"teams":59183,"thumb-down":59184,"thumb-up":59185,"timesheet":59186,"touch-id":59187,"trash-bin":59188,"unlock":59189,"user":59190,"video-1":59191,"video-2":59192,"wallet":59193,"warning":59194,"academic-hat-outlined":59195,"accommodation-outlined":59196,"activate-outlined":59197,"add-credit-card-outlined":59198,"add-emoji-outlined":59199,"add-person-outlined":59200,"add-section-outlined":59201,"add-time-outlined":59202,"add":59203,"adjustment-outlined":59204,"afternoon-outlined":59205,"ai-outlined":59206,"alignment-2-outlined":59207,"alignment-outlined":59208,"all-caps":59209,"application-outlined":59210,"archive-outlined":59211,"arrow-down":59212,"arrow-downwards":59213,"arrow-left":59214,"arrow-leftwards":59215,"arrow-right":59216,"arrow-rightwards":59217,"arrow-up":59218,"arrow-upwards":59219,"article-outlined":59220,"assignment-warning-outlined":59221,"at-sign":59222,"auto-graph-outlined":59223,"automotive-outlined":59224,"bakery-outlined":59225,"bank-outlined":59226,"bar-outlined":59227,"beauty-outlined":59228,"beer-outlined":59229,"bell-outlined":59230,"bell-slash-outlined":59231,"bill-management-outlined":59232,"billing-outlined":59233,"body-outlined":59234,"bold":59235,"bolt-outlined":59236,"book-outlined":59237,"bookmark-added-outlined":59238,"bookmark-checked-outlined":59239,"bookmark-outlined":59240,"box-1-outlined":59241,"box-check-outlined":59242,"box-outlined":59243,"bullet-points":59244,"cake-outlined":59245,"calculator-outlined":59246,"calendar-clock-outlined":59247,"calendar-dates-outlined":59248,"calendar-edit-outlined":59249,"calendar-outlined":59250,"calendar-star-outlined":59251,"call-outlined":59252,"call-split-outlined":59253,"camera-outlined":59254,"cancel":59255,"car-forward-outlined":59256,"cashback-outlined":59257,"charging-station-outlined":59258,"chat-bubble-outlined":59259,"chat-unread-outlined":59260,"checkmark":59261,"circle-add-outlined":59262,"circle-cancel-outlined":59263,"circle-check-outlined":59264,"circle-down-outlined":59265,"circle-info-outlined":59266,"circle-left-outlined":59267,"circle-ok-outlined":59268,"circle-question-outlined":59269,"circle-remove-outlined":59270,"circle-right-outlined":59271,"circle-up-outlined":59272,"circle-warning-outlined":59273,"clock-2-outlined":59274,"clock-3-outlined":59275,"clock-in-outlined":59276,"clock-out-outlined":59277,"clock-outlined":59278,"cloud-download-outlined":59279,"cog-outlined":59280,"coin-outlined":59281,"coin-super-outlined":59282,"comment-outlined":59283,"contacts-outlined":59284,"contacts-user-outlined":59285,"credit-card-outlined":59286,"cultural-site-outlined":59287,"cup-outlined":59288,"dentistry-outlined":59289,"diamond-outlined":59290,"direction-arrows-outlined":59291,"directory-outlined":59292,"document-outlined":59293,"dollar-box-outlined":59294,"dollar-card-outlined":59295,"dollar-coin-shine-outlined":59296,"dollar-credit-card-outlined":59297,"dollar-sign":59298,"double-buildings-outlined":59299,"double-left-arrows":59300,"double-right-arrows":59301,"download-box-outlined":59302,"download-outlined":59303,"edit-template-outlined":59304,"edit-user-outlined":59305,"electronics-outlined":59306,"email-outlined":59307,"end-break-outlined":59308,"enter-arrow":59309,"entertainment-outlined":59310,"envelope-outlined":59311,"evening-outlined":59312,"expense-approval-outlined":59313,"expense-outlined":59314,"explore-outlined":59315,"extension-outlined":59316,"external-link":59317,"eye-invisible-outlined":59318,"eye-outlined":59319,"face-id":59320,"face-meh-outlined":59321,"face-open-smiley-outlined":59322,"face-sad-outlined":59323,"face-smiley-outlined":59324,"fastfood-outlined":59325,"feed-outlined":59326,"feedbacks-outlined":59327,"file-certified-outlined":59328,"file-clone-outlined":59329,"file-copy-outlined":59330,"file-dispose-outlined":59331,"file-dollar-certified-outlined":59332,"file-dollar-outlined":59333,"file-download-outlined":59334,"file-export-outlined":59335,"file-lock-outlined":59336,"file-outlined":59337,"file-pound-outlined":59338,"file-search-outlined":59339,"file-secured-outlined":59340,"file-statutory-outlined":59341,"file-verified-outlined":59342,"filter-outlined":59343,"fitness-outlined":59344,"folder-outlined":59345,"folder-upload-outlined":59346,"folder-user-outlined":59347,"form-outlined":59348,"funnel-filter-outline":59349,"goal-outlined":59350,"graph-outlined":59351,"grocery-outlined":59352,"hand-holding-user-outlined":59353,"handshake-outlined":59354,"happy-sun-outlined":59355,"health-bag-outlined":59356,"heart-outlined":59357,"history-outlined":59358,"home-outlined":59359,"id-card-outlined":59360,"image-outlined":59361,"import-outlined":59362,"instapay-outlined":59363,"italic":59364,"job-search-outlined":59365,"leave-approval-outlined":59366,"lighting-outlined":59367,"link-1":59368,"link-2":59369,"list-outlined":59370,"live-help-outlined":59371,"local_mall_outlined":59372,"location-on-outlined":59373,"location-outlined":59374,"lock-outlined":59375,"locked-file-outlined":59376,"log-out":59377,"mail-outlined":59378,"map-outlined":59379,"media-content-outlined":59380,"menu-close":59381,"menu-expand":59382,"menu-fold-outlined":59383,"menu-unfold-outlined":59384,"mic-outlined":59385,"mic-slash-outlined":59386,"moneybag-outlined":59387,"moon-outlined":59388,"more-horizontal":59389,"more-vertical":59390,"morning-outlined":59391,"multiple-folders-outlined":59392,"multiple-users-outlined":59393,"near-me-outlined":59394,"node-outlined":59395,"number-points":59396,"number":59397,"overview-outlined":59398,"park-outlined":59399,"payment-summary-outlined":59400,"payslip-outlined":59401,"pencil-outlined":59402,"percentage":59403,"phone-outlined":59404,"piggy-bank-outlined":59405,"plane-outlined":59406,"play-circle-outlined":59407,"pound-box-outlined":59408,"pound-card-outlined":59409,"pound-coin-shine-outlined":59410,"pound-credit-card-outlined":59411,"print-outlined":59412,"profile-2user-outlined":59413,"propane-tank-outlined":59414,"qr-code-outlined":59415,"qualification-outlined":59416,"question-mark":59417,"raising-hands-outlined":59418,"re-assign":59419,"redeem":59420,"refresh":59421,"remove":59422,"reply-outlined":59423,"restart":59424,"restaurant-outlined":59425,"resume-outlined":59426,"return-arrow":59427,"rocket-launch-outlined":59428,"rostering-outlined":59429,"safety-outlined":59430,"save-outlined":59431,"schedule-outlined":59432,"schedule-send-outlined":59433,"search-outlined":59434,"search-secured-outlined":59435,"send-outlined":59436,"share-1":59437,"share-2":59438,"share-outlined-2":59439,"share-outlined":59440,"shield-check-outlined":59441,"shop-outlined":59442,"shopping_basket_outlined":59443,"show-chart-outlined":59444,"single-down-arrow":59445,"single-left-arrow":59446,"single-right-arrow":59447,"single-up-arrow":59448,"smart-match-outlined":59449,"sparkle-2-outlined":59450,"sparkle-outlined":59451,"speaker-outlined":59452,"star-award-outlined":59453,"star-badge-outlined":59454,"star-circle-outlined":59455,"star-medal-outlined":59456,"star-outlined":59457,"start-break-outlined":59458,"stash-outlined":59459,"stopwatch-outlined":59460,"strikethrough":59461,"styler-outlined":59462,"suitcase-clock-outlined":59463,"suitcase-outlined":59464,"survey-outlined":59465,"switch-outlined":59466,"sync":59467,"tag-outlined":59468,"target-outlined":59469,"teams-outlined":59470,"tennis-outlined":59471,"thumb-down-outlined":59472,"thumb-up-outlined":59473,"ticket-outlined":59474,"timesheet-outlined":59475,"timesheets-outlined":59476,"today-outlined":59477,"transfer":59478,"transportation-outlined":59479,"trash-bin-outlined":59480,"umbrela-outlined":59481,"unavailability-outlined":59482,"unavailable":59483,"underline":59484,"union-outlined":59485,"unlock-outlined":59486,"upload-outlined":59487,"user-add-outlined":59488,"user-circle-outlined":59489,"user-gear-outlined":59490,"user-out-outlined":59491,"user-outlined":59492,"user-rectangle-outlined":59493,"video-1-outlined":59494,"video-2-outlined":59495,"volunteer-outlined":59496,"wallet-outlined":59497,"warning-outlined":59498,"wellness-outlined":59499}
|
|
@@ -163,7 +163,6 @@ const IconList = [
|
|
|
163
163
|
'search-person',
|
|
164
164
|
'search',
|
|
165
165
|
'send',
|
|
166
|
-
'speaker-active',
|
|
167
166
|
'speaker',
|
|
168
167
|
'star-award',
|
|
169
168
|
'star-badge',
|
|
@@ -231,7 +230,6 @@ const IconList = [
|
|
|
231
230
|
'bar-outlined',
|
|
232
231
|
'beauty-outlined',
|
|
233
232
|
'beer-outlined',
|
|
234
|
-
'bell-active-outlined',
|
|
235
233
|
'bell-outlined',
|
|
236
234
|
'bell-slash-outlined',
|
|
237
235
|
'bill-management-outlined',
|
|
@@ -361,7 +359,6 @@ const IconList = [
|
|
|
361
359
|
'health-bag-outlined',
|
|
362
360
|
'heart-outlined',
|
|
363
361
|
'history-outlined',
|
|
364
|
-
'home-active-outlined',
|
|
365
362
|
'home-outlined',
|
|
366
363
|
'id-card-outlined',
|
|
367
364
|
'image-outlined',
|
|
@@ -455,7 +452,6 @@ const IconList = [
|
|
|
455
452
|
'smart-match-outlined',
|
|
456
453
|
'sparkle-2-outlined',
|
|
457
454
|
'sparkle-outlined',
|
|
458
|
-
'speaker-active-outlined',
|
|
459
455
|
'speaker-outlined',
|
|
460
456
|
'star-award-outlined',
|
|
461
457
|
'star-badge-outlined',
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import type { IconName } from '../Icon';
|
|
13
13
|
import { useTheme } from '../../theme';
|
|
14
14
|
|
|
15
|
-
interface
|
|
15
|
+
export interface BasicListItemProps {
|
|
16
16
|
/**
|
|
17
17
|
* Name of Icon or component to render on the left side of title.
|
|
18
18
|
*/
|
|
@@ -61,7 +61,7 @@ const BasicListItem = ({
|
|
|
61
61
|
selected = false,
|
|
62
62
|
disabled = false,
|
|
63
63
|
onPress,
|
|
64
|
-
}:
|
|
64
|
+
}: BasicListItemProps): ReactElement => {
|
|
65
65
|
const theme = useTheme();
|
|
66
66
|
|
|
67
67
|
return (
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import ListItem from './ListItem';
|
|
2
2
|
import BasicListItem from './BasicListItem';
|
|
3
3
|
|
|
4
|
+
export type { ListItemProps } from './ListItem';
|
|
5
|
+
export type { BasicListItemProps } from './BasicListItem';
|
|
6
|
+
|
|
4
7
|
interface ListType {
|
|
5
8
|
Item: typeof ListItem;
|
|
6
9
|
BasicItem: typeof BasicListItem;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useEffect } from 'react';
|
|
2
|
-
import setDefaultOptions from 'date-fns
|
|
2
|
+
import { setDefaultOptions } from 'date-fns';
|
|
3
3
|
import { LocaleContext } from './context';
|
|
4
4
|
import { getDateFnsLocale } from './utils';
|
|
5
5
|
import type { LocaleValues } from '../../locales/types';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import enAU from 'date-fns/locale
|
|
2
|
-
import
|
|
3
|
-
import type { Locale } from 'date-fns';
|
|
1
|
+
import { enAU, enCA } from 'date-fns/locale';
|
|
2
|
+
import type { Locale } from 'date-fns/locale';
|
|
4
3
|
import type { LocaleCode } from '../../locales/types';
|
|
5
4
|
|
|
6
5
|
const Locales = {
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
|
+
|
|
3
|
+
import type { ReactElement } from 'react';
|
|
4
|
+
import type {
|
|
5
|
+
SectionListProps as RNSectionListPropsType,
|
|
6
|
+
StyleProp,
|
|
7
|
+
ViewStyle,
|
|
8
|
+
} from 'react-native';
|
|
9
|
+
import { SectionList as RNSectionList } from 'react-native';
|
|
10
|
+
import Divider from '../Divider';
|
|
11
|
+
import List from '../List';
|
|
12
|
+
import type { BasicListItemProps } from '../List/BasicListItem';
|
|
13
|
+
import type { ListItemProps } from '../List/ListItem';
|
|
14
|
+
import type { SectionHeadingProps } from '../SectionHeading';
|
|
15
|
+
import type { MarginHorizontal, RowPosition } from './StyledSectionList';
|
|
16
|
+
import {
|
|
17
|
+
StyledDividerWrapper,
|
|
18
|
+
StyledRow,
|
|
19
|
+
StyledSectionHeading,
|
|
20
|
+
StyledSectionSpacer,
|
|
21
|
+
} from './StyledSectionList';
|
|
22
|
+
|
|
23
|
+
type SectionHeadingConfig = Pick<
|
|
24
|
+
SectionHeadingProps,
|
|
25
|
+
'text' | 'icon' | 'rightChildren' | 'intent' | 'size'
|
|
26
|
+
>;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* A single row inside a section. `type` is a discriminant that selects the row component:
|
|
30
|
+
* - `'basic-item'` renders `List.BasicItem` (icon/text, no children)
|
|
31
|
+
* - `'list-item'` renders `List.Item` (supports subtitle, children, leading status)
|
|
32
|
+
*
|
|
33
|
+
* `variant` is omitted from `list-item` — rows always render full-width inside a section group.
|
|
34
|
+
* `key` is an optional stable identifier for use with a custom `keyExtractor`.
|
|
35
|
+
* Mix both types freely within the same `data` array.
|
|
36
|
+
*/
|
|
37
|
+
export type SectionListRow =
|
|
38
|
+
| ({ type: 'basic-item'; key?: string } & BasicListItemProps)
|
|
39
|
+
| ({ type: 'list-item'; key?: string } & Omit<ListItemProps, 'variant'>);
|
|
40
|
+
|
|
41
|
+
export interface SectionData extends Omit<SectionHeadingConfig, 'text'> {
|
|
42
|
+
/**
|
|
43
|
+
* Unique key for this section.
|
|
44
|
+
*/
|
|
45
|
+
key: string;
|
|
46
|
+
/**
|
|
47
|
+
* Rows to render. Each row is a `basic-item` or `list-item` variant; mix freely, in any order.
|
|
48
|
+
*/
|
|
49
|
+
data: SectionListRow[];
|
|
50
|
+
/**
|
|
51
|
+
* Heading text. Required unless `hideHeading` is `true`.
|
|
52
|
+
*/
|
|
53
|
+
text?: SectionHeadingConfig['text'];
|
|
54
|
+
/**
|
|
55
|
+
* When true, the section heading is not rendered. Rows are still shown. Defaults to false.
|
|
56
|
+
*/
|
|
57
|
+
hideHeading?: boolean;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
type RNSectionListProps = RNSectionListPropsType<SectionListRow, SectionData>;
|
|
61
|
+
|
|
62
|
+
// Layout (dividers, headers, corner rounding, spacing) is owned by this component, so these
|
|
63
|
+
// RN props are not user-configurable — everything else on RN's SectionList passes through.
|
|
64
|
+
type OmittedRNSectionListProps =
|
|
65
|
+
| 'sections'
|
|
66
|
+
| 'renderSectionHeader'
|
|
67
|
+
| 'renderItem'
|
|
68
|
+
| 'ItemSeparatorComponent'
|
|
69
|
+
| 'SectionSeparatorComponent'
|
|
70
|
+
| 'stickySectionHeadersEnabled';
|
|
71
|
+
|
|
72
|
+
export interface SectionListProps
|
|
73
|
+
extends Omit<RNSectionListProps, OmittedRNSectionListProps> {
|
|
74
|
+
/**
|
|
75
|
+
* Sections to render. Each section carries SectionHeading props plus a `data` array,
|
|
76
|
+
* mirroring React Native's SectionList section shape.
|
|
77
|
+
*/
|
|
78
|
+
sections: SectionData[];
|
|
79
|
+
/**
|
|
80
|
+
* Horizontal margin applied to each row group and its dividers, preventing content from
|
|
81
|
+
* rendering flush against the screen edge. Defaults to `'medium'` (16 px).
|
|
82
|
+
* Pass `'none'` when the parent screen already applies its own side gutter.
|
|
83
|
+
*/
|
|
84
|
+
marginHorizontal?: MarginHorizontal;
|
|
85
|
+
/**
|
|
86
|
+
* Additional style on the underlying RN SectionList.
|
|
87
|
+
*/
|
|
88
|
+
style?: StyleProp<ViewStyle>;
|
|
89
|
+
/**
|
|
90
|
+
* Testing id of the component.
|
|
91
|
+
*/
|
|
92
|
+
testID?: string;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const positionOf = (index: number, count: number): RowPosition => {
|
|
96
|
+
if (count === 1) return 'single';
|
|
97
|
+
if (index === 0) return 'top';
|
|
98
|
+
if (index === count - 1) return 'bottom';
|
|
99
|
+
return 'middle';
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// StyledRow already clips corners via overflow:hidden + its own borderRadius, so the
|
|
103
|
+
// inner list items must not add their own rounding on top of it.
|
|
104
|
+
const NO_RADIUS = { borderRadius: 0 } as const;
|
|
105
|
+
|
|
106
|
+
const renderRow = (row: SectionListRow): ReactElement =>
|
|
107
|
+
row.type === 'basic-item' ? (
|
|
108
|
+
<List.BasicItem {...row} style={[NO_RADIUS, row.style]} />
|
|
109
|
+
) : (
|
|
110
|
+
<List.Item {...row} style={[NO_RADIUS, row.style]} />
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
// Factory lives at module scope — satisfies react/no-unstable-nested-components.
|
|
114
|
+
// RN only renders ItemSeparatorComponent between adjacent items (never after the
|
|
115
|
+
// last), which is exactly the desired divider placement for a bounded group.
|
|
116
|
+
const createRowDivider = (margin: MarginHorizontal | undefined) => () =>
|
|
117
|
+
(
|
|
118
|
+
<StyledDividerWrapper
|
|
119
|
+
testID="section-list-divider-wrapper"
|
|
120
|
+
themeMarginHorizontal={margin}
|
|
121
|
+
>
|
|
122
|
+
<Divider testID="section-list-divider" />
|
|
123
|
+
</StyledDividerWrapper>
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
const SectionSpacer: NonNullable<
|
|
127
|
+
RNSectionListProps['SectionSeparatorComponent']
|
|
128
|
+
> = ({ leadingItem, trailingSection }) =>
|
|
129
|
+
leadingItem && trailingSection ? (
|
|
130
|
+
<StyledSectionSpacer
|
|
131
|
+
themeCompact={!!trailingSection.hideHeading}
|
|
132
|
+
testID="section-list-spacer"
|
|
133
|
+
/>
|
|
134
|
+
) : null;
|
|
135
|
+
|
|
136
|
+
function SectionList({
|
|
137
|
+
sections,
|
|
138
|
+
marginHorizontal = 'medium',
|
|
139
|
+
style,
|
|
140
|
+
testID,
|
|
141
|
+
...rest
|
|
142
|
+
}: SectionListProps): ReactElement {
|
|
143
|
+
const RowDivider = useMemo(
|
|
144
|
+
() => createRowDivider(marginHorizontal),
|
|
145
|
+
[marginHorizontal]
|
|
146
|
+
);
|
|
147
|
+
|
|
148
|
+
return (
|
|
149
|
+
<RNSectionList<SectionListRow, SectionData>
|
|
150
|
+
{...rest}
|
|
151
|
+
style={style}
|
|
152
|
+
testID={testID}
|
|
153
|
+
sections={sections}
|
|
154
|
+
stickySectionHeadersEnabled={false}
|
|
155
|
+
ItemSeparatorComponent={RowDivider}
|
|
156
|
+
renderSectionHeader={({ section }) =>
|
|
157
|
+
section.hideHeading ? null : (
|
|
158
|
+
<StyledSectionHeading
|
|
159
|
+
text={section.text ?? ''}
|
|
160
|
+
icon={section.icon}
|
|
161
|
+
rightChildren={section.rightChildren}
|
|
162
|
+
intent={section.intent}
|
|
163
|
+
size={section.size}
|
|
164
|
+
/>
|
|
165
|
+
)
|
|
166
|
+
}
|
|
167
|
+
renderItem={({ item, index, section }) => (
|
|
168
|
+
<StyledRow
|
|
169
|
+
testID="section-list-row"
|
|
170
|
+
themePosition={positionOf(index, section.data.length)}
|
|
171
|
+
themeMarginHorizontal={marginHorizontal}
|
|
172
|
+
>
|
|
173
|
+
{renderRow(item)}
|
|
174
|
+
</StyledRow>
|
|
175
|
+
)}
|
|
176
|
+
SectionSeparatorComponent={SectionSpacer}
|
|
177
|
+
/>
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
export default SectionList;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { View } from 'react-native';
|
|
2
|
+
import styled from '@emotion/native';
|
|
3
|
+
import SectionHeading from '../SectionHeading';
|
|
4
|
+
|
|
5
|
+
export type RowPosition = 'top' | 'bottom' | 'middle' | 'single';
|
|
6
|
+
|
|
7
|
+
export type MarginHorizontal =
|
|
8
|
+
| 'xsmall'
|
|
9
|
+
| 'small'
|
|
10
|
+
| 'medium'
|
|
11
|
+
| 'large'
|
|
12
|
+
| 'xlarge'
|
|
13
|
+
| 'none';
|
|
14
|
+
|
|
15
|
+
const isTop = (position: RowPosition) =>
|
|
16
|
+
position === 'top' || position === 'single';
|
|
17
|
+
const isBottom = (position: RowPosition) =>
|
|
18
|
+
position === 'bottom' || position === 'single';
|
|
19
|
+
|
|
20
|
+
const StyledRow = styled(View)<{
|
|
21
|
+
themePosition: RowPosition;
|
|
22
|
+
themeMarginHorizontal?: MarginHorizontal;
|
|
23
|
+
}>(({ theme, themePosition, themeMarginHorizontal = 'medium' }) => {
|
|
24
|
+
const radius = theme.__hd__.sectionList.radii.group;
|
|
25
|
+
const marginHorizontal =
|
|
26
|
+
theme.__hd__.sectionList.space.marginHorizontal[themeMarginHorizontal];
|
|
27
|
+
|
|
28
|
+
return {
|
|
29
|
+
marginHorizontal,
|
|
30
|
+
backgroundColor: theme.__hd__.sectionList.colors.groupBackground,
|
|
31
|
+
borderTopLeftRadius: isTop(themePosition) ? radius : 0,
|
|
32
|
+
borderTopRightRadius: isTop(themePosition) ? radius : 0,
|
|
33
|
+
borderBottomLeftRadius: isBottom(themePosition) ? radius : 0,
|
|
34
|
+
borderBottomRightRadius: isBottom(themePosition) ? radius : 0,
|
|
35
|
+
overflow: 'hidden',
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const StyledDividerWrapper = styled(View)<{
|
|
40
|
+
themeMarginHorizontal?: MarginHorizontal;
|
|
41
|
+
}>(({ theme, themeMarginHorizontal = 'medium' }) => ({
|
|
42
|
+
marginHorizontal:
|
|
43
|
+
theme.__hd__.sectionList.space.marginHorizontal[themeMarginHorizontal],
|
|
44
|
+
backgroundColor: theme.__hd__.sectionList.colors.groupBackground,
|
|
45
|
+
}));
|
|
46
|
+
|
|
47
|
+
const StyledSectionSpacer = styled(View)<{ themeCompact: boolean }>(
|
|
48
|
+
({ theme, themeCompact }) => ({
|
|
49
|
+
height: themeCompact
|
|
50
|
+
? theme.__hd__.sectionList.space.sectionSpacingCompact
|
|
51
|
+
: theme.__hd__.sectionList.space.sectionSpacing,
|
|
52
|
+
})
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
const StyledSectionHeading = styled(SectionHeading)(({ theme }) => ({
|
|
56
|
+
paddingLeft: theme.__hd__.sectionList.space.headingPaddingLeft,
|
|
57
|
+
marginBottom: 0,
|
|
58
|
+
}));
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
StyledRow,
|
|
62
|
+
StyledDividerWrapper,
|
|
63
|
+
StyledSectionSpacer,
|
|
64
|
+
StyledSectionHeading,
|
|
65
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import DateTimePicker from '@react-native-community/datetimepicker';
|
|
2
2
|
import React, { useState, useCallback } from 'react';
|
|
3
3
|
import { TouchableOpacity, View } from 'react-native';
|
|
4
|
-
import formatTime from 'date-fns/fp
|
|
4
|
+
import { format as formatTime } from 'date-fns/fp';
|
|
5
5
|
|
|
6
6
|
import TextInput from '../TextInput';
|
|
7
7
|
import type { TimePickerProps } from './types';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import DateTimePicker from '@react-native-community/datetimepicker';
|
|
2
2
|
import React, { useEffect, useState, useCallback } from 'react';
|
|
3
3
|
import { TouchableOpacity, View } from 'react-native';
|
|
4
|
-
import formatTime from 'date-fns/fp
|
|
4
|
+
import { format as formatTime } from 'date-fns/fp';
|
|
5
5
|
|
|
6
6
|
import BottomSheet from '../BottomSheet';
|
|
7
7
|
import TextInput from '../TextInput';
|
|
@@ -23,7 +23,7 @@ export interface TimePickerProps {
|
|
|
23
23
|
confirmLabel: string;
|
|
24
24
|
/**
|
|
25
25
|
* Time display format of current value presented on the input. Default format is: HH:mm aa.
|
|
26
|
-
* Following date-fns's format (https://date-fns.org/
|
|
26
|
+
* Following date-fns's format (https://date-fns.org/v4.1.0/docs/format).
|
|
27
27
|
* This also change how the time picker display between 24 hour and 12 hour mode.
|
|
28
28
|
*/
|
|
29
29
|
displayFormat?: string;
|
package/src/index.ts
CHANGED
|
@@ -63,6 +63,7 @@ import Spinner from './components/Spinner';
|
|
|
63
63
|
import Swipeable from './components/Swipeable';
|
|
64
64
|
import Radio from './components/Radio';
|
|
65
65
|
import SectionHeading from './components/SectionHeading';
|
|
66
|
+
import SectionList from './components/SectionList';
|
|
66
67
|
import Select from './components/Select';
|
|
67
68
|
import Skeleton from './components/Skeleton';
|
|
68
69
|
import Success from './components/StatusScreens/Success';
|
|
@@ -162,6 +163,7 @@ export {
|
|
|
162
163
|
SegmentedControl,
|
|
163
164
|
ScrollViewWithFAB,
|
|
164
165
|
SectionHeading,
|
|
166
|
+
SectionList,
|
|
165
167
|
SectionListWithFAB,
|
|
166
168
|
Select,
|
|
167
169
|
Success,
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { GlobalTheme } from '../global';
|
|
2
|
+
|
|
3
|
+
const getSectionListTheme = (theme: GlobalTheme) => {
|
|
4
|
+
const colors = {
|
|
5
|
+
groupBackground: theme.colors.defaultGlobalSurface,
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const radii = {
|
|
9
|
+
group: theme.radii.xlarge,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const marginHorizontalValues = {
|
|
13
|
+
none: 0,
|
|
14
|
+
xsmall: theme.space.xsmall,
|
|
15
|
+
small: theme.space.small,
|
|
16
|
+
medium: theme.space.medium,
|
|
17
|
+
large: theme.space.large,
|
|
18
|
+
xlarge: theme.space.xlarge,
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const space = {
|
|
22
|
+
marginHorizontal: marginHorizontalValues,
|
|
23
|
+
sectionSpacing: theme.space.medium,
|
|
24
|
+
sectionSpacingCompact: theme.space.small,
|
|
25
|
+
headingPaddingLeft: theme.space.small,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
return { colors, radii, space };
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export default getSectionListTheme;
|
package/src/theme/getTheme.ts
CHANGED
|
@@ -41,6 +41,7 @@ import getRateTheme from './components/rate';
|
|
|
41
41
|
import getRefreshControlTheme from './components/refreshControl';
|
|
42
42
|
import getRichTextEditorTheme from './components/richTextEditor';
|
|
43
43
|
import getSectionHeadingTheme from './components/sectionHeading';
|
|
44
|
+
import getSectionListTheme from './components/sectionList';
|
|
44
45
|
import getSelectTheme from './components/select';
|
|
45
46
|
import getSkeletonTheme from './components/skeleton';
|
|
46
47
|
import getSliderTheme from './components/slider';
|
|
@@ -115,6 +116,7 @@ type Theme = GlobalTheme & {
|
|
|
115
116
|
richTextEditor: ReturnType<typeof getRichTextEditorTheme>;
|
|
116
117
|
search: ReturnType<typeof getSearchTheme>;
|
|
117
118
|
sectionHeading: ReturnType<typeof getSectionHeadingTheme>;
|
|
119
|
+
sectionList: ReturnType<typeof getSectionListTheme>;
|
|
118
120
|
select: ReturnType<typeof getSelectTheme>;
|
|
119
121
|
skeleton: ReturnType<typeof getSkeletonTheme>;
|
|
120
122
|
slider: ReturnType<typeof getSliderTheme>;
|
|
@@ -183,6 +185,7 @@ const getTheme = (
|
|
|
183
185
|
richTextEditor: getRichTextEditorTheme(globalTheme),
|
|
184
186
|
search: getSearchTheme(globalTheme),
|
|
185
187
|
sectionHeading: getSectionHeadingTheme(globalTheme),
|
|
188
|
+
sectionList: getSectionListTheme(globalTheme),
|
|
186
189
|
select: getSelectTheme(globalTheme),
|
|
187
190
|
skeleton: getSkeletonTheme(globalTheme),
|
|
188
191
|
slider: getSliderTheme(globalTheme),
|
package/src/types.ts
CHANGED
|
@@ -117,3 +117,4 @@ export type { SkeletonProps } from './components/Skeleton';
|
|
|
117
117
|
export type { SpinnerProps } from './components/Spinner';
|
|
118
118
|
export type { SwitchProps } from './components/Switch';
|
|
119
119
|
export type { TagProps } from './components/Tag';
|
|
120
|
+
export type { SectionListProps } from './components/SectionList';
|
|
@@ -37,7 +37,7 @@ export interface DatePickerProps {
|
|
|
37
37
|
confirmLabel: string;
|
|
38
38
|
/**
|
|
39
39
|
* Date format. Default format is dd/MM/yyyy.
|
|
40
|
-
* Following date-fns's format (https://date-fns.org/
|
|
40
|
+
* Following date-fns's format (https://date-fns.org/v4.1.0/docs/format).
|
|
41
41
|
*/
|
|
42
42
|
displayFormat?: string;
|
|
43
43
|
/**
|