react-native-roster 0.0.0 → 0.1.0
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/NOTICE.md +29 -0
- package/README.md +455 -2
- package/dist/src/adapters/rrule/cache.d.ts +15 -0
- package/dist/src/adapters/rrule/cache.d.ts.map +1 -0
- package/dist/src/adapters/rrule/cache.js +53 -0
- package/dist/src/adapters/rrule/cache.js.map +1 -0
- package/dist/src/adapters/rrule/envelope.d.ts +3 -0
- package/dist/src/adapters/rrule/envelope.d.ts.map +1 -0
- package/dist/src/adapters/rrule/envelope.js +9 -0
- package/dist/src/adapters/rrule/envelope.js.map +1 -0
- package/dist/src/adapters/rrule/expand.d.ts +4 -0
- package/dist/src/adapters/rrule/expand.d.ts.map +1 -0
- package/dist/src/adapters/rrule/expand.js +92 -0
- package/dist/src/adapters/rrule/expand.js.map +1 -0
- package/dist/src/adapters/rrule/hash.d.ts +3 -0
- package/dist/src/adapters/rrule/hash.d.ts.map +1 -0
- package/dist/src/adapters/rrule/hash.js +15 -0
- package/dist/src/adapters/rrule/hash.js.map +1 -0
- package/dist/src/adapters/rrule/index.d.ts +5 -0
- package/dist/src/adapters/rrule/index.d.ts.map +1 -0
- package/dist/src/adapters/rrule/index.js +12 -0
- package/dist/src/adapters/rrule/index.js.map +1 -0
- package/dist/src/adapters/rrule/net.d.ts +6 -0
- package/dist/src/adapters/rrule/net.d.ts.map +1 -0
- package/dist/src/adapters/rrule/net.js +31 -0
- package/dist/src/adapters/rrule/net.js.map +1 -0
- package/dist/src/adapters/rrule/occurrences.d.ts +6 -0
- package/dist/src/adapters/rrule/occurrences.d.ts.map +1 -0
- package/dist/src/adapters/rrule/occurrences.js +252 -0
- package/dist/src/adapters/rrule/occurrences.js.map +1 -0
- package/dist/src/adapters/rrule/types.d.ts +62 -0
- package/dist/src/adapters/rrule/types.d.ts.map +1 -0
- package/dist/src/adapters/rrule/types.js +3 -0
- package/dist/src/adapters/rrule/types.js.map +1 -0
- package/dist/src/adapters/rrule/validate.d.ts +6 -0
- package/dist/src/adapters/rrule/validate.d.ts.map +1 -0
- package/dist/src/adapters/rrule/validate.js +64 -0
- package/dist/src/adapters/rrule/validate.js.map +1 -0
- package/dist/src/components/layers/layers.types.d.ts +15 -0
- package/dist/src/components/layers/layers.types.d.ts.map +1 -0
- package/dist/src/components/layers/layers.types.js +3 -0
- package/dist/src/components/layers/layers.types.js.map +1 -0
- package/dist/src/components/layers/parts/gap.d.ts +3 -0
- package/dist/src/components/layers/parts/gap.d.ts.map +1 -0
- package/dist/src/components/layers/parts/gap.js +7 -0
- package/dist/src/components/layers/parts/gap.js.map +1 -0
- package/dist/src/components/layers/parts/interval.d.ts +3 -0
- package/dist/src/components/layers/parts/interval.d.ts.map +1 -0
- package/dist/src/components/layers/parts/interval.js +22 -0
- package/dist/src/components/layers/parts/interval.js.map +1 -0
- package/dist/src/components/layers/utils/styles.d.ts +7 -0
- package/dist/src/components/layers/utils/styles.d.ts.map +1 -0
- package/dist/src/components/layers/utils/styles.js +24 -0
- package/dist/src/components/layers/utils/styles.js.map +1 -0
- package/dist/src/components/primitives/press-point.d.ts +3 -0
- package/dist/src/components/primitives/press-point.d.ts.map +1 -0
- package/dist/src/components/primitives/press-point.js +7 -0
- package/dist/src/components/primitives/press-point.js.map +1 -0
- package/dist/src/components/primitives/press-point.types.d.ts +14 -0
- package/dist/src/components/primitives/press-point.types.d.ts.map +1 -0
- package/dist/src/components/primitives/press-point.types.js +3 -0
- package/dist/src/components/primitives/press-point.types.js.map +1 -0
- package/dist/src/components/primitives/press-point.web.d.ts +3 -0
- package/dist/src/components/primitives/press-point.web.d.ts.map +1 -0
- package/dist/src/components/primitives/press-point.web.js +17 -0
- package/dist/src/components/primitives/press-point.web.js.map +1 -0
- package/dist/src/components/primitives/region-style.d.ts +9 -0
- package/dist/src/components/primitives/region-style.d.ts.map +1 -0
- package/dist/src/components/primitives/region-style.js +20 -0
- package/dist/src/components/primitives/region-style.js.map +1 -0
- package/dist/src/components/roster/body-layout.d.ts +9 -0
- package/dist/src/components/roster/body-layout.d.ts.map +1 -0
- package/dist/src/components/roster/body-layout.js +9 -0
- package/dist/src/components/roster/body-layout.js.map +1 -0
- package/dist/src/components/roster/index.d.ts +3 -0
- package/dist/src/components/roster/index.d.ts.map +1 -0
- package/dist/src/components/roster/index.js +40 -0
- package/dist/src/components/roster/index.js.map +1 -0
- package/dist/src/components/roster/lanes/interval-hover.d.ts +3 -0
- package/dist/src/components/roster/lanes/interval-hover.d.ts.map +1 -0
- package/dist/src/components/roster/lanes/interval-hover.js +7 -0
- package/dist/src/components/roster/lanes/interval-hover.js.map +1 -0
- package/dist/src/components/roster/lanes/interval-hover.types.d.ts +15 -0
- package/dist/src/components/roster/lanes/interval-hover.types.d.ts.map +1 -0
- package/dist/src/components/roster/lanes/interval-hover.types.js +3 -0
- package/dist/src/components/roster/lanes/interval-hover.types.js.map +1 -0
- package/dist/src/components/roster/lanes/interval-hover.web.d.ts +3 -0
- package/dist/src/components/roster/lanes/interval-hover.web.d.ts.map +1 -0
- package/dist/src/components/roster/lanes/interval-hover.web.js +20 -0
- package/dist/src/components/roster/lanes/interval-hover.web.js.map +1 -0
- package/dist/src/components/roster/lanes/lane.d.ts +10 -0
- package/dist/src/components/roster/lanes/lane.d.ts.map +1 -0
- package/dist/src/components/roster/lanes/lane.js +32 -0
- package/dist/src/components/roster/lanes/lane.js.map +1 -0
- package/dist/src/components/roster/lanes/parts/incomplete.d.ts +8 -0
- package/dist/src/components/roster/lanes/parts/incomplete.d.ts.map +1 -0
- package/dist/src/components/roster/lanes/parts/incomplete.js +30 -0
- package/dist/src/components/roster/lanes/parts/incomplete.js.map +1 -0
- package/dist/src/components/roster/lanes/parts/lane-label.d.ts +3 -0
- package/dist/src/components/roster/lanes/parts/lane-label.d.ts.map +1 -0
- package/dist/src/components/roster/lanes/parts/lane-label.js +18 -0
- package/dist/src/components/roster/lanes/parts/lane-label.js.map +1 -0
- package/dist/src/components/roster/layout.d.ts +17 -0
- package/dist/src/components/roster/layout.d.ts.map +1 -0
- package/dist/src/components/roster/layout.js +24 -0
- package/dist/src/components/roster/layout.js.map +1 -0
- package/dist/src/components/roster/parts/body.d.ts +7 -0
- package/dist/src/components/roster/parts/body.d.ts.map +1 -0
- package/dist/src/components/roster/parts/body.js +14 -0
- package/dist/src/components/roster/parts/body.js.map +1 -0
- package/dist/src/components/roster/parts/corner.d.ts +2 -0
- package/dist/src/components/roster/parts/corner.d.ts.map +1 -0
- package/dist/src/components/roster/parts/corner.js +7 -0
- package/dist/src/components/roster/parts/corner.js.map +1 -0
- package/dist/src/components/roster/parts/empty.d.ts +2 -0
- package/dist/src/components/roster/parts/empty.d.ts.map +1 -0
- package/dist/src/components/roster/parts/empty.js +9 -0
- package/dist/src/components/roster/parts/empty.js.map +1 -0
- package/dist/src/components/roster/parts/grid.d.ts +3 -0
- package/dist/src/components/roster/parts/grid.d.ts.map +1 -0
- package/dist/src/components/roster/parts/grid.js +16 -0
- package/dist/src/components/roster/parts/grid.js.map +1 -0
- package/dist/src/components/roster/parts/header-cell.d.ts +3 -0
- package/dist/src/components/roster/parts/header-cell.d.ts.map +1 -0
- package/dist/src/components/roster/parts/header-cell.js +9 -0
- package/dist/src/components/roster/parts/header-cell.js.map +1 -0
- package/dist/src/components/roster/parts/header.d.ts +3 -0
- package/dist/src/components/roster/parts/header.d.ts.map +1 -0
- package/dist/src/components/roster/parts/header.js +13 -0
- package/dist/src/components/roster/parts/header.js.map +1 -0
- package/dist/src/components/roster/parts/lane-label-column.d.ts +3 -0
- package/dist/src/components/roster/parts/lane-label-column.d.ts.map +1 -0
- package/dist/src/components/roster/parts/lane-label-column.js +18 -0
- package/dist/src/components/roster/parts/lane-label-column.js.map +1 -0
- package/dist/src/components/roster/parts/lane-list.d.ts +7 -0
- package/dist/src/components/roster/parts/lane-list.d.ts.map +1 -0
- package/dist/src/components/roster/parts/lane-list.js +25 -0
- package/dist/src/components/roster/parts/lane-list.js.map +1 -0
- package/dist/src/components/roster/roster.types.d.ts +145 -0
- package/dist/src/components/roster/roster.types.d.ts.map +1 -0
- package/dist/src/components/roster/roster.types.js +3 -0
- package/dist/src/components/roster/roster.types.js.map +1 -0
- package/dist/src/components/roster/use-roster.d.ts +3 -0
- package/dist/src/components/roster/use-roster.d.ts.map +1 -0
- package/dist/src/components/roster/use-roster.js +106 -0
- package/dist/src/components/roster/use-roster.js.map +1 -0
- package/dist/src/components/roster/utils/body-content-key.d.ts +3 -0
- package/dist/src/components/roster/utils/body-content-key.d.ts.map +1 -0
- package/dist/src/components/roster/utils/body-content-key.js +29 -0
- package/dist/src/components/roster/utils/body-content-key.js.map +1 -0
- package/dist/src/components/roster/utils/ticks.d.ts +4 -0
- package/dist/src/components/roster/utils/ticks.d.ts.map +1 -0
- package/dist/src/components/roster/utils/ticks.js +60 -0
- package/dist/src/components/roster/utils/ticks.js.map +1 -0
- package/dist/src/components/schedule/days/day.d.ts +20 -0
- package/dist/src/components/schedule/days/day.d.ts.map +1 -0
- package/dist/src/components/schedule/days/day.js +17 -0
- package/dist/src/components/schedule/days/day.js.map +1 -0
- package/dist/src/components/schedule/days/header-layout.d.ts +9 -0
- package/dist/src/components/schedule/days/header-layout.d.ts.map +1 -0
- package/dist/src/components/schedule/days/header-layout.js +9 -0
- package/dist/src/components/schedule/days/header-layout.js.map +1 -0
- package/dist/src/components/schedule/days/layout.d.ts +18 -0
- package/dist/src/components/schedule/days/layout.d.ts.map +1 -0
- package/dist/src/components/schedule/days/layout.js +9 -0
- package/dist/src/components/schedule/days/layout.js.map +1 -0
- package/dist/src/components/schedule/days/parts/column.d.ts +3 -0
- package/dist/src/components/schedule/days/parts/column.d.ts.map +1 -0
- package/dist/src/components/schedule/days/parts/column.js +28 -0
- package/dist/src/components/schedule/days/parts/column.js.map +1 -0
- package/dist/src/components/schedule/days/parts/day-header.d.ts +5 -0
- package/dist/src/components/schedule/days/parts/day-header.d.ts.map +1 -0
- package/dist/src/components/schedule/days/parts/day-header.js +10 -0
- package/dist/src/components/schedule/days/parts/day-header.js.map +1 -0
- package/dist/src/components/schedule/days/parts/grid.d.ts +3 -0
- package/dist/src/components/schedule/days/parts/grid.d.ts.map +1 -0
- package/dist/src/components/schedule/days/parts/grid.js +14 -0
- package/dist/src/components/schedule/days/parts/grid.js.map +1 -0
- package/dist/src/components/schedule/days/parts/now-line.d.ts +5 -0
- package/dist/src/components/schedule/days/parts/now-line.d.ts.map +1 -0
- package/dist/src/components/schedule/days/parts/now-line.js +9 -0
- package/dist/src/components/schedule/days/parts/now-line.js.map +1 -0
- package/dist/src/components/schedule/days/parts/skipped-date.d.ts +4 -0
- package/dist/src/components/schedule/days/parts/skipped-date.d.ts.map +1 -0
- package/dist/src/components/schedule/days/parts/skipped-date.js +17 -0
- package/dist/src/components/schedule/days/parts/skipped-date.js.map +1 -0
- package/dist/src/components/schedule/days/parts/transition.d.ts +3 -0
- package/dist/src/components/schedule/days/parts/transition.d.ts.map +1 -0
- package/dist/src/components/schedule/days/parts/transition.js +42 -0
- package/dist/src/components/schedule/days/parts/transition.js.map +1 -0
- package/dist/src/components/schedule/index.d.ts +3 -0
- package/dist/src/components/schedule/index.d.ts.map +1 -0
- package/dist/src/components/schedule/index.js +44 -0
- package/dist/src/components/schedule/index.js.map +1 -0
- package/dist/src/components/schedule/layout.d.ts +15 -0
- package/dist/src/components/schedule/layout.d.ts.map +1 -0
- package/dist/src/components/schedule/layout.js +10 -0
- package/dist/src/components/schedule/layout.js.map +1 -0
- package/dist/src/components/schedule/parts/gutter.d.ts +3 -0
- package/dist/src/components/schedule/parts/gutter.d.ts.map +1 -0
- package/dist/src/components/schedule/parts/gutter.js +9 -0
- package/dist/src/components/schedule/parts/gutter.js.map +1 -0
- package/dist/src/components/schedule/parts/incomplete.d.ts +6 -0
- package/dist/src/components/schedule/parts/incomplete.d.ts.map +1 -0
- package/dist/src/components/schedule/parts/incomplete.js +9 -0
- package/dist/src/components/schedule/parts/incomplete.js.map +1 -0
- package/dist/src/components/schedule/schedule.types.d.ts +109 -0
- package/dist/src/components/schedule/schedule.types.d.ts.map +1 -0
- package/dist/src/components/schedule/schedule.types.js +3 -0
- package/dist/src/components/schedule/schedule.types.js.map +1 -0
- package/dist/src/components/schedule/use-schedule-viewport.d.ts +7 -0
- package/dist/src/components/schedule/use-schedule-viewport.d.ts.map +1 -0
- package/dist/src/components/schedule/use-schedule-viewport.js +15 -0
- package/dist/src/components/schedule/use-schedule-viewport.js.map +1 -0
- package/dist/src/components/schedule/use-schedule.d.ts +3 -0
- package/dist/src/components/schedule/use-schedule.d.ts.map +1 -0
- package/dist/src/components/schedule/use-schedule.js +71 -0
- package/dist/src/components/schedule/use-schedule.js.map +1 -0
- package/dist/src/components/schedule/utils/days.d.ts +17 -0
- package/dist/src/components/schedule/utils/days.d.ts.map +1 -0
- package/dist/src/components/schedule/utils/days.js +49 -0
- package/dist/src/components/schedule/utils/days.js.map +1 -0
- package/dist/src/core/axis.d.ts +18 -0
- package/dist/src/core/axis.d.ts.map +1 -0
- package/dist/src/core/axis.js +58 -0
- package/dist/src/core/axis.js.map +1 -0
- package/dist/src/core/cache.d.ts +29 -0
- package/dist/src/core/cache.d.ts.map +1 -0
- package/dist/src/core/cache.js +33 -0
- package/dist/src/core/cache.js.map +1 -0
- package/dist/src/core/columns.d.ts +3 -0
- package/dist/src/core/columns.d.ts.map +1 -0
- package/dist/src/core/columns.js +45 -0
- package/dist/src/core/columns.js.map +1 -0
- package/dist/src/core/coverage.d.ts +3 -0
- package/dist/src/core/coverage.d.ts.map +1 -0
- package/dist/src/core/coverage.js +60 -0
- package/dist/src/core/coverage.js.map +1 -0
- package/dist/src/core/flag.d.ts +3 -0
- package/dist/src/core/flag.d.ts.map +1 -0
- package/dist/src/core/flag.js +17 -0
- package/dist/src/core/flag.js.map +1 -0
- package/dist/src/core/hash.d.ts +5 -0
- package/dist/src/core/hash.d.ts.map +1 -0
- package/dist/src/core/hash.js +29 -0
- package/dist/src/core/hash.js.map +1 -0
- package/dist/src/core/hit-test.d.ts +6 -0
- package/dist/src/core/hit-test.d.ts.map +1 -0
- package/dist/src/core/hit-test.js +23 -0
- package/dist/src/core/hit-test.js.map +1 -0
- package/dist/src/core/index.d.ts +12 -0
- package/dist/src/core/index.d.ts.map +1 -0
- package/dist/src/core/index.js +30 -0
- package/dist/src/core/index.js.map +1 -0
- package/dist/src/core/layout.d.ts +3 -0
- package/dist/src/core/layout.d.ts.map +1 -0
- package/dist/src/core/layout.js +96 -0
- package/dist/src/core/layout.js.map +1 -0
- package/dist/src/core/order.d.ts +7 -0
- package/dist/src/core/order.d.ts.map +1 -0
- package/dist/src/core/order.js +12 -0
- package/dist/src/core/order.js.map +1 -0
- package/dist/src/core/scale.d.ts +9 -0
- package/dist/src/core/scale.d.ts.map +1 -0
- package/dist/src/core/scale.js +41 -0
- package/dist/src/core/scale.js.map +1 -0
- package/dist/src/core/snap.d.ts +10 -0
- package/dist/src/core/snap.d.ts.map +1 -0
- package/dist/src/core/snap.js +43 -0
- package/dist/src/core/snap.js.map +1 -0
- package/dist/src/core/spans.d.ts +3 -0
- package/dist/src/core/spans.d.ts.map +1 -0
- package/dist/src/core/spans.js +60 -0
- package/dist/src/core/spans.js.map +1 -0
- package/dist/src/core/types.d.ts +104 -0
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +3 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/core/zone.d.ts +10 -0
- package/dist/src/core/zone.d.ts.map +1 -0
- package/dist/src/core/zone.js +103 -0
- package/dist/src/core/zone.js.map +1 -0
- package/dist/src/index.d.ts +29 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +67 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/nativewind/index.d.ts +59 -0
- package/dist/src/nativewind/index.d.ts.map +1 -0
- package/dist/src/nativewind/index.js +24 -0
- package/dist/src/nativewind/index.js.map +1 -0
- package/docs/migrations.md +61 -0
- package/llms.txt +498 -0
- package/package.json +155 -8
- package/src/adapters/rrule/README.md +41 -0
- package/src/adapters/rrule/cache.ts +50 -0
- package/src/adapters/rrule/envelope.ts +7 -0
- package/src/adapters/rrule/expand.ts +105 -0
- package/src/adapters/rrule/hash.ts +13 -0
- package/src/adapters/rrule/index.ts +11 -0
- package/src/adapters/rrule/net.ts +30 -0
- package/src/adapters/rrule/occurrences.ts +288 -0
- package/src/adapters/rrule/types.ts +52 -0
- package/src/adapters/rrule/validate.ts +78 -0
- package/src/components/layers/README.md +15 -0
- package/src/components/layers/layers.types.ts +6 -0
- package/src/components/layers/parts/gap.tsx +5 -0
- package/src/components/layers/parts/interval.tsx +24 -0
- package/src/components/layers/utils/styles.ts +24 -0
- package/src/components/primitives/README.md +12 -0
- package/src/components/primitives/press-point.tsx +5 -0
- package/src/components/primitives/press-point.types.ts +5 -0
- package/src/components/primitives/press-point.web.tsx +19 -0
- package/src/components/primitives/region-style.ts +21 -0
- package/src/components/roster/README.md +29 -0
- package/src/components/roster/body-layout.tsx +32 -0
- package/src/components/roster/index.tsx +108 -0
- package/src/components/roster/lanes/interval-hover.tsx +5 -0
- package/src/components/roster/lanes/interval-hover.types.ts +11 -0
- package/src/components/roster/lanes/interval-hover.web.tsx +19 -0
- package/src/components/roster/lanes/lane.tsx +93 -0
- package/src/components/roster/lanes/parts/incomplete.tsx +44 -0
- package/src/components/roster/lanes/parts/lane-label.tsx +41 -0
- package/src/components/roster/layout.tsx +68 -0
- package/src/components/roster/parts/body.tsx +24 -0
- package/src/components/roster/parts/corner.tsx +3 -0
- package/src/components/roster/parts/empty.tsx +5 -0
- package/src/components/roster/parts/grid.tsx +26 -0
- package/src/components/roster/parts/header-cell.tsx +10 -0
- package/src/components/roster/parts/header.tsx +23 -0
- package/src/components/roster/parts/lane-label-column.tsx +31 -0
- package/src/components/roster/parts/lane-list.tsx +74 -0
- package/src/components/roster/roster.types.ts +156 -0
- package/src/components/roster/use-roster.ts +133 -0
- package/src/components/roster/utils/body-content-key.ts +46 -0
- package/src/components/roster/utils/ticks.ts +62 -0
- package/src/components/schedule/README.md +23 -0
- package/src/components/schedule/days/day.tsx +89 -0
- package/src/components/schedule/days/header-layout.tsx +12 -0
- package/src/components/schedule/days/layout.tsx +38 -0
- package/src/components/schedule/days/parts/column.tsx +59 -0
- package/src/components/schedule/days/parts/day-header.tsx +18 -0
- package/src/components/schedule/days/parts/grid.tsx +21 -0
- package/src/components/schedule/days/parts/now-line.tsx +11 -0
- package/src/components/schedule/days/parts/skipped-date.tsx +22 -0
- package/src/components/schedule/days/parts/transition.tsx +70 -0
- package/src/components/schedule/index.tsx +108 -0
- package/src/components/schedule/layout.tsx +42 -0
- package/src/components/schedule/parts/gutter.tsx +16 -0
- package/src/components/schedule/parts/incomplete.tsx +13 -0
- package/src/components/schedule/schedule.types.ts +103 -0
- package/src/components/schedule/use-schedule-viewport.ts +13 -0
- package/src/components/schedule/use-schedule.ts +75 -0
- package/src/components/schedule/utils/days.ts +54 -0
- package/src/core/README.md +25 -0
- package/src/core/axis.ts +58 -0
- package/src/core/cache.ts +38 -0
- package/src/core/columns.ts +49 -0
- package/src/core/coverage.ts +56 -0
- package/src/core/flag.ts +14 -0
- package/src/core/hash.ts +28 -0
- package/src/core/hit-test.ts +27 -0
- package/src/core/index.ts +34 -0
- package/src/core/layout.ts +101 -0
- package/src/core/order.ts +18 -0
- package/src/core/scale.ts +45 -0
- package/src/core/snap.ts +52 -0
- package/src/core/spans.ts +58 -0
- package/src/core/types.ts +92 -0
- package/src/core/zone.ts +100 -0
- package/src/index.ts +52 -0
- package/src/nativewind/README.md +14 -0
- package/src/nativewind/index.ts +30 -0
- package/index.js +0 -4
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateWindow = validateWindow;
|
|
4
|
+
exports.nonnegativeInteger = nonnegativeInteger;
|
|
5
|
+
exports.validateInput = validateInput;
|
|
6
|
+
function validateWindow(window) {
|
|
7
|
+
if (!Number.isSafeInteger(window.start) ||
|
|
8
|
+
!Number.isSafeInteger(window.end) ||
|
|
9
|
+
window.start > window.end) {
|
|
10
|
+
throw new RangeError('window must have integer epoch milliseconds with start <= end');
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function nonnegativeInteger(value, name) {
|
|
14
|
+
if (!Number.isSafeInteger(value) || value < 0)
|
|
15
|
+
throw new RangeError(`${name} must be a nonnegative integer`);
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
function validateInput(input) {
|
|
19
|
+
if (!input.id || !['include', 'exclude'].includes(input.kind)) {
|
|
20
|
+
throw new RangeError('Each rule or date needs an id and an include or exclude kind');
|
|
21
|
+
}
|
|
22
|
+
// Bound date strings before any regex sees them; a full offset-and-zone
|
|
23
|
+
// form is under 50 characters, and unbounded input would scan quadratically.
|
|
24
|
+
for (const name of ['dtstart', 'until', 'date']) {
|
|
25
|
+
const value = name in input ? input[name] : undefined;
|
|
26
|
+
if (value !== undefined && (typeof value !== 'string' || value.length > 64))
|
|
27
|
+
throw new RangeError(`${input.id}: ${name} must be a string of at most 64 characters`);
|
|
28
|
+
}
|
|
29
|
+
const { hourstart, hourend } = input;
|
|
30
|
+
if ((hourstart === undefined) !== (hourend === undefined)) {
|
|
31
|
+
throw new RangeError(`${input.id}: hourstart and hourend must both be present or both absent`);
|
|
32
|
+
}
|
|
33
|
+
if ('frequency' in input) {
|
|
34
|
+
if (!['DAILY', 'WEEKLY', 'MONTHLY'].includes(input.frequency))
|
|
35
|
+
throw new RangeError('Unsupported frequency');
|
|
36
|
+
if (hourstart === undefined)
|
|
37
|
+
throw new RangeError('Rules require hourstart and hourend');
|
|
38
|
+
for (const name of ['count', 'interval']) {
|
|
39
|
+
const value = input[name];
|
|
40
|
+
if (value !== undefined && (!Number.isSafeInteger(value) || value <= 0))
|
|
41
|
+
throw new RangeError(`${name} must be a positive integer`);
|
|
42
|
+
}
|
|
43
|
+
validateNumbers(input.wkst === undefined ? undefined : [input.wkst], 'wkst', 0, 6);
|
|
44
|
+
validateNumbers(input.byweekday, 'byweekday', 0, 6);
|
|
45
|
+
validateNumbers(input.bymonth, 'bymonth', 1, 12);
|
|
46
|
+
validateNumbers(input.bymonthday, 'bymonthday', -31, 31, true);
|
|
47
|
+
validateNumbers(input.bysetpos, 'bysetpos', -366, 366, true);
|
|
48
|
+
}
|
|
49
|
+
if (hourstart !== undefined &&
|
|
50
|
+
hourend !== undefined &&
|
|
51
|
+
(!Number.isFinite(hourstart) ||
|
|
52
|
+
!Number.isFinite(hourend) ||
|
|
53
|
+
hourstart < 0 ||
|
|
54
|
+
hourstart >= hourend ||
|
|
55
|
+
hourend > 24)) {
|
|
56
|
+
throw new RangeError(`${input.id}: hours must satisfy 0 <= hourstart < hourend <= 24`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function validateNumbers(values, name, min, max, nonzero = false) {
|
|
60
|
+
if (values?.some((value) => !Number.isInteger(value) || value < min || value > max || (nonzero && value === 0))) {
|
|
61
|
+
throw new RangeError(`Invalid ${name}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/adapters/rrule/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Lane, Layer, Rect } from '../../core';
|
|
2
|
+
/** One covered span of a layer, positioned by the projection; `highlighted` follows the active source. */
|
|
3
|
+
export type IntervalInput = {
|
|
4
|
+
rect: Rect;
|
|
5
|
+
layer: Layer;
|
|
6
|
+
lane: Lane;
|
|
7
|
+
highlighted: boolean;
|
|
8
|
+
};
|
|
9
|
+
/** One removed span of a layer, positioned by the projection. */
|
|
10
|
+
export type GapInput = {
|
|
11
|
+
rect: Rect;
|
|
12
|
+
layer: Layer;
|
|
13
|
+
lane: Lane;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=layers.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layers.types.d.ts","sourceRoot":"","sources":["../../../../src/components/layers/layers.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEpD,0GAA0G;AAC1G,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC;AAC3F,iEAAiE;AACjE,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layers.types.js","sourceRoot":"","sources":["../../../../src/components/layers/layers.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gap.d.ts","sourceRoot":"","sources":["../../../../../src/components/layers/parts/gap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,QAEzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gap.js","sourceRoot":"","sources":["../../../../../src/components/layers/parts/gap.tsx"],"names":[],"mappings":";;;AAEA,mBAA0B,MAAgB;IACxC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval.d.ts","sourceRoot":"","sources":["../../../../../src/components/layers/parts/interval.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,aAAa,2CAmBzE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RosterInterval = RosterInterval;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_native_1 = require("react-native");
|
|
6
|
+
const styles_1 = require("../utils/styles");
|
|
7
|
+
function RosterInterval({ rect, layer, highlighted }) {
|
|
8
|
+
const styles = (0, styles_1.stylesFor)(layer);
|
|
9
|
+
const fill = highlighted ? styles.highlighted : styles.normal;
|
|
10
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "none", style: [
|
|
11
|
+
fill,
|
|
12
|
+
{
|
|
13
|
+
position: 'absolute',
|
|
14
|
+
left: rect.x,
|
|
15
|
+
top: rect.y,
|
|
16
|
+
width: rect.width,
|
|
17
|
+
height: rect.height,
|
|
18
|
+
zIndex: rect.z,
|
|
19
|
+
},
|
|
20
|
+
] }));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=interval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval.js","sourceRoot":"","sources":["../../../../../src/components/layers/parts/interval.tsx"],"names":[],"mappings":";;;;AAAA,+CAAoC;AAEpC,4CAA4C;AAE5C,wBAA+B,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAiB;IACxE,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC,KAAK,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9D,OAAO,CACL,uBAAC,mBAAI,IACH,aAAa,EAAC,MAAM,EACpB,KAAK,EAAE;YACL,IAAI;YACJ;gBACE,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,IAAI,CAAC,CAAC;gBACZ,GAAG,EAAE,IAAI,CAAC,CAAC;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,CAAC;aACf;SACF,GACD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/layers/utils/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAK3C,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,SAAS,CAAA;CAAE,CAiBrF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stylesFor = stylesFor;
|
|
4
|
+
const hash_1 = require("../../../core/hash");
|
|
5
|
+
const styles = new Map();
|
|
6
|
+
function stylesFor(layer) {
|
|
7
|
+
const key = (0, hash_1.structuralKey)([layer.id, layer.style]);
|
|
8
|
+
let result = styles.get(key);
|
|
9
|
+
if (!result) {
|
|
10
|
+
const normal = {
|
|
11
|
+
backgroundColor: layer.style.color,
|
|
12
|
+
opacity: layer.style.opacity ?? 1,
|
|
13
|
+
width: '100%',
|
|
14
|
+
height: '100%',
|
|
15
|
+
};
|
|
16
|
+
result = {
|
|
17
|
+
normal,
|
|
18
|
+
highlighted: { ...normal, backgroundColor: layer.style.highlightColor ?? layer.style.color },
|
|
19
|
+
};
|
|
20
|
+
styles.set(key, result);
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/components/layers/utils/styles.ts"],"names":[],"mappings":";;;AAEA,6CAAmD;AAEnD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyD,CAAC;AAEhF,mBAA0B,KAAY;IACpC,MAAM,GAAG,GAAG,IAAA,oBAAa,EAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,GAAc;YACxB,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;YAClC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC;YACjC,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;SACf,CAAC;QACF,MAAM,GAAG;YACP,MAAM;YACN,WAAW,EAAE,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;SAC7F,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"press-point.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/press-point.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEvE,wBAAgB,UAAU,CAAC,EAAE,WAAW,EAAE,EAAE,eAAe,GAAG,UAAU,CAEvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"press-point.js","sourceRoot":"","sources":["../../../../src/components/primitives/press-point.tsx"],"names":[],"mappings":";;;AAEA,oBAA2B,EAAE,WAAW,EAAmB;IACzD,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,SAAmB,EAAE,CAAC,EAAE,WAAW,CAAC,SAAmB,EAAE,CAAC;AACpF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type PressPointInput = {
|
|
2
|
+
nativeEvent: {
|
|
3
|
+
locationX?: number;
|
|
4
|
+
locationY?: number;
|
|
5
|
+
clientX?: number;
|
|
6
|
+
clientY?: number;
|
|
7
|
+
};
|
|
8
|
+
currentTarget?: unknown;
|
|
9
|
+
};
|
|
10
|
+
export type PressPoint = {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=press-point.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"press-point.types.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/press-point.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5F,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AACF,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"press-point.types.js","sourceRoot":"","sources":["../../../../src/components/primitives/press-point.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"press-point.web.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/press-point.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEvE,wBAAgB,UAAU,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,eAAe,GAAG,UAAU,CAgBtF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pressPoint = pressPoint;
|
|
4
|
+
function pressPoint({ nativeEvent, currentTarget }) {
|
|
5
|
+
// React Native Web passes a DOM click, not a native responder event, to onPress.
|
|
6
|
+
const target = currentTarget;
|
|
7
|
+
const bounds = target.getBoundingClientRect();
|
|
8
|
+
return {
|
|
9
|
+
x: typeof nativeEvent.clientX === 'number'
|
|
10
|
+
? nativeEvent.clientX - bounds.left
|
|
11
|
+
: bounds.width / 2,
|
|
12
|
+
y: typeof nativeEvent.clientY === 'number'
|
|
13
|
+
? nativeEvent.clientY - bounds.top
|
|
14
|
+
: bounds.height / 2,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=press-point.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"press-point.web.js","sourceRoot":"","sources":["../../../../src/components/primitives/press-point.web.tsx"],"names":[],"mappings":";;;AAEA,oBAA2B,EAAE,WAAW,EAAE,aAAa,EAAmB;IACxE,iFAAiF;IACjF,MAAM,MAAM,GAAG,aAEd,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAC9C,OAAO;QACL,CAAC,EACC,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ;YACrC,CAAC,CAAC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI;YACnC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;QACtB,CAAC,EACC,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ;YACrC,CAAC,CAAC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;YAClC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* Compose a chrome region's style. React Native Web renders object styles
|
|
4
|
+
* inline, and inline paint beats any class, so a class entry in the override
|
|
5
|
+
* (NativeWind's `$$css` marker) replaces the region's default paint entirely.
|
|
6
|
+
* Structure always applies; native style overrides simply merge last.
|
|
7
|
+
*/
|
|
8
|
+
export declare function regionStyle(structure: ViewStyle, paint: ViewStyle, override: StyleProp<ViewStyle>): StyleProp<ViewStyle>;
|
|
9
|
+
//# sourceMappingURL=region-style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"region-style.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/region-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,GAC7B,SAAS,CAAC,SAAS,CAAC,CAEtB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.regionStyle = regionStyle;
|
|
4
|
+
/**
|
|
5
|
+
* Compose a chrome region's style. React Native Web renders object styles
|
|
6
|
+
* inline, and inline paint beats any class, so a class entry in the override
|
|
7
|
+
* (NativeWind's `$$css` marker) replaces the region's default paint entirely.
|
|
8
|
+
* Structure always applies; native style overrides simply merge last.
|
|
9
|
+
*/
|
|
10
|
+
function regionStyle(structure, paint, override) {
|
|
11
|
+
return [structure, hasClassEntry(override) ? null : paint, override];
|
|
12
|
+
}
|
|
13
|
+
function hasClassEntry(style) {
|
|
14
|
+
if (!style || typeof style !== 'object')
|
|
15
|
+
return false;
|
|
16
|
+
if (Array.isArray(style))
|
|
17
|
+
return style.some((entry) => hasClassEntry(entry));
|
|
18
|
+
return '$$css' in style;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=region-style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"region-style.js","sourceRoot":"","sources":["../../../../src/components/primitives/region-style.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,qBACE,SAAoB,EACpB,KAAgB,EAChB,QAA8B;IAE9B,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,OAAO,OAAO,IAAI,KAAK,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { BodyInput } from './roster.types';
|
|
3
|
+
export declare function RosterBodyLayout({ scroll, contentWidth, viewport, gridZone, listZone, }: Pick<BodyInput, 'scroll' | 'contentWidth' | 'viewport'> & {
|
|
4
|
+
/** Noninteractive grid behind the lane list. */
|
|
5
|
+
gridZone: ReactNode;
|
|
6
|
+
/** Virtualized lane collection within the measured viewport. */
|
|
7
|
+
listZone: ReactNode;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=body-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body-layout.d.ts","sourceRoot":"","sources":["../../../../src/components/roster/body-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,cAAc,GAAG,UAAU,CAAC,GAAG;IAC3D,gDAAgD;IAChD,QAAQ,EAAE,SAAS,CAAC;IACpB,gEAAgE;IAChE,QAAQ,EAAE,SAAS,CAAC;CACrB,2CAgBA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RosterBodyLayout = RosterBodyLayout;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_native_1 = require("react-native");
|
|
6
|
+
function RosterBodyLayout({ scroll, contentWidth, viewport, gridZone, listZone, }) {
|
|
7
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.ScrollView, { testID: "roster-horizontal-scroll", ref: scroll.bodyRef, horizontal: true, onScroll: scroll.onBodyScroll, scrollEventThrottle: 16, style: { flex: 1 }, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: { width: contentWidth, height: viewport.height }, children: [gridZone, listZone] }) }));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=body-layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body-layout.js","sourceRoot":"","sources":["../../../../src/components/roster/body-layout.tsx"],"names":[],"mappings":";;;;AACA,+CAAgD;AAGhD,0BAAiC,EAC/B,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,GAMT;IACC,OAAO,CACL,uBAAC,yBAAU,IACT,MAAM,EAAC,0BAA0B,EACjC,GAAG,EAAE,MAAM,CAAC,OAAO,EACnB,UAAU,QACV,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,mBAAmB,EAAE,EAAE,EACvB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,YAElB,wBAAC,mBAAI,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,aAC1D,QAAQ,EACR,QAAQ,IACJ,GACI,CACd,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { RosterProps } from './roster.types';
|
|
2
|
+
export declare function Roster(props: RosterProps): string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | Iterable<import("react").ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null;
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/roster/index.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,+VA0FxC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Roster = Roster;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const gap_1 = require("../layers/parts/gap");
|
|
6
|
+
const interval_1 = require("../layers/parts/interval");
|
|
7
|
+
const lane_label_1 = require("./lanes/parts/lane-label");
|
|
8
|
+
const layout_1 = require("./layout");
|
|
9
|
+
const body_1 = require("./parts/body");
|
|
10
|
+
const corner_1 = require("./parts/corner");
|
|
11
|
+
const empty_1 = require("./parts/empty");
|
|
12
|
+
const grid_1 = require("./parts/grid");
|
|
13
|
+
const header_1 = require("./parts/header");
|
|
14
|
+
const header_cell_1 = require("./parts/header-cell");
|
|
15
|
+
const lane_label_column_1 = require("./parts/lane-label-column");
|
|
16
|
+
const use_roster_1 = require("./use-roster");
|
|
17
|
+
const defaultEmptyZone = (0, jsx_runtime_1.jsx)(empty_1.RosterEmpty, {});
|
|
18
|
+
const defaultCornerZone = (0, jsx_runtime_1.jsx)(corner_1.RosterCorner, {});
|
|
19
|
+
function Roster(props) {
|
|
20
|
+
const { status, orderedLanes, laneState, window, geometryFor, projection, scroll, press, ticks, contentWidth, viewport, onLayout, } = (0, use_roster_1.useRoster)(props);
|
|
21
|
+
const { emptyZone = defaultEmptyZone, cornerZone = defaultCornerZone, headerComponent: HeaderComponent = header_1.RosterHeader, laneLabelColumnComponent: LaneLabelColumnComponent = lane_label_column_1.RosterLaneLabelColumn, bodyComponent: BodyComponent = body_1.RosterBody, headerCellComponent = header_cell_1.RosterHeaderCell, laneLabelComponent = lane_label_1.RosterLaneLabel, intervalComponent = interval_1.RosterInterval, gapComponent = gap_1.RosterGap, gridComponent = grid_1.RosterGrid, incompleteLabel = 'Availability may be incomplete', neverSetLabel = 'No availability set', } = props;
|
|
22
|
+
if (status === 'empty')
|
|
23
|
+
return emptyZone;
|
|
24
|
+
if (window.start === window.end)
|
|
25
|
+
return null;
|
|
26
|
+
return ((0, jsx_runtime_1.jsx)(layout_1.RosterLayout, { style: props.style, headerStyle: props.headerStyle, laneLabelColumnStyle: props.laneLabelColumnStyle, bodyStyle: props.bodyStyle, laneLabelWidth: props.laneLabelWidth, onLayout: onLayout, cornerZone: cornerZone, headerZone: (0, jsx_runtime_1.jsx)(HeaderComponent, { ticks: ticks, projection: projection, scroll: scroll, contentWidth: contentWidth, headerCellComponent: headerCellComponent }), laneLabelColumnZone: (0, jsx_runtime_1.jsx)(LaneLabelColumnComponent, { labels: orderedLanes.map((lane) => {
|
|
27
|
+
const state = laneState.get(lane.id) ?? {
|
|
28
|
+
flag: 'none',
|
|
29
|
+
complete: true,
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
lane,
|
|
33
|
+
...state,
|
|
34
|
+
viewTimezone: projection.viewTimezone,
|
|
35
|
+
incompleteLabel,
|
|
36
|
+
neverSetLabel,
|
|
37
|
+
};
|
|
38
|
+
}), projection: projection, scroll: scroll, laneLabelComponent: laneLabelComponent }), bodyZone: (0, jsx_runtime_1.jsx)(BodyComponent, { lanes: orderedLanes, window: window, geometryFor: geometryFor, projection: projection, scroll: scroll, press: press, ticks: ticks, contentWidth: contentWidth, viewport: viewport, intervalComponent: intervalComponent, gapComponent: gapComponent, gridComponent: gridComponent, highlightSource: props.highlightSource, onIntervalHover: props.onIntervalHover, incompleteLabel: incompleteLabel }) }));
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/roster/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval-hover.d.ts","sourceRoot":"","sources":["../../../../../src/components/roster/lanes/interval-hover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAErF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAEjF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval-hover.js","sourceRoot":"","sources":["../../../../../src/components/roster/lanes/interval-hover.tsx"],"names":[],"mappings":";;;AAEA,4BAAmC,MAA0B;IAC3D,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Lane, LaneGeometry, Rect } from '../../../core';
|
|
2
|
+
import type { PressPointInput } from '../../primitives/press-point.types';
|
|
3
|
+
export type IntervalHoverInput = {
|
|
4
|
+
lane: Lane;
|
|
5
|
+
geometry: LaneGeometry;
|
|
6
|
+
onIntervalHover?: (rect: Rect, lane: Lane) => void;
|
|
7
|
+
};
|
|
8
|
+
export type IntervalHoverProps = {
|
|
9
|
+
onPointerMove?: (input: PressPointInput & {
|
|
10
|
+
nativeEvent: {
|
|
11
|
+
pointerType?: string;
|
|
12
|
+
};
|
|
13
|
+
}) => void;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=interval-hover.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval-hover.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/roster/lanes/interval-hover.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE1E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,YAAY,CAAC;IACvB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACpD,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG;QAAE,WAAW,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAC;CAC9F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval-hover.types.js","sourceRoot":"","sources":["../../../../../src/components/roster/lanes/interval-hover.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval-hover.web.d.ts","sourceRoot":"","sources":["../../../../../src/components/roster/lanes/interval-hover.web.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAErF,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,eAAe,GAChB,EAAE,kBAAkB,GAAG,kBAAkB,CAUzC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.intervalHoverProps = intervalHoverProps;
|
|
4
|
+
const hit_test_1 = require("../../../core/hit-test");
|
|
5
|
+
const press_point_web_1 = require("../../primitives/press-point.web");
|
|
6
|
+
function intervalHoverProps({ lane, geometry, onIntervalHover, }) {
|
|
7
|
+
if (!onIntervalHover)
|
|
8
|
+
return {};
|
|
9
|
+
return {
|
|
10
|
+
onPointerMove(input) {
|
|
11
|
+
if (input.nativeEvent.pointerType === 'touch')
|
|
12
|
+
return;
|
|
13
|
+
const { x, y } = (0, press_point_web_1.pressPoint)(input);
|
|
14
|
+
const hit = (0, hit_test_1.hitTest)(lane, geometry, x, y);
|
|
15
|
+
if (hit?.kind === 'interval')
|
|
16
|
+
onIntervalHover(hit.rect, lane);
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=interval-hover.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval-hover.web.js","sourceRoot":"","sources":["../../../../../src/components/roster/lanes/interval-hover.web.tsx"],"names":[],"mappings":";;;AAAA,qDAAiD;AACjD,sEAA8D;AAG9D,4BAAmC,EACjC,IAAI,EACJ,QAAQ,EACR,eAAe,GACI;IACnB,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO;QACL,aAAa,CAAC,KAAK;YACjB,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,KAAK,OAAO;gBAAE,OAAO;YACtD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAA,4BAAU,EAAC,KAAK,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,IAAA,kBAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG,EAAE,IAAI,KAAK,UAAU;gBAAE,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Lane, LaneGeometry } from '../../../core';
|
|
2
|
+
import type { BodyInput } from '../roster.types';
|
|
3
|
+
export type LaneRowProps = Pick<BodyInput, 'press' | 'intervalComponent' | 'gapComponent' | 'highlightSource' | 'onIntervalHover' | 'incompleteLabel'> & {
|
|
4
|
+
lane: Lane;
|
|
5
|
+
geometry: LaneGeometry;
|
|
6
|
+
width: number;
|
|
7
|
+
rowHeight: number;
|
|
8
|
+
};
|
|
9
|
+
export declare function LaneRow({ lane, geometry, width, rowHeight, press, intervalComponent: IntervalComponent, gapComponent: GapComponent, highlightSource, onIntervalHover, incompleteLabel, }: LaneRowProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=lane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lane.d.ts","sourceRoot":"","sources":["../../../../../src/components/roster/lanes/lane.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,SAAS,EACP,OAAO,GACP,mBAAmB,GACnB,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,CACpB,GAAG;IACF,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,SAAS,EACT,KAAK,EACL,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,YAAY,EAC1B,eAAe,EACf,eAAe,EACf,eAAkD,GACnD,EAAE,YAAY,2CA0Dd"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LaneRow = LaneRow;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const react_native_1 = require("react-native");
|
|
7
|
+
const press_point_1 = require("../../primitives/press-point");
|
|
8
|
+
const interval_hover_1 = require("./interval-hover");
|
|
9
|
+
const incomplete_1 = require("./parts/incomplete");
|
|
10
|
+
function LaneRow({ lane, geometry, width, rowHeight, press, intervalComponent: IntervalComponent, gapComponent: GapComponent, highlightSource, onIntervalHover, incompleteLabel = 'Availability may be incomplete', }) {
|
|
11
|
+
const layers = [...lane.layers].sort((a, b) => a.z - b.z);
|
|
12
|
+
return ((0, jsx_runtime_1.jsxs)(react_native_1.Pressable, { ...(0, interval_hover_1.intervalHoverProps)({ lane, geometry, onIntervalHover }), testID: `roster-lane-${lane.id}`, accessibilityLabel: lane.label, onPress: (input) => {
|
|
13
|
+
const point = (0, press_point_1.pressPoint)(input);
|
|
14
|
+
press(lane, point.x, point.y);
|
|
15
|
+
}, style: { width, height: rowHeight }, children: [(0, jsx_runtime_1.jsx)(incomplete_1.RosterIncomplete, { lane: lane, geometry: geometry, width: width, label: incompleteLabel }), layers.map((layer) => ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [geometry.rects
|
|
16
|
+
.filter((rect) => rect.layerId === layer.id)
|
|
17
|
+
.map((rect) => ((0, jsx_runtime_1.jsx)(react_1.Fragment, { children: (0, jsx_runtime_1.jsx)(IntervalComponent, { rect: rect, layer: layer, lane: lane, highlighted: rect.sources.some((source) => source.kind === highlightSource?.kind && source.id === highlightSource.id) }) }, `interval-${rect.x}:${rect.width}`))), geometry.gapRects
|
|
18
|
+
.filter((rect) => rect.layerId === layer.id)
|
|
19
|
+
.map((rect) => ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityLabel: `${lane.label}: removed time`, onPress: (input) => {
|
|
20
|
+
input.stopPropagation();
|
|
21
|
+
const point = (0, press_point_1.pressPoint)(input);
|
|
22
|
+
press(lane, rect.x + point.x, rect.y + point.y);
|
|
23
|
+
}, style: {
|
|
24
|
+
position: 'absolute',
|
|
25
|
+
left: rect.x,
|
|
26
|
+
top: rect.y,
|
|
27
|
+
width: rect.width,
|
|
28
|
+
height: rect.height,
|
|
29
|
+
zIndex: rect.z,
|
|
30
|
+
}, children: (0, jsx_runtime_1.jsx)(GapComponent, { rect: rect, layer: layer, lane: lane }) }, `gap-${rect.x}:${rect.width}`)))] }, layer.id)))] }));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=lane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lane.js","sourceRoot":"","sources":["../../../../../src/components/roster/lanes/lane.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Lane, LaneGeometry } from '../../../../core';
|
|
2
|
+
export declare function RosterIncomplete({ lane, geometry, width, label, }: {
|
|
3
|
+
lane: Lane;
|
|
4
|
+
geometry: LaneGeometry;
|
|
5
|
+
width: number;
|
|
6
|
+
label: string;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
+
//# sourceMappingURL=incomplete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incomplete.d.ts","sourceRoot":"","sources":["../../../../../../src/components/roster/lanes/parts/incomplete.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE3D,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE;IACD,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,kDA8BA"}
|