@multiplatform.one/components 6.4.2 → 6.6.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/dist/cjs/Alert/index.native.js.map +1 -1
- package/dist/cjs/Avatar/index.cjs +4 -0
- package/dist/cjs/Avatar/index.native.js +4 -0
- package/dist/cjs/Avatar/index.native.js.map +1 -1
- package/dist/cjs/Badge/index.cjs +3 -0
- package/dist/cjs/Badge/index.native.js +3 -0
- package/dist/cjs/Badge/index.native.js.map +1 -1
- package/dist/cjs/Carousel/index.cjs +29 -16
- package/dist/cjs/Carousel/index.native.js +35 -18
- package/dist/cjs/Carousel/index.native.js.map +1 -1
- package/dist/cjs/DotIndicator/index.cjs +95 -36
- package/dist/cjs/DotIndicator/index.native.js +96 -36
- package/dist/cjs/DotIndicator/index.native.js.map +1 -1
- package/dist/cjs/Pagination.cjs +112 -163
- package/dist/cjs/Pagination.native.js +125 -176
- package/dist/cjs/Pagination.native.js.map +1 -1
- package/dist/cjs/ProgressSteps/index.cjs +5 -3
- package/dist/cjs/ProgressSteps/index.native.js +5 -3
- package/dist/cjs/ProgressSteps/index.native.js.map +1 -1
- package/dist/cjs/Wheel/index.cjs +1 -1
- package/dist/cjs/Wheel/index.native.js +1 -1
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/charts/Axis.cjs +1 -1
- package/dist/cjs/charts/Axis.native.js +1 -1
- package/dist/cjs/charts/Axis.native.js.map +1 -1
- package/dist/cjs/charts/BarChart.cjs +1 -1
- package/dist/cjs/charts/BarChart.native.js +1 -3
- package/dist/cjs/charts/BarChart.native.js.map +1 -1
- package/dist/cjs/charts/LineChart.cjs +1 -1
- package/dist/cjs/charts/LineChart.native.js +1 -3
- package/dist/cjs/charts/LineChart.native.js.map +1 -1
- package/dist/cjs/charts/PieChart.cjs +3 -2
- package/dist/cjs/charts/PieChart.native.js +9 -5
- package/dist/cjs/charts/PieChart.native.js.map +1 -1
- package/dist/cjs/charts/accessibility.native.js.map +1 -1
- package/dist/cjs/charts/index.cjs +1 -0
- package/dist/cjs/charts/index.native.js +1 -0
- package/dist/cjs/charts/index.native.js.map +1 -1
- package/dist/cjs/charts/math.cjs +6 -1
- package/dist/cjs/charts/math.native.js +6 -1
- package/dist/cjs/charts/math.native.js.map +1 -1
- package/dist/cjs/componentColors.cjs +11 -3
- package/dist/cjs/componentColors.native.js +11 -3
- package/dist/cjs/componentColors.native.js.map +1 -1
- package/dist/cjs/feedback/ConfirmDialog.cjs +1 -3
- package/dist/cjs/feedback/ConfirmDialog.native.js +1 -3
- package/dist/cjs/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/layouts/ViewSwitcher.cjs +19 -0
- package/dist/cjs/layouts/ViewSwitcher.native.js +33 -0
- package/dist/cjs/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/cjs/layouts/attachments.cjs +4 -8
- package/dist/cjs/layouts/attachments.native.js +5 -8
- package/dist/cjs/layouts/attachments.native.js.map +1 -1
- package/dist/cjs/layouts/page.cjs +3 -4
- package/dist/cjs/layouts/page.native.js +6 -5
- package/dist/cjs/layouts/page.native.js.map +1 -1
- package/dist/cjs/layouts/tags.cjs +1 -0
- package/dist/cjs/layouts/tags.native.js +2 -0
- package/dist/cjs/layouts/tags.native.js.map +1 -1
- package/dist/cjs/layouts/timeline.cjs +0 -6
- package/dist/cjs/layouts/timeline.native.js +0 -6
- package/dist/cjs/layouts/timeline.native.js.map +1 -1
- package/dist/cjs/surfaces.cjs +21 -0
- package/dist/cjs/surfaces.native.js +22 -0
- package/dist/cjs/surfaces.native.js.map +1 -1
- package/dist/cjs/views/Calendar.cjs +15 -38
- package/dist/cjs/views/Calendar.native.js +21 -44
- package/dist/cjs/views/Calendar.native.js.map +1 -1
- package/dist/cjs/views/Dashboard.cjs +10 -10
- package/dist/cjs/views/Dashboard.native.js +12 -10
- package/dist/cjs/views/Dashboard.native.js.map +1 -1
- package/dist/cjs/views/Kanban.cjs +22 -13
- package/dist/cjs/views/Kanban.native.js +1 -0
- package/dist/cjs/views/Kanban.native.js.map +1 -1
- package/dist/cjs/views/ReportBuilder.cjs +29 -11
- package/dist/cjs/views/ReportBuilder.native.js +29 -11
- package/dist/cjs/views/ReportBuilder.native.js.map +1 -1
- package/dist/cjs/views/TreeView.cjs +1 -1
- package/dist/cjs/views/TreeView.native.js +1 -1
- package/dist/cjs/views/TreeView.native.js.map +1 -1
- package/dist/cjs/views/calendarMath.cjs +3 -9
- package/dist/cjs/views/calendarMath.native.js +3 -9
- package/dist/cjs/views/calendarMath.native.js.map +1 -1
- package/dist/cjs/views/ganttMath.cjs +14 -19
- package/dist/cjs/views/ganttMath.native.js +21 -20
- package/dist/cjs/views/ganttMath.native.js.map +1 -1
- package/dist/esm/Accordion/index.mjs.map +1 -1
- package/dist/esm/Alert/index.mjs.map +1 -1
- package/dist/esm/Alert/index.native.js.map +1 -1
- package/dist/esm/Avatar/index.mjs +5 -1
- package/dist/esm/Avatar/index.mjs.map +1 -1
- package/dist/esm/Avatar/index.native.js +5 -1
- package/dist/esm/Avatar/index.native.js.map +1 -1
- package/dist/esm/Badge/index.mjs +4 -1
- package/dist/esm/Badge/index.mjs.map +1 -1
- package/dist/esm/Badge/index.native.js +4 -1
- package/dist/esm/Badge/index.native.js.map +1 -1
- package/dist/esm/Carousel/index.mjs +29 -16
- package/dist/esm/Carousel/index.mjs.map +1 -1
- package/dist/esm/Carousel/index.native.js +35 -18
- package/dist/esm/Carousel/index.native.js.map +1 -1
- package/dist/esm/DotIndicator/index.mjs +96 -37
- package/dist/esm/DotIndicator/index.mjs.map +1 -1
- package/dist/esm/DotIndicator/index.native.js +97 -37
- package/dist/esm/DotIndicator/index.native.js.map +1 -1
- package/dist/esm/DropdownMenu/index.mjs.map +1 -1
- package/dist/esm/DropdownMenu/index.native.js.map +1 -1
- package/dist/esm/Pagination.mjs +113 -164
- package/dist/esm/Pagination.mjs.map +1 -1
- package/dist/esm/Pagination.native.js +126 -177
- package/dist/esm/Pagination.native.js.map +1 -1
- package/dist/esm/ProgressSteps/index.mjs +6 -4
- package/dist/esm/ProgressSteps/index.mjs.map +1 -1
- package/dist/esm/ProgressSteps/index.native.js +6 -4
- package/dist/esm/ProgressSteps/index.native.js.map +1 -1
- package/dist/esm/Wheel/index.mjs +1 -1
- package/dist/esm/Wheel/index.mjs.map +1 -1
- package/dist/esm/Wheel/index.native.js +1 -1
- package/dist/esm/Wheel/index.native.js.map +1 -1
- package/dist/esm/charts/Axis.mjs +2 -2
- package/dist/esm/charts/Axis.mjs.map +1 -1
- package/dist/esm/charts/Axis.native.js +2 -2
- package/dist/esm/charts/Axis.native.js.map +1 -1
- package/dist/esm/charts/BarChart.mjs +2 -2
- package/dist/esm/charts/BarChart.mjs.map +1 -1
- package/dist/esm/charts/BarChart.native.js +2 -4
- package/dist/esm/charts/BarChart.native.js.map +1 -1
- package/dist/esm/charts/LineChart.mjs +2 -2
- package/dist/esm/charts/LineChart.mjs.map +1 -1
- package/dist/esm/charts/LineChart.native.js +2 -4
- package/dist/esm/charts/LineChart.native.js.map +1 -1
- package/dist/esm/charts/PieChart.mjs +3 -2
- package/dist/esm/charts/PieChart.mjs.map +1 -1
- package/dist/esm/charts/PieChart.native.js +9 -5
- package/dist/esm/charts/PieChart.native.js.map +1 -1
- package/dist/esm/charts/accessibility.mjs.map +1 -1
- package/dist/esm/charts/accessibility.native.js.map +1 -1
- package/dist/esm/charts/index.mjs +2 -2
- package/dist/esm/charts/index.mjs.map +1 -1
- package/dist/esm/charts/index.native.js +2 -2
- package/dist/esm/charts/index.native.js.map +1 -1
- package/dist/esm/charts/math.mjs +6 -2
- package/dist/esm/charts/math.mjs.map +1 -1
- package/dist/esm/charts/math.native.js +6 -2
- package/dist/esm/charts/math.native.js.map +1 -1
- package/dist/esm/componentColors.mjs +11 -3
- package/dist/esm/componentColors.mjs.map +1 -1
- package/dist/esm/componentColors.native.js +11 -3
- package/dist/esm/componentColors.native.js.map +1 -1
- package/dist/esm/feedback/ConfirmDialog.mjs +2 -4
- package/dist/esm/feedback/ConfirmDialog.mjs.map +1 -1
- package/dist/esm/feedback/ConfirmDialog.native.js +2 -4
- package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -2
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/layouts/ViewSwitcher.mjs +20 -1
- package/dist/esm/layouts/ViewSwitcher.mjs.map +1 -1
- package/dist/esm/layouts/ViewSwitcher.native.js +34 -1
- package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/esm/layouts/attachments.mjs +4 -8
- package/dist/esm/layouts/attachments.mjs.map +1 -1
- package/dist/esm/layouts/attachments.native.js +5 -8
- package/dist/esm/layouts/attachments.native.js.map +1 -1
- package/dist/esm/layouts/page.mjs +4 -5
- package/dist/esm/layouts/page.mjs.map +1 -1
- package/dist/esm/layouts/page.native.js +7 -6
- package/dist/esm/layouts/page.native.js.map +1 -1
- package/dist/esm/layouts/tags.mjs +1 -0
- package/dist/esm/layouts/tags.mjs.map +1 -1
- package/dist/esm/layouts/tags.native.js +2 -0
- package/dist/esm/layouts/tags.native.js.map +1 -1
- package/dist/esm/layouts/timeline.mjs +0 -6
- package/dist/esm/layouts/timeline.mjs.map +1 -1
- package/dist/esm/layouts/timeline.native.js +0 -6
- package/dist/esm/layouts/timeline.native.js.map +1 -1
- package/dist/esm/surfaces.mjs +21 -1
- package/dist/esm/surfaces.mjs.map +1 -1
- package/dist/esm/surfaces.native.js +22 -1
- package/dist/esm/surfaces.native.js.map +1 -1
- package/dist/esm/views/Calendar.mjs +6 -29
- package/dist/esm/views/Calendar.mjs.map +1 -1
- package/dist/esm/views/Calendar.native.js +12 -35
- package/dist/esm/views/Calendar.native.js.map +1 -1
- package/dist/esm/views/Dashboard.mjs +12 -12
- package/dist/esm/views/Dashboard.mjs.map +1 -1
- package/dist/esm/views/Dashboard.native.js +14 -12
- package/dist/esm/views/Dashboard.native.js.map +1 -1
- package/dist/esm/views/Kanban.mjs +23 -14
- package/dist/esm/views/Kanban.mjs.map +1 -1
- package/dist/esm/views/Kanban.native.js +2 -1
- package/dist/esm/views/Kanban.native.js.map +1 -1
- package/dist/esm/views/ReportBuilder.mjs +30 -12
- package/dist/esm/views/ReportBuilder.mjs.map +1 -1
- package/dist/esm/views/ReportBuilder.native.js +30 -12
- package/dist/esm/views/ReportBuilder.native.js.map +1 -1
- package/dist/esm/views/TreeView.mjs +1 -1
- package/dist/esm/views/TreeView.mjs.map +1 -1
- package/dist/esm/views/TreeView.native.js +1 -1
- package/dist/esm/views/TreeView.native.js.map +1 -1
- package/dist/esm/views/calendarMath.mjs +3 -9
- package/dist/esm/views/calendarMath.mjs.map +1 -1
- package/dist/esm/views/calendarMath.native.js +3 -9
- package/dist/esm/views/calendarMath.native.js.map +1 -1
- package/dist/esm/views/ganttMath.mjs +14 -19
- package/dist/esm/views/ganttMath.mjs.map +1 -1
- package/dist/esm/views/ganttMath.native.js +21 -20
- package/dist/esm/views/ganttMath.native.js.map +1 -1
- package/dist/esm/views/kanbanDnd.mjs.map +1 -1
- package/dist/jsx/Accordion/index.mjs.map +1 -1
- package/dist/jsx/Alert/index.mjs.map +1 -1
- package/dist/jsx/Alert/index.native.js.map +1 -1
- package/dist/jsx/Avatar/index.mjs +5 -1
- package/dist/jsx/Avatar/index.mjs.map +1 -1
- package/dist/jsx/Avatar/index.native.js +4 -0
- package/dist/jsx/Avatar/index.native.js.map +1 -1
- package/dist/jsx/Badge/index.mjs +4 -1
- package/dist/jsx/Badge/index.mjs.map +1 -1
- package/dist/jsx/Badge/index.native.js +3 -0
- package/dist/jsx/Badge/index.native.js.map +1 -1
- package/dist/jsx/Carousel/index.mjs +29 -16
- package/dist/jsx/Carousel/index.mjs.map +1 -1
- package/dist/jsx/Carousel/index.native.js +35 -18
- package/dist/jsx/Carousel/index.native.js.map +1 -1
- package/dist/jsx/DotIndicator/index.mjs +96 -37
- package/dist/jsx/DotIndicator/index.mjs.map +1 -1
- package/dist/jsx/DotIndicator/index.native.js +96 -36
- package/dist/jsx/DotIndicator/index.native.js.map +1 -1
- package/dist/jsx/DropdownMenu/index.mjs.map +1 -1
- package/dist/jsx/Pagination.mjs +113 -164
- package/dist/jsx/Pagination.mjs.map +1 -1
- package/dist/jsx/Pagination.native.js +125 -176
- package/dist/jsx/Pagination.native.js.map +1 -1
- package/dist/jsx/ProgressSteps/index.mjs +6 -4
- package/dist/jsx/ProgressSteps/index.mjs.map +1 -1
- package/dist/jsx/ProgressSteps/index.native.js +5 -3
- package/dist/jsx/ProgressSteps/index.native.js.map +1 -1
- package/dist/jsx/Wheel/index.mjs +1 -1
- package/dist/jsx/Wheel/index.mjs.map +1 -1
- package/dist/jsx/Wheel/index.native.js +1 -1
- package/dist/jsx/Wheel/index.native.js.map +1 -1
- package/dist/jsx/charts/Axis.mjs +2 -2
- package/dist/jsx/charts/Axis.mjs.map +1 -1
- package/dist/jsx/charts/Axis.native.js +1 -1
- package/dist/jsx/charts/Axis.native.js.map +1 -1
- package/dist/jsx/charts/BarChart.mjs +2 -2
- package/dist/jsx/charts/BarChart.mjs.map +1 -1
- package/dist/jsx/charts/BarChart.native.js +1 -3
- package/dist/jsx/charts/BarChart.native.js.map +1 -1
- package/dist/jsx/charts/LineChart.mjs +2 -2
- package/dist/jsx/charts/LineChart.mjs.map +1 -1
- package/dist/jsx/charts/LineChart.native.js +1 -3
- package/dist/jsx/charts/LineChart.native.js.map +1 -1
- package/dist/jsx/charts/PieChart.mjs +3 -2
- package/dist/jsx/charts/PieChart.mjs.map +1 -1
- package/dist/jsx/charts/PieChart.native.js +9 -5
- package/dist/jsx/charts/PieChart.native.js.map +1 -1
- package/dist/jsx/charts/accessibility.mjs.map +1 -1
- package/dist/jsx/charts/accessibility.native.js.map +1 -1
- package/dist/jsx/charts/index.mjs +2 -2
- package/dist/jsx/charts/index.mjs.map +1 -1
- package/dist/jsx/charts/index.native.js +1 -0
- package/dist/jsx/charts/index.native.js.map +1 -1
- package/dist/jsx/charts/math.mjs +6 -2
- package/dist/jsx/charts/math.mjs.map +1 -1
- package/dist/jsx/charts/math.native.js +6 -1
- package/dist/jsx/charts/math.native.js.map +1 -1
- package/dist/jsx/componentColors.mjs +11 -3
- package/dist/jsx/componentColors.mjs.map +1 -1
- package/dist/jsx/componentColors.native.js +11 -3
- package/dist/jsx/componentColors.native.js.map +1 -1
- package/dist/jsx/feedback/ConfirmDialog.mjs +2 -4
- package/dist/jsx/feedback/ConfirmDialog.mjs.map +1 -1
- package/dist/jsx/feedback/ConfirmDialog.native.js +1 -3
- package/dist/jsx/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/jsx/index.js +2 -2
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +2 -2
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +1 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/layouts/ViewSwitcher.mjs +20 -1
- package/dist/jsx/layouts/ViewSwitcher.mjs.map +1 -1
- package/dist/jsx/layouts/ViewSwitcher.native.js +33 -0
- package/dist/jsx/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/jsx/layouts/attachments.mjs +4 -8
- package/dist/jsx/layouts/attachments.mjs.map +1 -1
- package/dist/jsx/layouts/attachments.native.js +5 -8
- package/dist/jsx/layouts/attachments.native.js.map +1 -1
- package/dist/jsx/layouts/page.mjs +4 -5
- package/dist/jsx/layouts/page.mjs.map +1 -1
- package/dist/jsx/layouts/page.native.js +6 -5
- package/dist/jsx/layouts/page.native.js.map +1 -1
- package/dist/jsx/layouts/tags.mjs +1 -0
- package/dist/jsx/layouts/tags.mjs.map +1 -1
- package/dist/jsx/layouts/tags.native.js +2 -0
- package/dist/jsx/layouts/tags.native.js.map +1 -1
- package/dist/jsx/layouts/timeline.mjs +0 -6
- package/dist/jsx/layouts/timeline.mjs.map +1 -1
- package/dist/jsx/layouts/timeline.native.js +0 -6
- package/dist/jsx/layouts/timeline.native.js.map +1 -1
- package/dist/jsx/surfaces.mjs +21 -1
- package/dist/jsx/surfaces.mjs.map +1 -1
- package/dist/jsx/surfaces.native.js +22 -0
- package/dist/jsx/surfaces.native.js.map +1 -1
- package/dist/jsx/views/Calendar.mjs +6 -29
- package/dist/jsx/views/Calendar.mjs.map +1 -1
- package/dist/jsx/views/Calendar.native.js +21 -44
- package/dist/jsx/views/Calendar.native.js.map +1 -1
- package/dist/jsx/views/Dashboard.mjs +12 -12
- package/dist/jsx/views/Dashboard.mjs.map +1 -1
- package/dist/jsx/views/Dashboard.native.js +12 -10
- package/dist/jsx/views/Dashboard.native.js.map +1 -1
- package/dist/jsx/views/Kanban.mjs +23 -14
- package/dist/jsx/views/Kanban.mjs.map +1 -1
- package/dist/jsx/views/Kanban.native.js +1 -0
- package/dist/jsx/views/Kanban.native.js.map +1 -1
- package/dist/jsx/views/ReportBuilder.mjs +30 -12
- package/dist/jsx/views/ReportBuilder.mjs.map +1 -1
- package/dist/jsx/views/ReportBuilder.native.js +29 -11
- package/dist/jsx/views/ReportBuilder.native.js.map +1 -1
- package/dist/jsx/views/TreeView.mjs +1 -1
- package/dist/jsx/views/TreeView.mjs.map +1 -1
- package/dist/jsx/views/TreeView.native.js +1 -1
- package/dist/jsx/views/TreeView.native.js.map +1 -1
- package/dist/jsx/views/calendarMath.mjs +3 -9
- package/dist/jsx/views/calendarMath.mjs.map +1 -1
- package/dist/jsx/views/calendarMath.native.js +3 -9
- package/dist/jsx/views/calendarMath.native.js.map +1 -1
- package/dist/jsx/views/ganttMath.mjs +14 -19
- package/dist/jsx/views/ganttMath.mjs.map +1 -1
- package/dist/jsx/views/ganttMath.native.js +21 -20
- package/dist/jsx/views/ganttMath.native.js.map +1 -1
- package/dist/jsx/views/kanbanDnd.mjs.map +1 -1
- package/package.json +12 -12
- package/src/Accordion/Accordion.stories.tsx +7 -2
- package/src/Alert/index.tsx +1 -3
- package/src/Avatar/Avatar.spec.tsx +31 -0
- package/src/Avatar/index.tsx +19 -1
- package/src/Badge/Badge.stories.tsx +3 -1
- package/src/Badge/index.tsx +4 -1
- package/src/Carousel/Carousel.spec.tsx +271 -0
- package/src/Carousel/Carousel.stories.tsx +35 -0
- package/src/Carousel/index.tsx +45 -20
- package/src/DialogContent.stories.tsx +2 -2
- package/src/DotIndicator/dotIndicator.spec.tsx +43 -1
- package/src/DotIndicator/index.tsx +170 -37
- package/src/Pagination.api.spec.tsx +345 -0
- package/src/Pagination.tsx +138 -176
- package/src/Panel.stories.tsx +4 -4
- package/src/ProgressSteps/ProgressSteps.spec.tsx +40 -1
- package/src/ProgressSteps/ProgressSteps.stories.tsx +3 -1
- package/src/ProgressSteps/index.tsx +6 -1
- package/src/charts/PieChart.tsx +4 -1
- package/src/feedback/ConfirmDialog.tsx +2 -2
- package/src/index.ts +1 -0
- package/src/layouts/PageHeader.stories.tsx +21 -3
- package/src/layouts/ScreenToolbar.stories.tsx +12 -5
- package/src/layouts/ViewSwitcher.tsx +25 -6
- package/src/layouts/attachments.tsx +4 -1
- package/src/layouts/layouts.spec.tsx +77 -1
- package/src/layouts/page.tsx +5 -1
- package/src/layouts/pageTitleScale.spec.tsx +70 -0
- package/src/layouts/tags.tsx +2 -0
- package/src/layouts/timeline-radius.spec.tsx +21 -0
- package/src/layouts/timeline.tsx +7 -18
- package/src/shared/t.spec.ts +47 -0
- package/src/surfaces.tsx +33 -0
- package/src/views/Calendar.stories.tsx +4 -2
- package/src/views/Calendar.tsx +6 -1
- package/src/views/Gantt.stories.tsx +2 -2
- package/src/views/Kanban.native.tsx +8 -2
- package/src/views/Kanban.stories.tsx +3 -1
- package/src/views/Kanban.tsx +42 -13
- package/src/views/ReportBuilder.tsx +15 -2
- package/src/views/ganttMath.ts +2 -6
- package/types/Alert/index.d.ts.map +1 -1
- package/types/Avatar/index.d.ts.map +1 -1
- package/types/Badge/index.d.ts.map +1 -1
- package/types/Carousel/index.d.ts.map +1 -1
- package/types/DotIndicator/index.d.ts +44 -3
- package/types/DotIndicator/index.d.ts.map +1 -1
- package/types/Pagination.d.ts +6 -1
- package/types/Pagination.d.ts.map +1 -1
- package/types/ProgressSteps/index.d.ts.map +1 -1
- package/types/charts/Axis.d.ts.map +1 -1
- package/types/charts/BarChart.d.ts.map +1 -1
- package/types/charts/LineChart.d.ts.map +1 -1
- package/types/charts/PieChart.d.ts.map +1 -1
- package/types/charts/accessibility.d.ts +3 -2
- package/types/charts/accessibility.d.ts.map +1 -1
- package/types/charts/index.d.ts +1 -1
- package/types/charts/index.d.ts.map +1 -1
- package/types/charts/math.d.ts +16 -1
- package/types/charts/math.d.ts.map +1 -1
- package/types/componentColors.d.ts +11 -3
- package/types/componentColors.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/layouts/ViewSwitcher.d.ts.map +1 -1
- package/types/layouts/attachments.d.ts.map +1 -1
- package/types/layouts/page.d.ts +8 -6
- package/types/layouts/page.d.ts.map +1 -1
- package/types/layouts/tags.d.ts.map +1 -1
- package/types/layouts/timeline.d.ts.map +1 -1
- package/types/surfaces.d.ts +17 -0
- package/types/surfaces.d.ts.map +1 -1
- package/types/views/Calendar.d.ts.map +1 -1
- package/types/views/Dashboard.d.ts.map +1 -1
- package/types/views/Kanban.d.ts +13 -1
- package/types/views/Kanban.d.ts.map +1 -1
- package/types/views/ReportBuilder.d.ts.map +1 -1
- package/types/views/TreeView.d.ts.map +1 -1
- package/types/views/calendarMath.d.ts +5 -1
- package/types/views/calendarMath.d.ts.map +1 -1
- package/types/views/ganttMath.d.ts +3 -0
- package/types/views/ganttMath.d.ts.map +1 -1
|
@@ -78,7 +78,6 @@ var ArrowButton = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
|
78
78
|
});
|
|
79
79
|
var ArrowVisual = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
80
80
|
name: "CarouselArrowVisual",
|
|
81
|
-
borderRadius: 1e3,
|
|
82
81
|
backgroundColor: "$background",
|
|
83
82
|
alignItems: "center",
|
|
84
83
|
justifyContent: "center",
|
|
@@ -102,8 +101,8 @@ function Carousel(param) {
|
|
|
102
101
|
onSlideChange,
|
|
103
102
|
initialSlide = 0
|
|
104
103
|
} = param;
|
|
105
|
-
var _ref;
|
|
106
|
-
var _getTokens_size_knobProps_sizeToken, _getTokens_size;
|
|
104
|
+
var _ref, _ref1;
|
|
105
|
+
var _getTokens_space_gap, _getTokens_space, _getTokens_size_knobProps_sizeToken, _getTokens_size;
|
|
107
106
|
var {
|
|
108
107
|
t
|
|
109
108
|
} = (0, import_react_i18next.useTranslation)();
|
|
@@ -112,24 +111,26 @@ function Carousel(param) {
|
|
|
112
111
|
control
|
|
113
112
|
} = (0, import_theme.useResolvedKnobs)();
|
|
114
113
|
var gap = gapProp !== null && gapProp !== void 0 ? gapProp : knobProps.gap.gap;
|
|
115
|
-
var
|
|
114
|
+
var gapPx = typeof gap === "number" ? gap : (_ref = (_getTokens_space = (0, import_tamagui.getTokens)().space) === null || _getTokens_space === void 0 ? void 0 : (_getTokens_space_gap = _getTokens_space[gap]) === null || _getTokens_space_gap === void 0 ? void 0 : _getTokens_space_gap.val) !== null && _ref !== void 0 ? _ref : 0;
|
|
115
|
+
var arrowSize = (_ref1 = (_getTokens_size = (0, import_tamagui.getTokens)().size) === null || _getTokens_size === void 0 ? void 0 : (_getTokens_size_knobProps_sizeToken = _getTokens_size[knobProps.sizeToken]) === null || _getTokens_size_knobProps_sizeToken === void 0 ? void 0 : _getTokens_size_knobProps_sizeToken.val) !== null && _ref1 !== void 0 ? _ref1 : 40;
|
|
116
116
|
var arrowGlyphSize = Math.round(arrowSize / 2);
|
|
117
|
+
var arrowRadius = knobProps.pointy ? 0 : 1e3;
|
|
117
118
|
var arrowTargetSize = Math.max(arrowSize, import_theme.MIN_PRESS_TARGET);
|
|
118
119
|
var arrowEdgeInset = Math.max(0, 8 - Math.round((arrowTargetSize - arrowSize) / 2));
|
|
119
120
|
var [activeIndex, setActiveIndex] = (0, import_react.useState)(initialSlide);
|
|
120
121
|
var trackRef = (0, import_react.useRef)(null);
|
|
121
122
|
var slideCount = import_react.Children.count(children);
|
|
122
|
-
var
|
|
123
|
+
var [slideWidth, setSlideWidth] = (0, import_react.useState)(0);
|
|
123
124
|
var autoPlayRef = (0, import_react.useRef)(null);
|
|
124
125
|
var scrollToSlide = (0, import_react.useCallback)(function (index) {
|
|
125
126
|
if (!trackRef.current) return;
|
|
126
127
|
if (index < 0 || index >= slideCount) return;
|
|
127
|
-
var offset = index *
|
|
128
|
+
var offset = index * (slideWidth + gapPx);
|
|
128
129
|
trackRef.current.scrollTo({
|
|
129
130
|
x: offset,
|
|
130
131
|
animated: true
|
|
131
132
|
});
|
|
132
|
-
}, [slideCount]);
|
|
133
|
+
}, [slideCount, slideWidth, gapPx]);
|
|
133
134
|
var goToSlide = (0, import_react.useCallback)(function (index) {
|
|
134
135
|
var targetIndex = index;
|
|
135
136
|
if (loop) {
|
|
@@ -150,14 +151,13 @@ function Carousel(param) {
|
|
|
150
151
|
}, [activeIndex, goToSlide]);
|
|
151
152
|
var handleScroll = (0, import_react.useCallback)(function (event) {
|
|
152
153
|
var scrollX = event.nativeEvent.contentOffset.x;
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
var newIndex = Math.round(scrollX / width);
|
|
154
|
+
if (!slideWidth) return;
|
|
155
|
+
var newIndex = Math.round(scrollX / (slideWidth + gapPx));
|
|
156
156
|
if (newIndex !== activeIndex && newIndex >= 0 && newIndex < slideCount) {
|
|
157
157
|
setActiveIndex(newIndex);
|
|
158
158
|
onSlideChange === null || onSlideChange === void 0 ? void 0 : onSlideChange(newIndex);
|
|
159
159
|
}
|
|
160
|
-
}, [activeIndex, slideCount, onSlideChange]);
|
|
160
|
+
}, [activeIndex, slideCount, onSlideChange, slideWidth, gapPx]);
|
|
161
161
|
(0, import_react.useEffect)(function () {
|
|
162
162
|
if (autoPlay > 0) {
|
|
163
163
|
autoPlayRef.current = setInterval(function () {
|
|
@@ -170,11 +170,16 @@ function Carousel(param) {
|
|
|
170
170
|
};
|
|
171
171
|
}
|
|
172
172
|
}, [autoPlay, goNext]);
|
|
173
|
+
var activeIndexRef = (0, import_react.useRef)(activeIndex);
|
|
174
|
+
activeIndexRef.current = activeIndex;
|
|
173
175
|
(0, import_react.useEffect)(function () {
|
|
174
|
-
if (
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
176
|
+
if (!slideWidth || slideCount === 0 || !trackRef.current) return;
|
|
177
|
+
var index = Math.max(0, Math.min(activeIndexRef.current, slideCount - 1));
|
|
178
|
+
trackRef.current.scrollTo({
|
|
179
|
+
x: index * (slideWidth + gapPx),
|
|
180
|
+
animated: false
|
|
181
|
+
});
|
|
182
|
+
}, [slideWidth, gapPx, slideCount]);
|
|
178
183
|
var canGoPrev = loop || activeIndex > 0;
|
|
179
184
|
var canGoNext = loop || activeIndex < slideCount - 1;
|
|
180
185
|
var isRTL = (0, import_useDirection.useDirection)() === "rtl";
|
|
@@ -184,7 +189,7 @@ function Carousel(param) {
|
|
|
184
189
|
var NextGlyph = isRTL ? import_react2.CaretLeftIcon : import_react2.CaretRightIcon;
|
|
185
190
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
|
|
186
191
|
children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(CarouselContainer, {
|
|
187
|
-
...knobProps.
|
|
192
|
+
...knobProps.containerRadius,
|
|
188
193
|
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.ScrollView, {
|
|
189
194
|
ref: trackRef,
|
|
190
195
|
horizontal: true,
|
|
@@ -195,16 +200,26 @@ function Carousel(param) {
|
|
|
195
200
|
onScroll: handleScroll,
|
|
196
201
|
scrollEventThrottle: 16,
|
|
197
202
|
onLayout: function onLayout(e) {
|
|
198
|
-
|
|
203
|
+
return setSlideWidth(e.nativeEvent.layout.width);
|
|
204
|
+
},
|
|
205
|
+
...{
|
|
206
|
+
dataSet: {
|
|
207
|
+
carouselTrack: "true"
|
|
208
|
+
}
|
|
199
209
|
},
|
|
200
210
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
201
211
|
gap,
|
|
202
212
|
children: import_react.Children.map(children, function (child, index) {
|
|
203
213
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(CarouselSlide, {
|
|
204
|
-
width
|
|
214
|
+
// Measured-viewport width (LC-62), never a percentage; slides
|
|
215
|
+
// stay content-sized only for the pre-measure frame.
|
|
216
|
+
width: slideWidth > 0 ? slideWidth : void 0,
|
|
205
217
|
style: {
|
|
206
218
|
scrollSnapAlign: "start"
|
|
207
219
|
},
|
|
220
|
+
...{
|
|
221
|
+
"data-carousel-slide": index
|
|
222
|
+
},
|
|
208
223
|
children: child
|
|
209
224
|
}, index);
|
|
210
225
|
})
|
|
@@ -237,6 +252,7 @@ function Carousel(param) {
|
|
|
237
252
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ArrowVisual, {
|
|
238
253
|
width: arrowSize,
|
|
239
254
|
height: arrowSize,
|
|
255
|
+
borderRadius: arrowRadius,
|
|
240
256
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(PrevGlyph, {
|
|
241
257
|
size: arrowGlyphSize
|
|
242
258
|
})
|
|
@@ -266,6 +282,7 @@ function Carousel(param) {
|
|
|
266
282
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ArrowVisual, {
|
|
267
283
|
width: arrowSize,
|
|
268
284
|
height: arrowSize,
|
|
285
|
+
borderRadius: arrowRadius,
|
|
269
286
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(NextGlyph, {
|
|
270
287
|
size: arrowGlyphSize
|
|
271
288
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","Carousel_exports","Carousel","module","exports","import_jsx_runtime","require","import_react","import_react_i18next","import_react2","import_forms","import_theme","import_tamagui","import_DotIndicator","import_useDirection","CarouselContainer","styled","View","position","width","overflow","CarouselSlide","flexShrink","ArrowButton","top","transform","translateY","zIndex","localTop","alignItems","justifyContent","backgroundColor","cursor","opacity","hoverStyle","scale","pressStyle","variants","disabled","true","ArrowVisual","
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","Carousel_exports","Carousel","module","exports","import_jsx_runtime","require","import_react","import_react_i18next","import_react2","import_forms","import_theme","import_tamagui","import_DotIndicator","import_useDirection","CarouselContainer","styled","View","position","width","overflow","CarouselSlide","flexShrink","ArrowButton","top","transform","translateY","zIndex","localTop","alignItems","justifyContent","backgroundColor","cursor","opacity","hoverStyle","scale","pressStyle","variants","disabled","true","ArrowVisual","shadowColor","shadowRadius","shadowOpacity","DotsWrapper","paddingVertical","param","children","showArrows","showDots","autoPlay","loop","gap","gapProp","onSlideChange","initialSlide","_ref","_ref1","_getTokens_space_gap","_getTokens_space","_getTokens_size_knobProps_sizeToken","_getTokens_size","t","useTranslation","knobProps","control","useResolvedKnobs","gapPx","getTokens","space","val","arrowSize","size","sizeToken","arrowGlyphSize","Math","round","arrowRadius","pointy","arrowTargetSize","max","MIN_PRESS_TARGET","arrowEdgeInset","activeIndex","setActiveIndex","useState","trackRef","useRef","slideCount","Children","count","slideWidth","setSlideWidth","autoPlayRef","scrollToSlide","useCallback","index","current","offset","scrollTo","x","animated","goToSlide","targetIndex","min","goNext","goPrev","handleScroll","event","scrollX","nativeEvent","contentOffset","newIndex","useEffect","setInterval","clearInterval","activeIndexRef","canGoPrev","canGoNext","isRTL","useDirection","prevSide","nextSide","PrevGlyph","CaretRightIcon","CaretLeftIcon","NextGlyph","jsxs","containerRadius","jsx","ScrollView","ref","horizontal","showsHorizontalScrollIndicator","style","scrollSnapType","onScroll","scrollEventThrottle","onLayout","e","layout","dataSet","carouselTrack","XStack","map","child"],"sources":["../../../src/Carousel/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { MIN_PRESS_TARGET, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
1
|
+
import { MIN_PRESS_TARGET, radiusClassProps, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
2
|
+
import { CheckIcon } from "@phosphor-icons/react";
|
|
2
3
|
import { useTranslation } from "react-i18next";
|
|
3
4
|
import { View, XStack, getTokens, styled } from "tamagui";
|
|
4
5
|
import { componentColors } from "../componentColors.mjs";
|
|
@@ -26,11 +27,36 @@ const dotGeometryMap = {
|
|
|
26
27
|
active: 30
|
|
27
28
|
}
|
|
28
29
|
};
|
|
30
|
+
const CHECK_MIN_DOT = 8;
|
|
31
|
+
function sizePx(value, fallback) {
|
|
32
|
+
if (typeof value === "number") return value;
|
|
33
|
+
if (typeof value === "string") {
|
|
34
|
+
const token = getTokens().size?.[value]?.val;
|
|
35
|
+
if (typeof token === "number") return token;
|
|
36
|
+
}
|
|
37
|
+
return fallback;
|
|
38
|
+
}
|
|
29
39
|
const DotsContainer = styled(XStack, {
|
|
30
40
|
name: "DotIndicator",
|
|
31
41
|
alignItems: "center",
|
|
32
42
|
justifyContent: "center",
|
|
33
|
-
gap: "$2"
|
|
43
|
+
gap: "$2",
|
|
44
|
+
variants: {
|
|
45
|
+
// A rail seats the strip on a filled capsule instead of the page. It is a
|
|
46
|
+
// variant of the strip rather than host chrome because the rail and the
|
|
47
|
+
// idle dot color are ONE decision: idle dots have to step up the ramp to
|
|
48
|
+
// stay visible on the rail's fill, and split across two files that pairing
|
|
49
|
+
// drifts (LC-16).
|
|
50
|
+
rail: {
|
|
51
|
+
true: {
|
|
52
|
+
backgroundColor: componentColors.interactive.background,
|
|
53
|
+
// R-PILL (D-09 / LC-60): the rail is a capsule at every radius value,
|
|
54
|
+
// like the dots it holds.
|
|
55
|
+
...radiusClassProps("R-PILL", "DotIndicator rail"),
|
|
56
|
+
borderRadius: "$10"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
34
60
|
});
|
|
35
61
|
const DotTarget = styled(View, {
|
|
36
62
|
name: "DotTarget",
|
|
@@ -46,6 +72,13 @@ const DotTarget = styled(View, {
|
|
|
46
72
|
});
|
|
47
73
|
const Dot = styled(View, {
|
|
48
74
|
name: "Dot",
|
|
75
|
+
// R-PILL (D-09 / LC-60): an ornamental dot is a circle at every radius
|
|
76
|
+
// value — the knob moves its size, never its shape — so it declares the
|
|
77
|
+
// class the `radius:none` sweep licenses it under.
|
|
78
|
+
...radiusClassProps("R-PILL", "DotIndicator dot"),
|
|
79
|
+
// Centers the completion checkmark; inert for the empty dots.
|
|
80
|
+
alignItems: "center",
|
|
81
|
+
justifyContent: "center",
|
|
49
82
|
borderRadius: 1e3,
|
|
50
83
|
backgroundColor: componentColors.indicator.inactive,
|
|
51
84
|
hoverStyle: {
|
|
@@ -54,34 +87,16 @@ const Dot = styled(View, {
|
|
|
54
87
|
variants: {
|
|
55
88
|
active: {
|
|
56
89
|
true: {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
variant: {
|
|
61
|
-
dots: {
|
|
62
|
-
width: 8,
|
|
63
|
-
height: 8
|
|
64
|
-
},
|
|
65
|
-
bars: {
|
|
66
|
-
width: 6,
|
|
67
|
-
height: 6
|
|
68
|
-
},
|
|
69
|
-
pills: {
|
|
70
|
-
width: 8,
|
|
71
|
-
height: 8
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
activeVariant: {
|
|
75
|
-
dots: {
|
|
76
|
-
width: 24
|
|
77
|
-
},
|
|
78
|
-
bars: {
|
|
79
|
-
width: 24
|
|
80
|
-
},
|
|
81
|
-
pills: {
|
|
82
|
-
width: 24
|
|
90
|
+
// LC-05: the active dot is the selected mark, so it carries the accent
|
|
91
|
+
// (it read $color9 neutral — indistinguishable from idle chrome).
|
|
92
|
+
backgroundColor: componentColors.indicator.selected
|
|
83
93
|
}
|
|
84
94
|
},
|
|
95
|
+
// No `variant` geometry here: the mark's width/height are always passed
|
|
96
|
+
// explicitly from the one size channel below, so a per-variant pixel table
|
|
97
|
+
// on the styled component could only ever be a second, silently-losing
|
|
98
|
+
// definition of the same thing (it already disagreed with the scale at
|
|
99
|
+
// size knob `$3`, where a tick is 5px, not 6).
|
|
85
100
|
disabled: {
|
|
86
101
|
true: {
|
|
87
102
|
opacity: 0.5
|
|
@@ -95,7 +110,14 @@ function DotIndicator({
|
|
|
95
110
|
onChange,
|
|
96
111
|
variant = "dots",
|
|
97
112
|
gap: gapProp,
|
|
98
|
-
disabled = false
|
|
113
|
+
disabled = false,
|
|
114
|
+
completedSteps,
|
|
115
|
+
idiom = "item",
|
|
116
|
+
rail = false,
|
|
117
|
+
dotSize,
|
|
118
|
+
activeDotSize,
|
|
119
|
+
transition,
|
|
120
|
+
dotStateAttribute = "data-dot-state"
|
|
99
121
|
}) {
|
|
100
122
|
const {
|
|
101
123
|
t
|
|
@@ -105,18 +127,36 @@ function DotIndicator({
|
|
|
105
127
|
} = useResolvedKnobs();
|
|
106
128
|
const gap = gapProp ?? dotGapMap[knobProps.space] ?? "$2";
|
|
107
129
|
const geometry = dotGeometryMap[knobProps.sizeToken] ?? dotGeometryMap.$4;
|
|
108
|
-
const
|
|
130
|
+
const isTick = variant === "bars";
|
|
131
|
+
const itemSize = sizePx(dotSize, isTick ? geometry.bar : geometry.dot);
|
|
132
|
+
const activeSize = sizePx(activeDotSize, geometry.active);
|
|
109
133
|
const gapPx = typeof gap === "number" ? gap : getTokens().space?.[gap]?.val ?? 7;
|
|
110
134
|
const slopX = Math.max(0, Math.floor((gapPx - 1) / 2));
|
|
111
|
-
const outsetY = Math.ceil((MIN_PRESS_TARGET - itemSize) / 2);
|
|
135
|
+
const outsetY = Math.max(0, Math.ceil((MIN_PRESS_TARGET - itemSize) / 2));
|
|
112
136
|
const interactive = !disabled && !!onChange;
|
|
137
|
+
const isStep = idiom === "step";
|
|
138
|
+
const label = isStep ? t("Go to step {{number}}") : t("Go to item {{number}}");
|
|
139
|
+
const currentValue = isStep ? "step" : "true";
|
|
140
|
+
const motionStyle = transition ? {
|
|
141
|
+
transition: "width var(--mp-transition, 100ms) ease, height var(--mp-transition, 100ms) ease, background-color var(--mp-transition, 100ms) ease"
|
|
142
|
+
} : void 0;
|
|
113
143
|
return /* @__PURE__ */jsx(DotsContainer, {
|
|
114
144
|
gap,
|
|
145
|
+
rail,
|
|
146
|
+
...(rail ? {
|
|
147
|
+
paddingHorizontal: knobProps.panelPadding.padding,
|
|
148
|
+
height: knobProps.sizeToken
|
|
149
|
+
} : void 0),
|
|
115
150
|
children: Array.from({
|
|
116
151
|
length: total
|
|
117
152
|
}).map((_, index) => {
|
|
118
153
|
const isActive = index === activeIndex;
|
|
119
|
-
const
|
|
154
|
+
const isCompleted = !isActive && !!completedSteps?.has(index);
|
|
155
|
+
const dotWidth = isActive ? activeSize : itemSize;
|
|
156
|
+
const restingFill = isCompleted ? componentColors.indicator.completed : rail ?
|
|
157
|
+
// Idle chrome steps up the ramp on a rail so the dot still
|
|
158
|
+
// separates from the capsule fill it sits on.
|
|
159
|
+
componentColors.indicator.track : componentColors.indicator.inactive;
|
|
120
160
|
return /* @__PURE__ */jsx(DotTarget, {
|
|
121
161
|
width: dotWidth + slopX * 2,
|
|
122
162
|
minHeight: MIN_PRESS_TARGET,
|
|
@@ -124,11 +164,11 @@ function DotIndicator({
|
|
|
124
164
|
marginVertical: -outsetY,
|
|
125
165
|
cursor: interactive ? "pointer" : disabled ? "not-allowed" : "default",
|
|
126
166
|
onPress: interactive ? () => onChange?.(index) : void 0,
|
|
127
|
-
"aria-label": withInterp(
|
|
167
|
+
"aria-label": withInterp(label, {
|
|
128
168
|
number: index + 1
|
|
129
169
|
}),
|
|
130
170
|
...(isActive ? {
|
|
131
|
-
"aria-current":
|
|
171
|
+
"aria-current": currentValue
|
|
132
172
|
} : void 0),
|
|
133
173
|
...(interactive ? {
|
|
134
174
|
role: "button",
|
|
@@ -143,12 +183,31 @@ function DotIndicator({
|
|
|
143
183
|
role: "button"
|
|
144
184
|
} : void 0),
|
|
145
185
|
children: /* @__PURE__ */jsx(Dot, {
|
|
146
|
-
variant,
|
|
147
186
|
active: isActive,
|
|
148
|
-
|
|
187
|
+
...(isActive ? void 0 : {
|
|
188
|
+
backgroundColor: restingFill,
|
|
189
|
+
// A completed dot and a rail dot both hold their fill on
|
|
190
|
+
// hover: the neutral hover step is PALER than either, so
|
|
191
|
+
// the page-level hover would read as a dim.
|
|
192
|
+
...(isCompleted || rail ? {
|
|
193
|
+
hoverStyle: {
|
|
194
|
+
backgroundColor: restingFill
|
|
195
|
+
}
|
|
196
|
+
} : void 0)
|
|
197
|
+
}),
|
|
149
198
|
width: dotWidth,
|
|
150
199
|
height: itemSize,
|
|
151
|
-
disabled
|
|
200
|
+
disabled,
|
|
201
|
+
transition,
|
|
202
|
+
style: motionStyle,
|
|
203
|
+
...{
|
|
204
|
+
[dotStateAttribute]: isActive ? "active" : "idle"
|
|
205
|
+
},
|
|
206
|
+
children: isCompleted && !isTick && itemSize >= CHECK_MIN_DOT && /* @__PURE__ */jsx(CheckIcon, {
|
|
207
|
+
size: 8,
|
|
208
|
+
color: "white",
|
|
209
|
+
weight: "bold"
|
|
210
|
+
})
|
|
152
211
|
})
|
|
153
212
|
}, index);
|
|
154
213
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MIN_PRESS_TARGET","useResolvedKnobs","useTranslation","View","XStack","getTokens","styled","componentColors","withInterp","jsx","dotGapMap","small","medium","large","dotGeometryMap","$3","dot","bar","active","$4","$5","DotsContainer","name","alignItems","justifyContent","gap","
|
|
1
|
+
{"version":3,"names":["MIN_PRESS_TARGET","radiusClassProps","useResolvedKnobs","CheckIcon","useTranslation","View","XStack","getTokens","styled","componentColors","withInterp","jsx","dotGapMap","small","medium","large","dotGeometryMap","$3","dot","bar","active","$4","$5","CHECK_MIN_DOT","sizePx","value","fallback","token","size","val","DotsContainer","name","alignItems","justifyContent","gap","variants","rail","true","backgroundColor","interactive","background","borderRadius","DotTarget","focusVisibleStyle","outlineColor","outlineWidth","outlineStyle","outlineOffset","Dot","indicator","inactive","hoverStyle","hover","selected","disabled","opacity","DotIndicator","total","activeIndex","onChange","variant","gapProp","completedSteps","idiom","dotSize","activeDotSize","transition","dotStateAttribute","t","knobProps","space","geometry","sizeToken","isTick","itemSize","activeSize","gapPx","slopX","Math","max","floor","outsetY","ceil","isStep","label","currentValue","motionStyle","paddingHorizontal","panelPadding","padding","height","children","Array","from","length","map","_","index","isActive","isCompleted","has","dotWidth","restingFill","completed","track","width","minHeight","marginHorizontal","marginVertical","cursor","onPress","number","role","tabIndex","onKeyDown","e","key","preventDefault","style","color","weight"],"sources":["../../../src/DotIndicator/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -29,6 +29,7 @@ __export(DotIndicator_exports, {
|
|
|
29
29
|
module.exports = __toCommonJS(DotIndicator_exports);
|
|
30
30
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
31
31
|
var import_theme = require("@multiplatform.one/theme");
|
|
32
|
+
var import_react = require("@phosphor-icons/react");
|
|
32
33
|
var import_react_i18next = require("react-i18next");
|
|
33
34
|
var import_tamagui = require("tamagui");
|
|
34
35
|
var import_componentColors = require("../componentColors.native.js");
|
|
@@ -55,11 +56,37 @@ var dotGeometryMap = {
|
|
|
55
56
|
active: 30
|
|
56
57
|
}
|
|
57
58
|
};
|
|
59
|
+
var CHECK_MIN_DOT = 8;
|
|
60
|
+
function sizePx(value, fallback) {
|
|
61
|
+
if (typeof value === "number") return value;
|
|
62
|
+
if (typeof value === "string") {
|
|
63
|
+
var _getTokens_size_value, _getTokens_size;
|
|
64
|
+
var token = (_getTokens_size = (0, import_tamagui.getTokens)().size) === null || _getTokens_size === void 0 ? void 0 : (_getTokens_size_value = _getTokens_size[value]) === null || _getTokens_size_value === void 0 ? void 0 : _getTokens_size_value.val;
|
|
65
|
+
if (typeof token === "number") return token;
|
|
66
|
+
}
|
|
67
|
+
return fallback;
|
|
68
|
+
}
|
|
58
69
|
var DotsContainer = (0, import_tamagui.styled)(import_tamagui.XStack, {
|
|
59
70
|
name: "DotIndicator",
|
|
60
71
|
alignItems: "center",
|
|
61
72
|
justifyContent: "center",
|
|
62
|
-
gap: "$2"
|
|
73
|
+
gap: "$2",
|
|
74
|
+
variants: {
|
|
75
|
+
// A rail seats the strip on a filled capsule instead of the page. It is a
|
|
76
|
+
// variant of the strip rather than host chrome because the rail and the
|
|
77
|
+
// idle dot color are ONE decision: idle dots have to step up the ramp to
|
|
78
|
+
// stay visible on the rail's fill, and split across two files that pairing
|
|
79
|
+
// drifts (LC-16).
|
|
80
|
+
rail: {
|
|
81
|
+
true: {
|
|
82
|
+
backgroundColor: import_componentColors.componentColors.interactive.background,
|
|
83
|
+
// R-PILL (D-09 / LC-60): the rail is a capsule at every radius value,
|
|
84
|
+
// like the dots it holds.
|
|
85
|
+
...(0, import_theme.radiusClassProps)("R-PILL", "DotIndicator rail"),
|
|
86
|
+
borderRadius: "$10"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
63
90
|
});
|
|
64
91
|
var DotTarget = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
65
92
|
name: "DotTarget",
|
|
@@ -75,6 +102,13 @@ var DotTarget = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
|
75
102
|
});
|
|
76
103
|
var Dot = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
77
104
|
name: "Dot",
|
|
105
|
+
// R-PILL (D-09 / LC-60): an ornamental dot is a circle at every radius
|
|
106
|
+
// value — the knob moves its size, never its shape — so it declares the
|
|
107
|
+
// class the `radius:none` sweep licenses it under.
|
|
108
|
+
...(0, import_theme.radiusClassProps)("R-PILL", "DotIndicator dot"),
|
|
109
|
+
// Centers the completion checkmark; inert for the empty dots.
|
|
110
|
+
alignItems: "center",
|
|
111
|
+
justifyContent: "center",
|
|
78
112
|
borderRadius: 1e3,
|
|
79
113
|
backgroundColor: import_componentColors.componentColors.indicator.inactive,
|
|
80
114
|
hoverStyle: {
|
|
@@ -83,34 +117,16 @@ var Dot = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
|
83
117
|
variants: {
|
|
84
118
|
active: {
|
|
85
119
|
true: {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
variant: {
|
|
90
|
-
dots: {
|
|
91
|
-
width: 8,
|
|
92
|
-
height: 8
|
|
93
|
-
},
|
|
94
|
-
bars: {
|
|
95
|
-
width: 6,
|
|
96
|
-
height: 6
|
|
97
|
-
},
|
|
98
|
-
pills: {
|
|
99
|
-
width: 8,
|
|
100
|
-
height: 8
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
activeVariant: {
|
|
104
|
-
dots: {
|
|
105
|
-
width: 24
|
|
106
|
-
},
|
|
107
|
-
bars: {
|
|
108
|
-
width: 24
|
|
109
|
-
},
|
|
110
|
-
pills: {
|
|
111
|
-
width: 24
|
|
120
|
+
// LC-05: the active dot is the selected mark, so it carries the accent
|
|
121
|
+
// (it read $color9 neutral — indistinguishable from idle chrome).
|
|
122
|
+
backgroundColor: import_componentColors.componentColors.indicator.selected
|
|
112
123
|
}
|
|
113
124
|
},
|
|
125
|
+
// No `variant` geometry here: the mark's width/height are always passed
|
|
126
|
+
// explicitly from the one size channel below, so a per-variant pixel table
|
|
127
|
+
// on the styled component could only ever be a second, silently-losing
|
|
128
|
+
// definition of the same thing (it already disagreed with the scale at
|
|
129
|
+
// size knob `$3`, where a tick is 5px, not 6).
|
|
114
130
|
disabled: {
|
|
115
131
|
true: {
|
|
116
132
|
opacity: 0.5
|
|
@@ -125,7 +141,14 @@ function DotIndicator(param) {
|
|
|
125
141
|
onChange,
|
|
126
142
|
variant = "dots",
|
|
127
143
|
gap: gapProp,
|
|
128
|
-
disabled = false
|
|
144
|
+
disabled = false,
|
|
145
|
+
completedSteps,
|
|
146
|
+
idiom = "item",
|
|
147
|
+
rail = false,
|
|
148
|
+
dotSize,
|
|
149
|
+
activeDotSize,
|
|
150
|
+
transition,
|
|
151
|
+
dotStateAttribute = "data-dot-state"
|
|
129
152
|
} = param;
|
|
130
153
|
var _ref, _dotGeometryMap_knobProps_sizeToken, _ref1;
|
|
131
154
|
var _getTokens_space_gap, _getTokens_space;
|
|
@@ -137,18 +160,36 @@ function DotIndicator(param) {
|
|
|
137
160
|
} = (0, import_theme.useResolvedKnobs)();
|
|
138
161
|
var gap = (_ref = gapProp !== null && gapProp !== void 0 ? gapProp : dotGapMap[knobProps.space]) !== null && _ref !== void 0 ? _ref : "$2";
|
|
139
162
|
var geometry = (_dotGeometryMap_knobProps_sizeToken = dotGeometryMap[knobProps.sizeToken]) !== null && _dotGeometryMap_knobProps_sizeToken !== void 0 ? _dotGeometryMap_knobProps_sizeToken : dotGeometryMap.$4;
|
|
140
|
-
var
|
|
163
|
+
var isTick = variant === "bars";
|
|
164
|
+
var itemSize = sizePx(dotSize, isTick ? geometry.bar : geometry.dot);
|
|
165
|
+
var activeSize = sizePx(activeDotSize, geometry.active);
|
|
141
166
|
var gapPx = typeof gap === "number" ? gap : (_ref1 = (_getTokens_space = (0, import_tamagui.getTokens)().space) === null || _getTokens_space === void 0 ? void 0 : (_getTokens_space_gap = _getTokens_space[gap]) === null || _getTokens_space_gap === void 0 ? void 0 : _getTokens_space_gap.val) !== null && _ref1 !== void 0 ? _ref1 : 7;
|
|
142
167
|
var slopX = Math.max(0, Math.floor((gapPx - 1) / 2));
|
|
143
|
-
var outsetY = Math.ceil((import_theme.MIN_PRESS_TARGET - itemSize) / 2);
|
|
168
|
+
var outsetY = Math.max(0, Math.ceil((import_theme.MIN_PRESS_TARGET - itemSize) / 2));
|
|
144
169
|
var interactive = !disabled && !!onChange;
|
|
170
|
+
var isStep = idiom === "step";
|
|
171
|
+
var label = isStep ? t("Go to step {{number}}") : t("Go to item {{number}}");
|
|
172
|
+
var currentValue = isStep ? "step" : "true";
|
|
173
|
+
var motionStyle = transition ? {
|
|
174
|
+
transition: "width var(--mp-transition, 100ms) ease, height var(--mp-transition, 100ms) ease, background-color var(--mp-transition, 100ms) ease"
|
|
175
|
+
} : void 0;
|
|
145
176
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(DotsContainer, {
|
|
146
177
|
gap,
|
|
178
|
+
rail,
|
|
179
|
+
...(rail ? {
|
|
180
|
+
paddingHorizontal: knobProps.panelPadding.padding,
|
|
181
|
+
height: knobProps.sizeToken
|
|
182
|
+
} : void 0),
|
|
147
183
|
children: Array.from({
|
|
148
184
|
length: total
|
|
149
185
|
}).map(function (_, index) {
|
|
150
186
|
var isActive = index === activeIndex;
|
|
151
|
-
var
|
|
187
|
+
var isCompleted = !isActive && !!(completedSteps === null || completedSteps === void 0 ? void 0 : completedSteps.has(index));
|
|
188
|
+
var dotWidth = isActive ? activeSize : itemSize;
|
|
189
|
+
var restingFill = isCompleted ? import_componentColors.componentColors.indicator.completed : rail ?
|
|
190
|
+
// Idle chrome steps up the ramp on a rail so the dot still
|
|
191
|
+
// separates from the capsule fill it sits on.
|
|
192
|
+
import_componentColors.componentColors.indicator.track : import_componentColors.componentColors.indicator.inactive;
|
|
152
193
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(DotTarget, {
|
|
153
194
|
width: dotWidth + slopX * 2,
|
|
154
195
|
minHeight: import_theme.MIN_PRESS_TARGET,
|
|
@@ -158,11 +199,11 @@ function DotIndicator(param) {
|
|
|
158
199
|
onPress: interactive ? function () {
|
|
159
200
|
return onChange === null || onChange === void 0 ? void 0 : onChange(index);
|
|
160
201
|
} : void 0,
|
|
161
|
-
"aria-label": (0, import_t.withInterp)(
|
|
202
|
+
"aria-label": (0, import_t.withInterp)(label, {
|
|
162
203
|
number: index + 1
|
|
163
204
|
}),
|
|
164
205
|
...(isActive ? {
|
|
165
|
-
"aria-current":
|
|
206
|
+
"aria-current": currentValue
|
|
166
207
|
} : void 0),
|
|
167
208
|
...(interactive ? {
|
|
168
209
|
role: "button",
|
|
@@ -177,12 +218,31 @@ function DotIndicator(param) {
|
|
|
177
218
|
role: "button"
|
|
178
219
|
} : void 0),
|
|
179
220
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Dot, {
|
|
180
|
-
variant,
|
|
181
221
|
active: isActive,
|
|
182
|
-
|
|
222
|
+
...(isActive ? void 0 : {
|
|
223
|
+
backgroundColor: restingFill,
|
|
224
|
+
// A completed dot and a rail dot both hold their fill on
|
|
225
|
+
// hover: the neutral hover step is PALER than either, so
|
|
226
|
+
// the page-level hover would read as a dim.
|
|
227
|
+
...(isCompleted || rail ? {
|
|
228
|
+
hoverStyle: {
|
|
229
|
+
backgroundColor: restingFill
|
|
230
|
+
}
|
|
231
|
+
} : void 0)
|
|
232
|
+
}),
|
|
183
233
|
width: dotWidth,
|
|
184
234
|
height: itemSize,
|
|
185
|
-
disabled
|
|
235
|
+
disabled,
|
|
236
|
+
transition,
|
|
237
|
+
style: motionStyle,
|
|
238
|
+
...{
|
|
239
|
+
[dotStateAttribute]: isActive ? "active" : "idle"
|
|
240
|
+
},
|
|
241
|
+
children: isCompleted && !isTick && itemSize >= CHECK_MIN_DOT && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CheckIcon, {
|
|
242
|
+
size: 8,
|
|
243
|
+
color: "white",
|
|
244
|
+
weight: "bold"
|
|
245
|
+
})
|
|
186
246
|
})
|
|
187
247
|
}, index);
|
|
188
248
|
})
|