shad-m 1.0.0 → 1.0.2
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/common/interactive/list.d.ts +1 -1
- package/dist/common/interactive/select/variants.d.ts +1 -1
- package/dist/components/alert-dialog.d.ts +2 -2
- package/dist/components/badge.d.ts +3 -3
- package/dist/components/button.d.ts +4 -4
- package/dist/components/chip.d.ts +2 -2
- package/dist/components/command.d.ts +7 -7
- package/dist/components/dialog.d.ts +2 -2
- package/dist/components/input-otp.d.ts +2 -2
- package/dist/components/resizable.d.ts +1 -1
- package/dist/components/sidebar.d.ts +1 -1
- package/dist/components/spinner.d.ts +2 -2
- package/dist/components/stepper.d.ts +3 -3
- package/dist/components/toggle-group.d.ts +2 -2
- package/dist/components/toggle.d.ts +2 -2
- package/dist/index.css +43 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +59 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8189 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +7846 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +34 -2
- package/dist/assets/Animation/index.js +0 -180
- package/dist/assets/Animation/index.js.map +0 -1
- package/dist/assets/Animation/index.mjs +0 -79
- package/dist/assets/Animation/index.mjs.map +0 -1
- package/dist/assets/Icon/index.js +0 -2102
- package/dist/assets/Icon/index.js.map +0 -1
- package/dist/assets/Icon/index.mjs +0 -421
- package/dist/assets/Icon/index.mjs.map +0 -1
- package/dist/assets/Image/index.js +0 -755
- package/dist/assets/Image/index.js.map +0 -1
- package/dist/assets/Image/index.mjs +0 -150
- package/dist/assets/Image/index.mjs.map +0 -1
- package/dist/common/display/countdown.js +0 -68
- package/dist/common/display/countdown.js.map +0 -1
- package/dist/common/display/countdown.mjs +0 -46
- package/dist/common/display/countdown.mjs.map +0 -1
- package/dist/common/display/display-field-group.js +0 -91
- package/dist/common/display/display-field-group.js.map +0 -1
- package/dist/common/display/display-field-group.mjs +0 -89
- package/dist/common/display/display-field-group.mjs.map +0 -1
- package/dist/common/display/display-field.js +0 -46
- package/dist/common/display/display-field.js.map +0 -1
- package/dist/common/display/display-field.mjs +0 -40
- package/dist/common/display/display-field.mjs.map +0 -1
- package/dist/common/display/display-html-string.js +0 -52
- package/dist/common/display/display-html-string.js.map +0 -1
- package/dist/common/display/display-html-string.mjs +0 -30
- package/dist/common/display/display-html-string.mjs.map +0 -1
- package/dist/common/display/index.js +0 -59
- package/dist/common/display/index.js.map +0 -1
- package/dist/common/display/index.mjs +0 -10
- package/dist/common/display/index.mjs.map +0 -1
- package/dist/common/display/page-breadcrumb.js +0 -43
- package/dist/common/display/page-breadcrumb.js.map +0 -1
- package/dist/common/display/page-breadcrumb.mjs +0 -37
- package/dist/common/display/page-breadcrumb.mjs.map +0 -1
- package/dist/common/display/page-v2.js +0 -58
- package/dist/common/display/page-v2.js.map +0 -1
- package/dist/common/display/page-v2.mjs +0 -20
- package/dist/common/display/page-v2.mjs.map +0 -1
- package/dist/common/display/page.js +0 -155
- package/dist/common/display/page.js.map +0 -1
- package/dist/common/display/page.mjs +0 -138
- package/dist/common/display/page.mjs.map +0 -1
- package/dist/common/display/score-meter.js +0 -161
- package/dist/common/display/score-meter.js.map +0 -1
- package/dist/common/display/score-meter.mjs +0 -140
- package/dist/common/display/score-meter.mjs.map +0 -1
- package/dist/common/display/sidebar/app-sidebar.js +0 -114
- package/dist/common/display/sidebar/app-sidebar.js.map +0 -1
- package/dist/common/display/sidebar/app-sidebar.mjs +0 -92
- package/dist/common/display/sidebar/app-sidebar.mjs.map +0 -1
- package/dist/common/display/sidebar/index.js +0 -89
- package/dist/common/display/sidebar/index.js.map +0 -1
- package/dist/common/display/sidebar/index.mjs +0 -81
- package/dist/common/display/sidebar/index.mjs.map +0 -1
- package/dist/common/display/sidebar/nav-main.js +0 -406
- package/dist/common/display/sidebar/nav-main.js.map +0 -1
- package/dist/common/display/sidebar/nav-main.mjs +0 -400
- package/dist/common/display/sidebar/nav-main.mjs.map +0 -1
- package/dist/common/display/sidebar/sidebar-sheet.js +0 -140
- package/dist/common/display/sidebar/sidebar-sheet.js.map +0 -1
- package/dist/common/display/sidebar/sidebar-sheet.mjs +0 -118
- package/dist/common/display/sidebar/sidebar-sheet.mjs.map +0 -1
- package/dist/common/display/sidebar/types.js +0 -4
- package/dist/common/display/sidebar/types.js.map +0 -1
- package/dist/common/display/sidebar/types.mjs +0 -3
- package/dist/common/display/sidebar/types.mjs.map +0 -1
- package/dist/common/display/status-state.js +0 -97
- package/dist/common/display/status-state.js.map +0 -1
- package/dist/common/display/status-state.mjs +0 -88
- package/dist/common/display/status-state.mjs.map +0 -1
- package/dist/common/forms/auto-form.js +0 -101
- package/dist/common/forms/auto-form.js.map +0 -1
- package/dist/common/forms/auto-form.mjs +0 -78
- package/dist/common/forms/auto-form.mjs.map +0 -1
- package/dist/common/forms/form-field.js +0 -58
- package/dist/common/forms/form-field.js.map +0 -1
- package/dist/common/forms/form-field.mjs +0 -56
- package/dist/common/forms/form-field.mjs.map +0 -1
- package/dist/common/forms/form-input-field.js +0 -64
- package/dist/common/forms/form-input-field.js.map +0 -1
- package/dist/common/forms/form-input-field.mjs +0 -62
- package/dist/common/forms/form-input-field.mjs.map +0 -1
- package/dist/common/forms/index.js +0 -22
- package/dist/common/forms/index.js.map +0 -1
- package/dist/common/forms/index.mjs +0 -5
- package/dist/common/forms/index.mjs.map +0 -1
- package/dist/common/forms/switch-field.js +0 -106
- package/dist/common/forms/switch-field.js.map +0 -1
- package/dist/common/forms/switch-field.mjs +0 -104
- package/dist/common/forms/switch-field.mjs.map +0 -1
- package/dist/common/interactive/alert-dialog-wrapper.js +0 -141
- package/dist/common/interactive/alert-dialog-wrapper.js.map +0 -1
- package/dist/common/interactive/alert-dialog-wrapper.mjs +0 -119
- package/dist/common/interactive/alert-dialog-wrapper.mjs.map +0 -1
- package/dist/common/interactive/autocomplete.js +0 -178
- package/dist/common/interactive/autocomplete.js.map +0 -1
- package/dist/common/interactive/autocomplete.mjs +0 -157
- package/dist/common/interactive/autocomplete.mjs.map +0 -1
- package/dist/common/interactive/copy-tooltip.js +0 -152
- package/dist/common/interactive/copy-tooltip.js.map +0 -1
- package/dist/common/interactive/copy-tooltip.mjs +0 -143
- package/dist/common/interactive/copy-tooltip.mjs.map +0 -1
- package/dist/common/interactive/date-field.js +0 -303
- package/dist/common/interactive/date-field.js.map +0 -1
- package/dist/common/interactive/date-field.mjs +0 -281
- package/dist/common/interactive/date-field.mjs.map +0 -1
- package/dist/common/interactive/date-input/date-input.js +0 -68
- package/dist/common/interactive/date-input/date-input.js.map +0 -1
- package/dist/common/interactive/date-input/date-input.mjs +0 -62
- package/dist/common/interactive/date-input/date-input.mjs.map +0 -1
- package/dist/common/interactive/date-input/index.js +0 -17
- package/dist/common/interactive/date-input/index.js.map +0 -1
- package/dist/common/interactive/date-input/index.mjs +0 -4
- package/dist/common/interactive/date-input/index.mjs.map +0 -1
- package/dist/common/interactive/date-input/types.js +0 -4
- package/dist/common/interactive/date-input/types.js.map +0 -1
- package/dist/common/interactive/date-input/types.mjs +0 -3
- package/dist/common/interactive/date-input/types.mjs.map +0 -1
- package/dist/common/interactive/date-input/use-typed-date.js +0 -478
- package/dist/common/interactive/date-input/use-typed-date.js.map +0 -1
- package/dist/common/interactive/date-input/use-typed-date.mjs +0 -476
- package/dist/common/interactive/date-input/use-typed-date.mjs.map +0 -1
- package/dist/common/interactive/date-input/utils.js +0 -34
- package/dist/common/interactive/date-input/utils.js.map +0 -1
- package/dist/common/interactive/date-input/utils.mjs +0 -29
- package/dist/common/interactive/date-input/utils.mjs.map +0 -1
- package/dist/common/interactive/date-picker.js +0 -616
- package/dist/common/interactive/date-picker.js.map +0 -1
- package/dist/common/interactive/date-picker.mjs +0 -594
- package/dist/common/interactive/date-picker.mjs.map +0 -1
- package/dist/common/interactive/date-range-input/date-range-input.js +0 -82
- package/dist/common/interactive/date-range-input/date-range-input.js.map +0 -1
- package/dist/common/interactive/date-range-input/date-range-input.mjs +0 -76
- package/dist/common/interactive/date-range-input/date-range-input.mjs.map +0 -1
- package/dist/common/interactive/date-range-input/index.js +0 -12
- package/dist/common/interactive/date-range-input/index.js.map +0 -1
- package/dist/common/interactive/date-range-input/index.mjs +0 -3
- package/dist/common/interactive/date-range-input/index.mjs.map +0 -1
- package/dist/common/interactive/date-range-input/types.js +0 -4
- package/dist/common/interactive/date-range-input/types.js.map +0 -1
- package/dist/common/interactive/date-range-input/types.mjs +0 -3
- package/dist/common/interactive/date-range-input/types.mjs.map +0 -1
- package/dist/common/interactive/date-range-input/use-typed-date-range.js +0 -602
- package/dist/common/interactive/date-range-input/use-typed-date-range.js.map +0 -1
- package/dist/common/interactive/date-range-input/use-typed-date-range.mjs +0 -600
- package/dist/common/interactive/date-range-input/use-typed-date-range.mjs.map +0 -1
- package/dist/common/interactive/date-time-picker.js +0 -215
- package/dist/common/interactive/date-time-picker.js.map +0 -1
- package/dist/common/interactive/date-time-picker.mjs +0 -213
- package/dist/common/interactive/date-time-picker.mjs.map +0 -1
- package/dist/common/interactive/dialog-wrapper.js +0 -124
- package/dist/common/interactive/dialog-wrapper.js.map +0 -1
- package/dist/common/interactive/dialog-wrapper.mjs +0 -102
- package/dist/common/interactive/dialog-wrapper.mjs.map +0 -1
- package/dist/common/interactive/filter.js +0 -287
- package/dist/common/interactive/filter.js.map +0 -1
- package/dist/common/interactive/filter.mjs +0 -280
- package/dist/common/interactive/filter.mjs.map +0 -1
- package/dist/common/interactive/index.js +0 -235
- package/dist/common/interactive/index.js.map +0 -1
- package/dist/common/interactive/index.mjs +0 -24
- package/dist/common/interactive/index.mjs.map +0 -1
- package/dist/common/interactive/list.js +0 -160
- package/dist/common/interactive/list.js.map +0 -1
- package/dist/common/interactive/list.mjs +0 -134
- package/dist/common/interactive/list.mjs.map +0 -1
- package/dist/common/interactive/otp-dialog/index.js +0 -35
- package/dist/common/interactive/otp-dialog/index.js.map +0 -1
- package/dist/common/interactive/otp-dialog/index.mjs +0 -6
- package/dist/common/interactive/otp-dialog/index.mjs.map +0 -1
- package/dist/common/interactive/otp-dialog/otp-dialog.js +0 -325
- package/dist/common/interactive/otp-dialog/otp-dialog.js.map +0 -1
- package/dist/common/interactive/otp-dialog/otp-dialog.mjs +0 -303
- package/dist/common/interactive/otp-dialog/otp-dialog.mjs.map +0 -1
- package/dist/common/interactive/otp-dialog/reducer.js +0 -40
- package/dist/common/interactive/otp-dialog/reducer.js.map +0 -1
- package/dist/common/interactive/otp-dialog/reducer.mjs +0 -37
- package/dist/common/interactive/otp-dialog/reducer.mjs.map +0 -1
- package/dist/common/interactive/otp-dialog/types.js +0 -15
- package/dist/common/interactive/otp-dialog/types.js.map +0 -1
- package/dist/common/interactive/otp-dialog/types.mjs +0 -13
- package/dist/common/interactive/otp-dialog/types.mjs.map +0 -1
- package/dist/common/interactive/otp-dialog/utils.js +0 -24
- package/dist/common/interactive/otp-dialog/utils.js.map +0 -1
- package/dist/common/interactive/otp-dialog/utils.mjs +0 -21
- package/dist/common/interactive/otp-dialog/utils.mjs.map +0 -1
- package/dist/common/interactive/pagination/PaginationSkeleton.js +0 -51
- package/dist/common/interactive/pagination/PaginationSkeleton.js.map +0 -1
- package/dist/common/interactive/pagination/PaginationSkeleton.mjs +0 -49
- package/dist/common/interactive/pagination/PaginationSkeleton.mjs.map +0 -1
- package/dist/common/interactive/pagination/index.js +0 -235
- package/dist/common/interactive/pagination/index.js.map +0 -1
- package/dist/common/interactive/pagination/index.mjs +0 -223
- package/dist/common/interactive/pagination/index.mjs.map +0 -1
- package/dist/common/interactive/pagination/usePagination.js +0 -28
- package/dist/common/interactive/pagination/usePagination.js.map +0 -1
- package/dist/common/interactive/pagination/usePagination.mjs +0 -25
- package/dist/common/interactive/pagination/usePagination.mjs.map +0 -1
- package/dist/common/interactive/popover-wrapper.js +0 -138
- package/dist/common/interactive/popover-wrapper.js.map +0 -1
- package/dist/common/interactive/popover-wrapper.mjs +0 -116
- package/dist/common/interactive/popover-wrapper.mjs.map +0 -1
- package/dist/common/interactive/pressable.js +0 -84
- package/dist/common/interactive/pressable.js.map +0 -1
- package/dist/common/interactive/pressable.mjs +0 -62
- package/dist/common/interactive/pressable.mjs.map +0 -1
- package/dist/common/interactive/select/context.js +0 -38
- package/dist/common/interactive/select/context.js.map +0 -1
- package/dist/common/interactive/select/context.mjs +0 -14
- package/dist/common/interactive/select/context.mjs.map +0 -1
- package/dist/common/interactive/select/index.js +0 -123
- package/dist/common/interactive/select/index.js.map +0 -1
- package/dist/common/interactive/select/index.mjs +0 -18
- package/dist/common/interactive/select/index.mjs.map +0 -1
- package/dist/common/interactive/select/select-body.js +0 -89
- package/dist/common/interactive/select/select-body.js.map +0 -1
- package/dist/common/interactive/select/select-body.mjs +0 -67
- package/dist/common/interactive/select/select-body.mjs.map +0 -1
- package/dist/common/interactive/select/select-close.js +0 -38
- package/dist/common/interactive/select/select-close.js.map +0 -1
- package/dist/common/interactive/select/select-close.mjs +0 -16
- package/dist/common/interactive/select/select-close.mjs.map +0 -1
- package/dist/common/interactive/select/select-content-auto-layout.js +0 -221
- package/dist/common/interactive/select/select-content-auto-layout.js.map +0 -1
- package/dist/common/interactive/select/select-content-auto-layout.mjs +0 -199
- package/dist/common/interactive/select/select-content-auto-layout.mjs.map +0 -1
- package/dist/common/interactive/select/select-content-group-auto-layout.js +0 -411
- package/dist/common/interactive/select/select-content-group-auto-layout.js.map +0 -1
- package/dist/common/interactive/select/select-content-group-auto-layout.mjs +0 -389
- package/dist/common/interactive/select/select-content-group-auto-layout.mjs.map +0 -1
- package/dist/common/interactive/select/select-content.js +0 -187
- package/dist/common/interactive/select/select-content.js.map +0 -1
- package/dist/common/interactive/select/select-content.mjs +0 -165
- package/dist/common/interactive/select/select-content.mjs.map +0 -1
- package/dist/common/interactive/select/select-footer.js +0 -82
- package/dist/common/interactive/select/select-footer.js.map +0 -1
- package/dist/common/interactive/select/select-footer.mjs +0 -60
- package/dist/common/interactive/select/select-footer.mjs.map +0 -1
- package/dist/common/interactive/select/select-item.js +0 -214
- package/dist/common/interactive/select/select-item.js.map +0 -1
- package/dist/common/interactive/select/select-item.mjs +0 -191
- package/dist/common/interactive/select/select-item.mjs.map +0 -1
- package/dist/common/interactive/select/select-layout.js +0 -66
- package/dist/common/interactive/select/select-layout.js.map +0 -1
- package/dist/common/interactive/select/select-layout.mjs +0 -41
- package/dist/common/interactive/select/select-layout.mjs.map +0 -1
- package/dist/common/interactive/select/select-search.js +0 -55
- package/dist/common/interactive/select/select-search.js.map +0 -1
- package/dist/common/interactive/select/select-search.mjs +0 -33
- package/dist/common/interactive/select/select-search.mjs.map +0 -1
- package/dist/common/interactive/select/select-states.js +0 -57
- package/dist/common/interactive/select/select-states.js.map +0 -1
- package/dist/common/interactive/select/select-states.mjs +0 -34
- package/dist/common/interactive/select/select-states.mjs.map +0 -1
- package/dist/common/interactive/select/select-trigger.js +0 -310
- package/dist/common/interactive/select/select-trigger.js.map +0 -1
- package/dist/common/interactive/select/select-trigger.mjs +0 -286
- package/dist/common/interactive/select/select-trigger.mjs.map +0 -1
- package/dist/common/interactive/select/select-value.js +0 -52
- package/dist/common/interactive/select/select-value.js.map +0 -1
- package/dist/common/interactive/select/select-value.mjs +0 -30
- package/dist/common/interactive/select/select-value.mjs.map +0 -1
- package/dist/common/interactive/select/select.js +0 -184
- package/dist/common/interactive/select/select.js.map +0 -1
- package/dist/common/interactive/select/select.mjs +0 -162
- package/dist/common/interactive/select/select.mjs.map +0 -1
- package/dist/common/interactive/select/types.js +0 -4
- package/dist/common/interactive/select/types.js.map +0 -1
- package/dist/common/interactive/select/types.mjs +0 -3
- package/dist/common/interactive/select/types.mjs.map +0 -1
- package/dist/common/interactive/select/utils.js +0 -31
- package/dist/common/interactive/select/utils.js.map +0 -1
- package/dist/common/interactive/select/utils.mjs +0 -28
- package/dist/common/interactive/select/utils.mjs.map +0 -1
- package/dist/common/interactive/select/variants.js +0 -27
- package/dist/common/interactive/select/variants.js.map +0 -1
- package/dist/common/interactive/select/variants.mjs +0 -25
- package/dist/common/interactive/select/variants.mjs.map +0 -1
- package/dist/common/interactive/select-chip.js +0 -76
- package/dist/common/interactive/select-chip.js.map +0 -1
- package/dist/common/interactive/select-chip.mjs +0 -74
- package/dist/common/interactive/select-chip.mjs.map +0 -1
- package/dist/common/interactive/select-level.js +0 -236
- package/dist/common/interactive/select-level.js.map +0 -1
- package/dist/common/interactive/select-level.mjs +0 -230
- package/dist/common/interactive/select-level.mjs.map +0 -1
- package/dist/common/interactive/select-range.js +0 -211
- package/dist/common/interactive/select-range.js.map +0 -1
- package/dist/common/interactive/select-range.mjs +0 -209
- package/dist/common/interactive/select-range.mjs.map +0 -1
- package/dist/common/interactive/select-with-api.js +0 -767
- package/dist/common/interactive/select-with-api.js.map +0 -1
- package/dist/common/interactive/select-with-api.mjs +0 -758
- package/dist/common/interactive/select-with-api.mjs.map +0 -1
- package/dist/common/interactive/select.js +0 -15
- package/dist/common/interactive/select.js.map +0 -1
- package/dist/common/interactive/select.mjs +0 -4
- package/dist/common/interactive/select.mjs.map +0 -1
- package/dist/common/interactive/sheet-wrapper.js +0 -105
- package/dist/common/interactive/sheet-wrapper.js.map +0 -1
- package/dist/common/interactive/sheet-wrapper.mjs +0 -83
- package/dist/common/interactive/sheet-wrapper.mjs.map +0 -1
- package/dist/common/interactive/table/enhanced-table.js +0 -390
- package/dist/common/interactive/table/enhanced-table.js.map +0 -1
- package/dist/common/interactive/table/enhanced-table.mjs +0 -388
- package/dist/common/interactive/table/enhanced-table.mjs.map +0 -1
- package/dist/common/interactive/table/index.js +0 -83
- package/dist/common/interactive/table/index.js.map +0 -1
- package/dist/common/interactive/table/index.mjs +0 -68
- package/dist/common/interactive/table/index.mjs.map +0 -1
- package/dist/common/interactive/table/table-pagination.js +0 -12
- package/dist/common/interactive/table/table-pagination.js.map +0 -1
- package/dist/common/interactive/table/table-pagination.mjs +0 -10
- package/dist/common/interactive/table/table-pagination.mjs.map +0 -1
- package/dist/common/interactive/table/types.js +0 -4
- package/dist/common/interactive/table/types.js.map +0 -1
- package/dist/common/interactive/table/types.mjs +0 -3
- package/dist/common/interactive/table/types.mjs.map +0 -1
- package/dist/common/interactive/time-picker.js +0 -313
- package/dist/common/interactive/time-picker.js.map +0 -1
- package/dist/common/interactive/time-picker.mjs +0 -307
- package/dist/common/interactive/time-picker.mjs.map +0 -1
- package/dist/common/interactive/types.js +0 -4
- package/dist/common/interactive/types.js.map +0 -1
- package/dist/common/interactive/types.mjs +0 -3
- package/dist/common/interactive/types.mjs.map +0 -1
- package/dist/common/pages/page-404.js +0 -16
- package/dist/common/pages/page-404.js.map +0 -1
- package/dist/common/pages/page-404.mjs +0 -11
- package/dist/common/pages/page-404.mjs.map +0 -1
- package/dist/common/pages/page-500.js +0 -30
- package/dist/common/pages/page-500.js.map +0 -1
- package/dist/common/pages/page-500.mjs +0 -25
- package/dist/common/pages/page-500.mjs.map +0 -1
- package/dist/components/accordion.js +0 -65
- package/dist/components/accordion.js.map +0 -1
- package/dist/components/accordion.mjs +0 -39
- package/dist/components/accordion.mjs.map +0 -1
- package/dist/components/alert-dialog.js +0 -231
- package/dist/components/alert-dialog.js.map +0 -1
- package/dist/components/alert-dialog.mjs +0 -197
- package/dist/components/alert-dialog.mjs.map +0 -1
- package/dist/components/alert.js +0 -97
- package/dist/components/alert.js.map +0 -1
- package/dist/components/alert.mjs +0 -72
- package/dist/components/alert.mjs.map +0 -1
- package/dist/components/aspect-ratio.js +0 -29
- package/dist/components/aspect-ratio.js.map +0 -1
- package/dist/components/aspect-ratio.mjs +0 -7
- package/dist/components/aspect-ratio.mjs.map +0 -1
- package/dist/components/avatar.js +0 -64
- package/dist/components/avatar.js.map +0 -1
- package/dist/components/avatar.mjs +0 -39
- package/dist/components/avatar.mjs.map +0 -1
- package/dist/components/badge.js +0 -72
- package/dist/components/badge.js.map +0 -1
- package/dist/components/badge.mjs +0 -69
- package/dist/components/badge.mjs.map +0 -1
- package/dist/components/breadcrumb.js +0 -109
- package/dist/components/breadcrumb.js.map +0 -1
- package/dist/components/breadcrumb.mjs +0 -81
- package/dist/components/breadcrumb.mjs.map +0 -1
- package/dist/components/button.js +0 -250
- package/dist/components/button.js.map +0 -1
- package/dist/components/button.mjs +0 -226
- package/dist/components/button.mjs.map +0 -1
- package/dist/components/calendar.js +0 -681
- package/dist/components/calendar.js.map +0 -1
- package/dist/components/calendar.mjs +0 -659
- package/dist/components/calendar.mjs.map +0 -1
- package/dist/components/card.js +0 -98
- package/dist/components/card.js.map +0 -1
- package/dist/components/card.mjs +0 -71
- package/dist/components/card.mjs.map +0 -1
- package/dist/components/carousel.js +0 -237
- package/dist/components/carousel.js.map +0 -1
- package/dist/components/carousel.mjs +0 -208
- package/dist/components/carousel.mjs.map +0 -1
- package/dist/components/chart.js +0 -252
- package/dist/components/chart.js.map +0 -1
- package/dist/components/chart.mjs +0 -224
- package/dist/components/chart.mjs.map +0 -1
- package/dist/components/checkbox.js +0 -97
- package/dist/components/checkbox.js.map +0 -1
- package/dist/components/checkbox.mjs +0 -74
- package/dist/components/checkbox.mjs.map +0 -1
- package/dist/components/chip.js +0 -88
- package/dist/components/chip.js.map +0 -1
- package/dist/components/chip.mjs +0 -82
- package/dist/components/chip.mjs.map +0 -1
- package/dist/components/collapsible.js +0 -33
- package/dist/components/collapsible.js.map +0 -1
- package/dist/components/collapsible.mjs +0 -9
- package/dist/components/collapsible.mjs.map +0 -1
- package/dist/components/command.js +0 -125
- package/dist/components/command.js.map +0 -1
- package/dist/components/command.mjs +0 -95
- package/dist/components/command.mjs.map +0 -1
- package/dist/components/context-menu.js +0 -168
- package/dist/components/context-menu.js.map +0 -1
- package/dist/components/context-menu.mjs +0 -131
- package/dist/components/context-menu.mjs.map +0 -1
- package/dist/components/dialog.js +0 -192
- package/dist/components/dialog.js.map +0 -1
- package/dist/components/dialog.mjs +0 -159
- package/dist/components/dialog.mjs.map +0 -1
- package/dist/components/drawer.js +0 -98
- package/dist/components/drawer.js.map +0 -1
- package/dist/components/drawer.mjs +0 -67
- package/dist/components/drawer.mjs.map +0 -1
- package/dist/components/dropdown-menu.js +0 -163
- package/dist/components/dropdown-menu.js.map +0 -1
- package/dist/components/dropdown-menu.mjs +0 -126
- package/dist/components/dropdown-menu.mjs.map +0 -1
- package/dist/components/form.js +0 -123
- package/dist/components/form.js.map +0 -1
- package/dist/components/form.mjs +0 -94
- package/dist/components/form.mjs.map +0 -1
- package/dist/components/hover-card.js +0 -50
- package/dist/components/hover-card.js.map +0 -1
- package/dist/components/hover-card.mjs +0 -25
- package/dist/components/hover-card.mjs.map +0 -1
- package/dist/components/input-otp.js +0 -84
- package/dist/components/input-otp.js.map +0 -1
- package/dist/components/input-otp.mjs +0 -59
- package/dist/components/input-otp.mjs.map +0 -1
- package/dist/components/input.js +0 -858
- package/dist/components/input.js.map +0 -1
- package/dist/components/input.mjs +0 -831
- package/dist/components/input.mjs.map +0 -1
- package/dist/components/label.js +0 -38
- package/dist/components/label.js.map +0 -1
- package/dist/components/label.mjs +0 -15
- package/dist/components/label.mjs.map +0 -1
- package/dist/components/lottie.js +0 -59
- package/dist/components/lottie.js.map +0 -1
- package/dist/components/lottie.mjs +0 -49
- package/dist/components/lottie.mjs.map +0 -1
- package/dist/components/menubar.js +0 -195
- package/dist/components/menubar.js.map +0 -1
- package/dist/components/menubar.mjs +0 -157
- package/dist/components/menubar.mjs.map +0 -1
- package/dist/components/navigation-menu.js +0 -126
- package/dist/components/navigation-menu.js.map +0 -1
- package/dist/components/navigation-menu.mjs +0 -95
- package/dist/components/navigation-menu.mjs.map +0 -1
- package/dist/components/pagination.js +0 -112
- package/dist/components/pagination.js.map +0 -1
- package/dist/components/pagination.mjs +0 -84
- package/dist/components/pagination.mjs.map +0 -1
- package/dist/components/popover.js +0 -63
- package/dist/components/popover.js.map +0 -1
- package/dist/components/popover.mjs +0 -38
- package/dist/components/popover.mjs.map +0 -1
- package/dist/components/progress.js +0 -50
- package/dist/components/progress.js.map +0 -1
- package/dist/components/progress.mjs +0 -27
- package/dist/components/progress.mjs.map +0 -1
- package/dist/components/radio-group.js +0 -91
- package/dist/components/radio-group.js.map +0 -1
- package/dist/components/radio-group.mjs +0 -67
- package/dist/components/radio-group.mjs.map +0 -1
- package/dist/components/resizable.js +0 -59
- package/dist/components/resizable.js.map +0 -1
- package/dist/components/resizable.mjs +0 -35
- package/dist/components/resizable.mjs.map +0 -1
- package/dist/components/responsive-popover.js +0 -74
- package/dist/components/responsive-popover.js.map +0 -1
- package/dist/components/responsive-popover.mjs +0 -50
- package/dist/components/responsive-popover.mjs.map +0 -1
- package/dist/components/scroll-area.js +0 -63
- package/dist/components/scroll-area.js.map +0 -1
- package/dist/components/scroll-area.mjs +0 -39
- package/dist/components/scroll-area.mjs.map +0 -1
- package/dist/components/separator.js +0 -47
- package/dist/components/separator.js.map +0 -1
- package/dist/components/separator.mjs +0 -24
- package/dist/components/separator.mjs.map +0 -1
- package/dist/components/sheet.js +0 -239
- package/dist/components/sheet.js.map +0 -1
- package/dist/components/sheet.mjs +0 -206
- package/dist/components/sheet.mjs.map +0 -1
- package/dist/components/sidebar.js +0 -888
- package/dist/components/sidebar.js.map +0 -1
- package/dist/components/sidebar.mjs +0 -842
- package/dist/components/sidebar.mjs.map +0 -1
- package/dist/components/skeleton.js +0 -153
- package/dist/components/skeleton.js.map +0 -1
- package/dist/components/skeleton.mjs +0 -127
- package/dist/components/skeleton.mjs.map +0 -1
- package/dist/components/slider.js +0 -45
- package/dist/components/slider.js.map +0 -1
- package/dist/components/slider.mjs +0 -22
- package/dist/components/slider.mjs.map +0 -1
- package/dist/components/sonner.js +0 -76
- package/dist/components/sonner.js.map +0 -1
- package/dist/components/sonner.mjs +0 -71
- package/dist/components/sonner.mjs.map +0 -1
- package/dist/components/spinner.js +0 -59
- package/dist/components/spinner.js.map +0 -1
- package/dist/components/spinner.mjs +0 -36
- package/dist/components/spinner.mjs.map +0 -1
- package/dist/components/stepper.js +0 -726
- package/dist/components/stepper.js.map +0 -1
- package/dist/components/stepper.mjs +0 -702
- package/dist/components/stepper.mjs.map +0 -1
- package/dist/components/switch.js +0 -85
- package/dist/components/switch.js.map +0 -1
- package/dist/components/switch.mjs +0 -62
- package/dist/components/switch.mjs.map +0 -1
- package/dist/components/table.js +0 -91
- package/dist/components/table.js.map +0 -1
- package/dist/components/table.mjs +0 -62
- package/dist/components/table.mjs.map +0 -1
- package/dist/components/tabs.js +0 -287
- package/dist/components/tabs.js.map +0 -1
- package/dist/components/tabs.mjs +0 -261
- package/dist/components/tabs.mjs.map +0 -1
- package/dist/components/textarea.js +0 -200
- package/dist/components/textarea.js.map +0 -1
- package/dist/components/textarea.mjs +0 -174
- package/dist/components/textarea.mjs.map +0 -1
- package/dist/components/toggle-group.js +0 -67
- package/dist/components/toggle-group.js.map +0 -1
- package/dist/components/toggle-group.mjs +0 -43
- package/dist/components/toggle-group.mjs.map +0 -1
- package/dist/components/toggle.js +0 -63
- package/dist/components/toggle.js.map +0 -1
- package/dist/components/toggle.mjs +0 -39
- package/dist/components/toggle.mjs.map +0 -1
- package/dist/components/tooltip.js +0 -172
- package/dist/components/tooltip.js.map +0 -1
- package/dist/components/tooltip.mjs +0 -145
- package/dist/components/tooltip.mjs.map +0 -1
- package/dist/hooks/index.js +0 -27
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/index.mjs +0 -6
- package/dist/hooks/index.mjs.map +0 -1
- package/dist/hooks/useCopyToClipboard.js +0 -59
- package/dist/hooks/useCopyToClipboard.js.map +0 -1
- package/dist/hooks/useCopyToClipboard.mjs +0 -57
- package/dist/hooks/useCopyToClipboard.mjs.map +0 -1
- package/dist/hooks/useDevice.js +0 -20
- package/dist/hooks/useDevice.js.map +0 -1
- package/dist/hooks/useDevice.mjs +0 -14
- package/dist/hooks/useDevice.mjs.map +0 -1
- package/dist/hooks/useDialogTracking.js +0 -113
- package/dist/hooks/useDialogTracking.js.map +0 -1
- package/dist/hooks/useDialogTracking.mjs +0 -91
- package/dist/hooks/useDialogTracking.mjs.map +0 -1
- package/dist/hooks/useIsMounted.js +0 -15
- package/dist/hooks/useIsMounted.js.map +0 -1
- package/dist/hooks/useIsMounted.mjs +0 -13
- package/dist/hooks/useIsMounted.mjs.map +0 -1
- package/dist/hooks/usePathname.js +0 -85
- package/dist/hooks/usePathname.js.map +0 -1
- package/dist/hooks/usePathname.mjs +0 -83
- package/dist/hooks/usePathname.mjs.map +0 -1
- package/dist/icons.js +0 -14
- package/dist/icons.js.map +0 -1
- package/dist/icons.mjs +0 -3
- package/dist/icons.mjs.map +0 -1
- package/dist/lib/formatCurrency.js +0 -187
- package/dist/lib/formatCurrency.js.map +0 -1
- package/dist/lib/formatCurrency.mjs +0 -185
- package/dist/lib/formatCurrency.mjs.map +0 -1
- package/dist/lib/helpers.js +0 -171
- package/dist/lib/helpers.js.map +0 -1
- package/dist/lib/helpers.mjs +0 -157
- package/dist/lib/helpers.mjs.map +0 -1
- package/dist/lib/index.js +0 -33
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/index.mjs +0 -6
- package/dist/lib/index.mjs.map +0 -1
- package/dist/lib/types.js +0 -11
- package/dist/lib/types.js.map +0 -1
- package/dist/lib/types.mjs +0 -9
- package/dist/lib/types.mjs.map +0 -1
- package/dist/lib/utils.js +0 -24
- package/dist/lib/utils.js.map +0 -1
- package/dist/lib/utils.mjs +0 -19
- package/dist/lib/utils.mjs.map +0 -1
- package/dist/providers/DeviceSizeWatcher/index.js +0 -72
- package/dist/providers/DeviceSizeWatcher/index.js.map +0 -1
- package/dist/providers/DeviceSizeWatcher/index.mjs +0 -47
- package/dist/providers/DeviceSizeWatcher/index.mjs.map +0 -1
- package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.js +0 -22
- package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.js.map +0 -1
- package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.mjs +0 -20
- package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.mjs.map +0 -1
- package/dist/providers/UISystemProvider.js +0 -197
- package/dist/providers/UISystemProvider.js.map +0 -1
- package/dist/providers/UISystemProvider.mjs +0 -188
- package/dist/providers/UISystemProvider.mjs.map +0 -1
- package/dist/providers/index.js +0 -24
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/index.mjs +0 -3
- package/dist/providers/index.mjs.map +0 -1
- package/dist/theme.js +0 -333
- package/dist/theme.js.map +0 -1
- package/dist/theme.mjs +0 -327
- package/dist/theme.mjs.map +0 -1
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import * as RechartsPrimitive from 'recharts';
|
|
4
|
-
import { cn } from '@/lib/utils';
|
|
5
|
-
|
|
6
|
-
const THEMES = { light: "", dark: ".dark" };
|
|
7
|
-
const ChartContext = React.createContext(null);
|
|
8
|
-
function useChart() {
|
|
9
|
-
const context = React.useContext(ChartContext);
|
|
10
|
-
if (!context) {
|
|
11
|
-
throw new Error("useChart must be used within a <ChartContainer />");
|
|
12
|
-
}
|
|
13
|
-
return context;
|
|
14
|
-
}
|
|
15
|
-
const ChartContainer = React.forwardRef(({ id, className, children, config, ...props }, ref) => {
|
|
16
|
-
const uniqueId = React.useId();
|
|
17
|
-
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
18
|
-
return /* @__PURE__ */ jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs(
|
|
19
|
-
"div",
|
|
20
|
-
{
|
|
21
|
-
"data-chart": chartId,
|
|
22
|
-
ref,
|
|
23
|
-
className: cn(
|
|
24
|
-
"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",
|
|
25
|
-
className
|
|
26
|
-
),
|
|
27
|
-
...props,
|
|
28
|
-
children: [
|
|
29
|
-
/* @__PURE__ */ jsx(ChartStyle, { id: chartId, config }),
|
|
30
|
-
/* @__PURE__ */ jsx(RechartsPrimitive.ResponsiveContainer, { children })
|
|
31
|
-
]
|
|
32
|
-
}
|
|
33
|
-
) });
|
|
34
|
-
});
|
|
35
|
-
ChartContainer.displayName = "Chart";
|
|
36
|
-
const ChartStyle = ({ id, config }) => {
|
|
37
|
-
const colorConfig = Object.entries(config).filter(([_, config2]) => config2.theme || config2.color);
|
|
38
|
-
if (!colorConfig.length) {
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
return /* @__PURE__ */ jsx(
|
|
42
|
-
"style",
|
|
43
|
-
{
|
|
44
|
-
dangerouslySetInnerHTML: {
|
|
45
|
-
__html: Object.entries(THEMES).map(
|
|
46
|
-
([theme, prefix]) => `
|
|
47
|
-
${prefix} [data-chart=${id}] {
|
|
48
|
-
${colorConfig.map(([key, itemConfig]) => {
|
|
49
|
-
const color = itemConfig.theme?.[theme] || itemConfig.color;
|
|
50
|
-
return color ? ` --color-${key}: ${color};` : null;
|
|
51
|
-
}).join("\n")}
|
|
52
|
-
}
|
|
53
|
-
`
|
|
54
|
-
).join("\n")
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
);
|
|
58
|
-
};
|
|
59
|
-
const ChartTooltip = RechartsPrimitive.Tooltip;
|
|
60
|
-
const ChartTooltipContent = React.forwardRef(
|
|
61
|
-
({
|
|
62
|
-
active,
|
|
63
|
-
payload,
|
|
64
|
-
className,
|
|
65
|
-
indicator = "dot",
|
|
66
|
-
hideLabel = false,
|
|
67
|
-
hideIndicator = false,
|
|
68
|
-
label,
|
|
69
|
-
labelFormatter,
|
|
70
|
-
labelClassName,
|
|
71
|
-
formatter,
|
|
72
|
-
color,
|
|
73
|
-
nameKey,
|
|
74
|
-
labelKey
|
|
75
|
-
}, ref) => {
|
|
76
|
-
const { config } = useChart();
|
|
77
|
-
const tooltipLabel = React.useMemo(() => {
|
|
78
|
-
if (hideLabel || !payload?.length) {
|
|
79
|
-
return null;
|
|
80
|
-
}
|
|
81
|
-
const [item] = payload;
|
|
82
|
-
const key = `${labelKey || item?.dataKey || item?.name || "value"}`;
|
|
83
|
-
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
84
|
-
const value = !labelKey && typeof label === "string" ? config[label]?.label || label : itemConfig?.label;
|
|
85
|
-
if (labelFormatter) {
|
|
86
|
-
return /* @__PURE__ */ jsx("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
|
|
87
|
-
}
|
|
88
|
-
if (!value) {
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
return /* @__PURE__ */ jsx("div", { className: cn("font-medium", labelClassName), children: value });
|
|
92
|
-
}, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
|
|
93
|
-
if (!active || !payload?.length) {
|
|
94
|
-
return null;
|
|
95
|
-
}
|
|
96
|
-
const nestLabel = payload.length === 1 && indicator !== "dot";
|
|
97
|
-
return /* @__PURE__ */ jsxs(
|
|
98
|
-
"div",
|
|
99
|
-
{
|
|
100
|
-
ref,
|
|
101
|
-
className: cn(
|
|
102
|
-
"border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",
|
|
103
|
-
className
|
|
104
|
-
),
|
|
105
|
-
children: [
|
|
106
|
-
!nestLabel ? tooltipLabel : null,
|
|
107
|
-
/* @__PURE__ */ jsx("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
|
|
108
|
-
const key = `${nameKey || item.name || item.dataKey || "value"}`;
|
|
109
|
-
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
110
|
-
const indicatorColor = color || item.payload.fill || item.color;
|
|
111
|
-
return /* @__PURE__ */ jsx(
|
|
112
|
-
"div",
|
|
113
|
-
{
|
|
114
|
-
className: cn(
|
|
115
|
-
"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",
|
|
116
|
-
indicator === "dot" && "items-center"
|
|
117
|
-
),
|
|
118
|
-
children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
119
|
-
itemConfig?.icon ? /* @__PURE__ */ jsx(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx(
|
|
120
|
-
"div",
|
|
121
|
-
{
|
|
122
|
-
className: cn(
|
|
123
|
-
"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",
|
|
124
|
-
{
|
|
125
|
-
"h-2.5 w-2.5": indicator === "dot",
|
|
126
|
-
"w-1": indicator === "line",
|
|
127
|
-
"w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
|
|
128
|
-
"my-0.5": nestLabel && indicator === "dashed"
|
|
129
|
-
}
|
|
130
|
-
),
|
|
131
|
-
style: {
|
|
132
|
-
"--color-bg": indicatorColor,
|
|
133
|
-
"--color-border": indicatorColor
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
),
|
|
137
|
-
/* @__PURE__ */ jsxs(
|
|
138
|
-
"div",
|
|
139
|
-
{
|
|
140
|
-
className: cn(
|
|
141
|
-
"flex flex-1 justify-between leading-none",
|
|
142
|
-
nestLabel ? "items-end" : "items-center"
|
|
143
|
-
),
|
|
144
|
-
children: [
|
|
145
|
-
/* @__PURE__ */ jsxs("div", { className: "grid gap-1.5", children: [
|
|
146
|
-
nestLabel ? tooltipLabel : null,
|
|
147
|
-
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
|
|
148
|
-
] }),
|
|
149
|
-
item.value && /* @__PURE__ */ jsx("span", { className: "text-foreground font-mono font-medium tabular-nums", children: item.value.toLocaleString() })
|
|
150
|
-
]
|
|
151
|
-
}
|
|
152
|
-
)
|
|
153
|
-
] })
|
|
154
|
-
},
|
|
155
|
-
item.dataKey
|
|
156
|
-
);
|
|
157
|
-
}) })
|
|
158
|
-
]
|
|
159
|
-
}
|
|
160
|
-
);
|
|
161
|
-
}
|
|
162
|
-
);
|
|
163
|
-
ChartTooltipContent.displayName = "ChartTooltip";
|
|
164
|
-
const ChartLegend = RechartsPrimitive.Legend;
|
|
165
|
-
const ChartLegendContent = React.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
|
|
166
|
-
const { config } = useChart();
|
|
167
|
-
if (!payload?.length) {
|
|
168
|
-
return null;
|
|
169
|
-
}
|
|
170
|
-
return /* @__PURE__ */ jsx(
|
|
171
|
-
"div",
|
|
172
|
-
{
|
|
173
|
-
ref,
|
|
174
|
-
className: cn(
|
|
175
|
-
"flex items-center justify-center gap-4",
|
|
176
|
-
verticalAlign === "top" ? "pb-3" : "pt-3",
|
|
177
|
-
className
|
|
178
|
-
),
|
|
179
|
-
children: payload.map((item) => {
|
|
180
|
-
const key = `${nameKey || item.dataKey || "value"}`;
|
|
181
|
-
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
182
|
-
return /* @__PURE__ */ jsxs(
|
|
183
|
-
"div",
|
|
184
|
-
{
|
|
185
|
-
className: cn(
|
|
186
|
-
"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"
|
|
187
|
-
),
|
|
188
|
-
children: [
|
|
189
|
-
itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsx(itemConfig.icon, {}) : /* @__PURE__ */ jsx(
|
|
190
|
-
"div",
|
|
191
|
-
{
|
|
192
|
-
className: "h-2 w-2 shrink-0 rounded-[2px]",
|
|
193
|
-
style: {
|
|
194
|
-
backgroundColor: item.color
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
),
|
|
198
|
-
itemConfig?.label
|
|
199
|
-
]
|
|
200
|
-
},
|
|
201
|
-
item.value
|
|
202
|
-
);
|
|
203
|
-
})
|
|
204
|
-
}
|
|
205
|
-
);
|
|
206
|
-
});
|
|
207
|
-
ChartLegendContent.displayName = "ChartLegend";
|
|
208
|
-
function getPayloadConfigFromPayload(config, payload, key) {
|
|
209
|
-
if (typeof payload !== "object" || payload === null) {
|
|
210
|
-
return void 0;
|
|
211
|
-
}
|
|
212
|
-
const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null ? payload.payload : void 0;
|
|
213
|
-
let configLabelKey = key;
|
|
214
|
-
if (key in payload && typeof payload[key] === "string") {
|
|
215
|
-
configLabelKey = payload[key];
|
|
216
|
-
} else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === "string") {
|
|
217
|
-
configLabelKey = payloadPayload[key];
|
|
218
|
-
}
|
|
219
|
-
return configLabelKey in config ? config[configLabelKey] : config[key];
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };
|
|
223
|
-
//# sourceMappingURL=chart.mjs.map
|
|
224
|
-
//# sourceMappingURL=chart.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/chart.tsx"],"names":["config"],"mappings":"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","file":"chart.mjs","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as RechartsPrimitive from 'recharts';\n\nimport { cn } from '@/lib/utils';\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: '', dark: '.dark' } as const;\n\nexport type ChartConfig = {\n // eslint-disable-next-line no-unused-vars\n [_ in string]: {\n label?: React.ReactNode;\n icon?: React.ComponentType;\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n );\n};\n\ntype ChartContextProps = {\n config: ChartConfig;\n};\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n const context = React.useContext(ChartContext);\n\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer />');\n }\n\n return context;\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n config: ChartConfig;\n children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n className,\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n});\nChartContainer.displayName = 'Chart';\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(([_, config]) => config.theme || config.color);\n\n if (!colorConfig.length) {\n return null;\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color = itemConfig.theme?.[theme as keyof typeof itemConfig.theme] || itemConfig.color;\n return color ? ` --color-${key}: ${color};` : null;\n })\n .join('\\n')}\n}\n`,\n )\n .join('\\n'),\n }}\n />\n );\n};\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<'div'> & {\n hideLabel?: boolean;\n hideIndicator?: boolean;\n indicator?: 'line' | 'dot' | 'dashed';\n nameKey?: string;\n labelKey?: string;\n }\n>(\n (\n {\n active,\n payload,\n className,\n indicator = 'dot',\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref,\n ) => {\n const { config } = useChart();\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n const key = `${labelKey || item?.dataKey || item?.name || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value =\n !labelKey && typeof label === 'string'\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label;\n\n if (labelFormatter) {\n return (\n <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>\n );\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn('font-medium', labelClassName)}>{value}</div>;\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== 'dot';\n\n return (\n <div\n ref={ref}\n className={cn(\n 'border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl',\n className,\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || item.payload.fill || item.color;\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n '[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5',\n indicator === 'dot' && 'items-center',\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n 'shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]',\n {\n 'h-2.5 w-2.5': indicator === 'dot',\n 'w-1': indicator === 'line',\n 'w-0 border-[1.5px] border-dashed bg-transparent':\n indicator === 'dashed',\n 'my-0.5': nestLabel && indicator === 'dashed',\n },\n )}\n style={\n {\n '--color-bg': indicatorColor,\n '--color-border': indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n 'flex flex-1 justify-between leading-none',\n nestLabel ? 'items-end' : 'items-center',\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n },\n);\nChartTooltipContent.displayName = 'ChartTooltip';\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> &\n Pick<RechartsPrimitive.LegendProps, 'payload' | 'verticalAlign'> & {\n hideIcon?: boolean;\n nameKey?: string;\n }\n>(({ className, hideIcon = false, payload, verticalAlign = 'bottom', nameKey }, ref) => {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n 'flex items-center justify-center gap-4',\n verticalAlign === 'top' ? 'pb-3' : 'pt-3',\n className,\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={item.value}\n className={cn(\n '[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3',\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n});\nChartLegendContent.displayName = 'ChartLegend';\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {\n if (typeof payload !== 'object' || payload === null) {\n return undefined;\n }\n\n const payloadPayload =\n 'payload' in payload && typeof payload.payload === 'object' && payload.payload !== null\n ? payload.payload\n : undefined;\n\n let configLabelKey: string = key;\n\n if (key in payload && typeof payload[key as keyof typeof payload] === 'string') {\n configLabelKey = payload[key as keyof typeof payload] as string;\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === 'string'\n ) {\n configLabelKey = payloadPayload[key as keyof typeof payloadPayload] as string;\n }\n\n return configLabelKey in config ? config[configLabelKey] : config[key as keyof typeof config];\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n};\n"]}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var icons = require('@/icons');
|
|
5
|
-
var utils = require('@/lib/utils');
|
|
6
|
-
var CheckboxPrimitive = require('@radix-ui/react-checkbox');
|
|
7
|
-
var React = require('react');
|
|
8
|
-
var UISystemProvider = require('@/providers/UISystemProvider');
|
|
9
|
-
var types = require('@/lib/types');
|
|
10
|
-
|
|
11
|
-
function _interopNamespace(e) {
|
|
12
|
-
if (e && e.__esModule) return e;
|
|
13
|
-
var n = Object.create(null);
|
|
14
|
-
if (e) {
|
|
15
|
-
Object.keys(e).forEach(function (k) {
|
|
16
|
-
if (k !== 'default') {
|
|
17
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () { return e[k]; }
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
n.default = e;
|
|
26
|
-
return Object.freeze(n);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
|
|
30
|
-
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
31
|
-
|
|
32
|
-
const defaultIndicator = /* @__PURE__ */ jsxRuntime.jsx(icons.CheckOutlinedIcon16, { className: "ic-white h-4 w-4" });
|
|
33
|
-
const Checkbox = React__namespace.forwardRef(
|
|
34
|
-
({
|
|
35
|
-
className,
|
|
36
|
-
indicator = defaultIndicator,
|
|
37
|
-
trackingName,
|
|
38
|
-
trackingData,
|
|
39
|
-
trackingIndex,
|
|
40
|
-
blockSendTracking,
|
|
41
|
-
onCheckedChange,
|
|
42
|
-
...props
|
|
43
|
-
}, ref) => {
|
|
44
|
-
const { sendTrack } = UISystemProvider.useUISystemContext();
|
|
45
|
-
const handleCheckedChange = React__namespace.useCallback(
|
|
46
|
-
(checked) => {
|
|
47
|
-
onCheckedChange?.(checked);
|
|
48
|
-
if (sendTrack && !blockSendTracking && (trackingName || trackingData?.identity)) {
|
|
49
|
-
const mergedTrackingData = {
|
|
50
|
-
...trackingData,
|
|
51
|
-
object_type: "checkbox",
|
|
52
|
-
status: checked === true ? "selected" : "unselected",
|
|
53
|
-
value: props.value
|
|
54
|
-
};
|
|
55
|
-
const otherData = { ...mergedTrackingData };
|
|
56
|
-
if (trackingIndex !== void 0 && trackingIndex !== null) {
|
|
57
|
-
otherData.index = trackingIndex;
|
|
58
|
-
}
|
|
59
|
-
sendTrack(trackingName || `input_${trackingData?.identity}`, types.TRACKING_TYPE.click, otherData);
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
[
|
|
63
|
-
onCheckedChange,
|
|
64
|
-
sendTrack,
|
|
65
|
-
blockSendTracking,
|
|
66
|
-
trackingName,
|
|
67
|
-
trackingData,
|
|
68
|
-
trackingIndex,
|
|
69
|
-
props.value
|
|
70
|
-
]
|
|
71
|
-
);
|
|
72
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
73
|
-
CheckboxPrimitive__namespace.Root,
|
|
74
|
-
{
|
|
75
|
-
ref,
|
|
76
|
-
className: utils.cn(
|
|
77
|
-
"border-input data-[state=checked]:text-primary-foreground disabled:bg-muted disabled:data-[state=checked]:bg-muted data-[state=checked]:border-primary data-[state=checked]:bg-primary peer h-5 w-5 shrink-0 rounded-[2px] border-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:border-none",
|
|
78
|
-
className
|
|
79
|
-
),
|
|
80
|
-
onCheckedChange: handleCheckedChange,
|
|
81
|
-
...props,
|
|
82
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
83
|
-
CheckboxPrimitive__namespace.Indicator,
|
|
84
|
-
{
|
|
85
|
-
className: utils.cn("flex items-center justify-center text-current"),
|
|
86
|
-
children: indicator
|
|
87
|
-
}
|
|
88
|
-
)
|
|
89
|
-
}
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
);
|
|
93
|
-
Checkbox.displayName = CheckboxPrimitive__namespace.Root.displayName;
|
|
94
|
-
|
|
95
|
-
exports.Checkbox = Checkbox;
|
|
96
|
-
//# sourceMappingURL=checkbox.js.map
|
|
97
|
-
//# sourceMappingURL=checkbox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/checkbox.tsx"],"names":["jsx","CheckOutlinedIcon16","React","useUISystemContext","TRACKING_TYPE","CheckboxPrimitive","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAM,gBAAA,mBAAmBA,cAAA,CAACC,yBAAA,EAAA,EAAoB,SAAA,EAAU,kBAAA,EAAmB,CAAA;AAE3E,MAAM,WAAWC,gBAAA,CAAM,UAAA;AAAA,EACrB,CACE;AAAA,IACE,SAAA;AAAA,IACA,SAAA,GAAY,gBAAA;AAAA,IACZ,YAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA,iBAAA;AAAA,IACA,eAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,EAAE,SAAA,EAAU,GAAIC,mCAAA,EAAmB;AAEzC,IAAA,MAAM,sBAAsBD,gBAAA,CAAM,WAAA;AAAA,MAChC,CAAC,OAAA,KAAuC;AAEtC,QAAA,eAAA,GAAkB,OAAO,CAAA;AAGzB,QAAA,IAAI,SAAA,IAAa,CAAC,iBAAA,KAAsB,YAAA,IAAgB,cAAc,QAAA,CAAA,EAAW;AAC/E,UAAA,MAAM,kBAAA,GAAqB;AAAA,YACzB,GAAG,YAAA;AAAA,YACH,WAAA,EAAa,UAAA;AAAA,YACb,MAAA,EAAQ,OAAA,KAAY,IAAA,GAAO,UAAA,GAAa,YAAA;AAAA,YACxC,OAAO,KAAA,CAAM;AAAA,WACf;AAEA,UAAA,MAAM,SAAA,GAAiC,EAAE,GAAG,kBAAA,EAAmB;AAC/D,UAAA,IAAI,aAAA,KAAkB,MAAA,IAAa,aAAA,KAAkB,IAAA,EAAM;AACzD,YAAA,SAAA,CAAU,KAAA,GAAQ,aAAA;AAAA,UACpB;AAEA,UAAA,SAAA,CAAU,gBAAgB,CAAA,MAAA,EAAS,YAAA,EAAc,QAAQ,CAAA,CAAA,EAAIE,mBAAA,CAAc,OAAO,SAAS,CAAA;AAAA,QAC7F;AAAA,MACF,CAAA;AAAA,MACA;AAAA,QACE,eAAA;AAAA,QACA,SAAA;AAAA,QACA,iBAAA;AAAA,QACA,YAAA;AAAA,QACA,YAAA;AAAA,QACA,aAAA;AAAA,QACA,KAAA,CAAM;AAAA;AACR,KACF;AAEA,IAAA,uBACEJ,cAAA;AAAA,MAACK,4BAAA,CAAkB,IAAA;AAAA,MAAlB;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAWC,QAAA;AAAA,UACT,iTAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,eAAA,EAAiB,mBAAA;AAAA,QAChB,GAAG,KAAA;AAAA,QAEJ,QAAA,kBAAAN,cAAA;AAAA,UAACK,4BAAA,CAAkB,SAAA;AAAA,UAAlB;AAAA,YACC,SAAA,EAAWC,SAAG,+CAA+C,CAAA;AAAA,YAE5D,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,KACF;AAAA,EAEJ;AACF;AACA,QAAA,CAAS,WAAA,GAAcD,6BAAkB,IAAA,CAAK,WAAA","file":"checkbox.js","sourcesContent":["'use client';\nimport { CheckOutlinedIcon16 } from '@/icons';\nimport { cn } from '@/lib/utils';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport * as React from 'react';\nimport { useUISystemContext } from '@/providers/UISystemProvider';\nimport { TRACKING_TYPE, TrackingPropsType } from '@/lib/types';\n\ninterface TrackingData {\n [key: string]: any;\n identity?: string;\n object_type?: 'checkbox';\n object_name?: string; // Tên label hiển thị trên UI của Selection\n status?: 'selected' | 'unselected'; // Nếu user chọn --> value là \"selected\" - Nếu user bỏ chọn --> value là \"unselected\"\n value?: string; // Tên value hiển thị trên UI mà user chọn\n}\n\ninterface Props\n extends React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>, TrackingPropsType {\n indicator?: React.ReactNode;\n trackingData?: TrackingData;\n}\n\nconst defaultIndicator = <CheckOutlinedIcon16 className=\"ic-white h-4 w-4\" />;\n\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, Props>(\n (\n {\n className,\n indicator = defaultIndicator,\n trackingName,\n trackingData,\n trackingIndex,\n blockSendTracking,\n onCheckedChange,\n ...props\n },\n ref,\n ) => {\n const { sendTrack } = useUISystemContext();\n\n const handleCheckedChange = React.useCallback(\n (checked: boolean | 'indeterminate') => {\n // Call original handler\n onCheckedChange?.(checked);\n\n // Send tracking\n if (sendTrack && !blockSendTracking && (trackingName || trackingData?.identity)) {\n const mergedTrackingData = {\n ...trackingData,\n object_type: \"checkbox\",\n status: checked === true ? 'selected' : 'unselected',\n value: props.value,\n };\n\n const otherData: Record<string, any> = { ...mergedTrackingData };\n if (trackingIndex !== undefined && trackingIndex !== null) {\n otherData.index = trackingIndex;\n }\n\n sendTrack(trackingName || `input_${trackingData?.identity}`, TRACKING_TYPE.click, otherData);\n }\n },\n [\n onCheckedChange,\n sendTrack,\n blockSendTracking,\n trackingName,\n trackingData,\n trackingIndex,\n props.value,\n ],\n );\n\n return (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'border-input data-[state=checked]:text-primary-foreground disabled:bg-muted disabled:data-[state=checked]:bg-muted data-[state=checked]:border-primary data-[state=checked]:bg-primary peer h-5 w-5 shrink-0 rounded-[2px] border-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:border-none',\n className,\n )}\n onCheckedChange={handleCheckedChange}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn('flex items-center justify-center text-current')}\n >\n {indicator}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n },\n);\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n"]}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { CheckOutlinedIcon16 } from '@/icons';
|
|
3
|
-
import { cn } from '@/lib/utils';
|
|
4
|
-
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
5
|
-
import * as React from 'react';
|
|
6
|
-
import { useUISystemContext } from '@/providers/UISystemProvider';
|
|
7
|
-
import { TRACKING_TYPE } from '@/lib/types';
|
|
8
|
-
|
|
9
|
-
const defaultIndicator = /* @__PURE__ */ jsx(CheckOutlinedIcon16, { className: "ic-white h-4 w-4" });
|
|
10
|
-
const Checkbox = React.forwardRef(
|
|
11
|
-
({
|
|
12
|
-
className,
|
|
13
|
-
indicator = defaultIndicator,
|
|
14
|
-
trackingName,
|
|
15
|
-
trackingData,
|
|
16
|
-
trackingIndex,
|
|
17
|
-
blockSendTracking,
|
|
18
|
-
onCheckedChange,
|
|
19
|
-
...props
|
|
20
|
-
}, ref) => {
|
|
21
|
-
const { sendTrack } = useUISystemContext();
|
|
22
|
-
const handleCheckedChange = React.useCallback(
|
|
23
|
-
(checked) => {
|
|
24
|
-
onCheckedChange?.(checked);
|
|
25
|
-
if (sendTrack && !blockSendTracking && (trackingName || trackingData?.identity)) {
|
|
26
|
-
const mergedTrackingData = {
|
|
27
|
-
...trackingData,
|
|
28
|
-
object_type: "checkbox",
|
|
29
|
-
status: checked === true ? "selected" : "unselected",
|
|
30
|
-
value: props.value
|
|
31
|
-
};
|
|
32
|
-
const otherData = { ...mergedTrackingData };
|
|
33
|
-
if (trackingIndex !== void 0 && trackingIndex !== null) {
|
|
34
|
-
otherData.index = trackingIndex;
|
|
35
|
-
}
|
|
36
|
-
sendTrack(trackingName || `input_${trackingData?.identity}`, TRACKING_TYPE.click, otherData);
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
[
|
|
40
|
-
onCheckedChange,
|
|
41
|
-
sendTrack,
|
|
42
|
-
blockSendTracking,
|
|
43
|
-
trackingName,
|
|
44
|
-
trackingData,
|
|
45
|
-
trackingIndex,
|
|
46
|
-
props.value
|
|
47
|
-
]
|
|
48
|
-
);
|
|
49
|
-
return /* @__PURE__ */ jsx(
|
|
50
|
-
CheckboxPrimitive.Root,
|
|
51
|
-
{
|
|
52
|
-
ref,
|
|
53
|
-
className: cn(
|
|
54
|
-
"border-input data-[state=checked]:text-primary-foreground disabled:bg-muted disabled:data-[state=checked]:bg-muted data-[state=checked]:border-primary data-[state=checked]:bg-primary peer h-5 w-5 shrink-0 rounded-[2px] border-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:border-none",
|
|
55
|
-
className
|
|
56
|
-
),
|
|
57
|
-
onCheckedChange: handleCheckedChange,
|
|
58
|
-
...props,
|
|
59
|
-
children: /* @__PURE__ */ jsx(
|
|
60
|
-
CheckboxPrimitive.Indicator,
|
|
61
|
-
{
|
|
62
|
-
className: cn("flex items-center justify-center text-current"),
|
|
63
|
-
children: indicator
|
|
64
|
-
}
|
|
65
|
-
)
|
|
66
|
-
}
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
);
|
|
70
|
-
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
71
|
-
|
|
72
|
-
export { Checkbox };
|
|
73
|
-
//# sourceMappingURL=checkbox.mjs.map
|
|
74
|
-
//# sourceMappingURL=checkbox.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/checkbox.tsx"],"names":[],"mappings":";;;;;;;;AAuBA,MAAM,gBAAA,mBAAmB,GAAA,CAAC,mBAAA,EAAA,EAAoB,SAAA,EAAU,kBAAA,EAAmB,CAAA;AAE3E,MAAM,WAAW,KAAA,CAAM,UAAA;AAAA,EACrB,CACE;AAAA,IACE,SAAA;AAAA,IACA,SAAA,GAAY,gBAAA;AAAA,IACZ,YAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA,iBAAA;AAAA,IACA,eAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,EAAE,SAAA,EAAU,GAAI,kBAAA,EAAmB;AAEzC,IAAA,MAAM,sBAAsB,KAAA,CAAM,WAAA;AAAA,MAChC,CAAC,OAAA,KAAuC;AAEtC,QAAA,eAAA,GAAkB,OAAO,CAAA;AAGzB,QAAA,IAAI,SAAA,IAAa,CAAC,iBAAA,KAAsB,YAAA,IAAgB,cAAc,QAAA,CAAA,EAAW;AAC/E,UAAA,MAAM,kBAAA,GAAqB;AAAA,YACzB,GAAG,YAAA;AAAA,YACH,WAAA,EAAa,UAAA;AAAA,YACb,MAAA,EAAQ,OAAA,KAAY,IAAA,GAAO,UAAA,GAAa,YAAA;AAAA,YACxC,OAAO,KAAA,CAAM;AAAA,WACf;AAEA,UAAA,MAAM,SAAA,GAAiC,EAAE,GAAG,kBAAA,EAAmB;AAC/D,UAAA,IAAI,aAAA,KAAkB,MAAA,IAAa,aAAA,KAAkB,IAAA,EAAM;AACzD,YAAA,SAAA,CAAU,KAAA,GAAQ,aAAA;AAAA,UACpB;AAEA,UAAA,SAAA,CAAU,gBAAgB,CAAA,MAAA,EAAS,YAAA,EAAc,QAAQ,CAAA,CAAA,EAAI,aAAA,CAAc,OAAO,SAAS,CAAA;AAAA,QAC7F;AAAA,MACF,CAAA;AAAA,MACA;AAAA,QACE,eAAA;AAAA,QACA,SAAA;AAAA,QACA,iBAAA;AAAA,QACA,YAAA;AAAA,QACA,YAAA;AAAA,QACA,aAAA;AAAA,QACA,KAAA,CAAM;AAAA;AACR,KACF;AAEA,IAAA,uBACE,GAAA;AAAA,MAAC,iBAAA,CAAkB,IAAA;AAAA,MAAlB;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,iTAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,eAAA,EAAiB,mBAAA;AAAA,QAChB,GAAG,KAAA;AAAA,QAEJ,QAAA,kBAAA,GAAA;AAAA,UAAC,iBAAA,CAAkB,SAAA;AAAA,UAAlB;AAAA,YACC,SAAA,EAAW,GAAG,+CAA+C,CAAA;AAAA,YAE5D,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,KACF;AAAA,EAEJ;AACF;AACA,QAAA,CAAS,WAAA,GAAc,kBAAkB,IAAA,CAAK,WAAA","file":"checkbox.mjs","sourcesContent":["'use client';\nimport { CheckOutlinedIcon16 } from '@/icons';\nimport { cn } from '@/lib/utils';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport * as React from 'react';\nimport { useUISystemContext } from '@/providers/UISystemProvider';\nimport { TRACKING_TYPE, TrackingPropsType } from '@/lib/types';\n\ninterface TrackingData {\n [key: string]: any;\n identity?: string;\n object_type?: 'checkbox';\n object_name?: string; // Tên label hiển thị trên UI của Selection\n status?: 'selected' | 'unselected'; // Nếu user chọn --> value là \"selected\" - Nếu user bỏ chọn --> value là \"unselected\"\n value?: string; // Tên value hiển thị trên UI mà user chọn\n}\n\ninterface Props\n extends React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>, TrackingPropsType {\n indicator?: React.ReactNode;\n trackingData?: TrackingData;\n}\n\nconst defaultIndicator = <CheckOutlinedIcon16 className=\"ic-white h-4 w-4\" />;\n\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, Props>(\n (\n {\n className,\n indicator = defaultIndicator,\n trackingName,\n trackingData,\n trackingIndex,\n blockSendTracking,\n onCheckedChange,\n ...props\n },\n ref,\n ) => {\n const { sendTrack } = useUISystemContext();\n\n const handleCheckedChange = React.useCallback(\n (checked: boolean | 'indeterminate') => {\n // Call original handler\n onCheckedChange?.(checked);\n\n // Send tracking\n if (sendTrack && !blockSendTracking && (trackingName || trackingData?.identity)) {\n const mergedTrackingData = {\n ...trackingData,\n object_type: \"checkbox\",\n status: checked === true ? 'selected' : 'unselected',\n value: props.value,\n };\n\n const otherData: Record<string, any> = { ...mergedTrackingData };\n if (trackingIndex !== undefined && trackingIndex !== null) {\n otherData.index = trackingIndex;\n }\n\n sendTrack(trackingName || `input_${trackingData?.identity}`, TRACKING_TYPE.click, otherData);\n }\n },\n [\n onCheckedChange,\n sendTrack,\n blockSendTracking,\n trackingName,\n trackingData,\n trackingIndex,\n props.value,\n ],\n );\n\n return (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'border-input data-[state=checked]:text-primary-foreground disabled:bg-muted disabled:data-[state=checked]:bg-muted data-[state=checked]:border-primary data-[state=checked]:bg-primary peer h-5 w-5 shrink-0 rounded-[2px] border-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:border-none',\n className,\n )}\n onCheckedChange={handleCheckedChange}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn('flex items-center justify-center text-current')}\n >\n {indicator}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n },\n);\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n"]}
|
package/dist/components/chip.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var interactive = require('@/common/interactive');
|
|
5
|
-
var utils = require('@/lib/utils');
|
|
6
|
-
var classVarianceAuthority = require('class-variance-authority');
|
|
7
|
-
var React = require('react');
|
|
8
|
-
|
|
9
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
|
|
11
|
-
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
12
|
-
|
|
13
|
-
const chipVariants = classVarianceAuthority.cva(
|
|
14
|
-
"width-max flex font-medium transition-all duration-300 ease-in-out focus-within:outline-none cursor-pointer items-center border",
|
|
15
|
-
{
|
|
16
|
-
variants: {
|
|
17
|
-
size: {
|
|
18
|
-
sm: "py-1.5 px-3 h-10 text-t16 rounded-full gap-1.5",
|
|
19
|
-
default: "py-2 px-4 h-12 text-t16 rounded-full gap-2",
|
|
20
|
-
lg: "py-3 px-4 h-14 text-t16 rounded-full gap-2",
|
|
21
|
-
circle: "w-12 h-12 text-t16 rounded-full justify-center"
|
|
22
|
-
},
|
|
23
|
-
status: {
|
|
24
|
-
default: "border-border bg-background text-foreground hover:bg-accent hover:text-accent-foreground",
|
|
25
|
-
active: "border-primary bg-primary/10 text-primary hover:bg-primary/20",
|
|
26
|
-
destructive: "border-destructive bg-destructive/10 text-destructive hover:bg-destructive/20",
|
|
27
|
-
disable: "border-border bg-muted text-muted-foreground cursor-not-allowed opacity-60"
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
defaultVariants: {
|
|
31
|
-
size: "default",
|
|
32
|
-
status: "default"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
);
|
|
36
|
-
const Chip = React__default.default.forwardRef((inProps, ref) => {
|
|
37
|
-
const {
|
|
38
|
-
tag,
|
|
39
|
-
size,
|
|
40
|
-
status,
|
|
41
|
-
className,
|
|
42
|
-
leftIcon,
|
|
43
|
-
rightIcon,
|
|
44
|
-
badgeComponent,
|
|
45
|
-
trackingName,
|
|
46
|
-
trackingData,
|
|
47
|
-
trackingIndex,
|
|
48
|
-
blockSendTracking,
|
|
49
|
-
as = "button",
|
|
50
|
-
...rest
|
|
51
|
-
} = inProps;
|
|
52
|
-
const enhancedTrackingData = React__default.default.useMemo(() => {
|
|
53
|
-
const data = { ...trackingData };
|
|
54
|
-
if (!data.object_name && typeof tag === "string") {
|
|
55
|
-
data.object_name = tag;
|
|
56
|
-
}
|
|
57
|
-
return data;
|
|
58
|
-
}, [trackingData, tag]);
|
|
59
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
60
|
-
interactive.Pressable,
|
|
61
|
-
{
|
|
62
|
-
as,
|
|
63
|
-
trackingName: trackingName || `input_${trackingData?.identity}`,
|
|
64
|
-
trackingData: enhancedTrackingData,
|
|
65
|
-
trackingIndex,
|
|
66
|
-
blockSendTracking,
|
|
67
|
-
"data-status-buttonchip": status,
|
|
68
|
-
className: utils.cn(chipVariants({ size, status }), className),
|
|
69
|
-
ref,
|
|
70
|
-
"aria-labelledby": "chip",
|
|
71
|
-
"data-status": status,
|
|
72
|
-
"data-disabled": status === "disable" ? "true" : void 0,
|
|
73
|
-
disabled: status === "disable",
|
|
74
|
-
...rest,
|
|
75
|
-
children: [
|
|
76
|
-
leftIcon,
|
|
77
|
-
tag,
|
|
78
|
-
rightIcon,
|
|
79
|
-
badgeComponent
|
|
80
|
-
]
|
|
81
|
-
}
|
|
82
|
-
);
|
|
83
|
-
});
|
|
84
|
-
Chip.displayName = "Chip";
|
|
85
|
-
|
|
86
|
-
exports.Chip = Chip;
|
|
87
|
-
//# sourceMappingURL=chip.js.map
|
|
88
|
-
//# sourceMappingURL=chip.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/chip.tsx"],"names":["cva","React","jsxs","Pressable","cn"],"mappings":";;;;;;;;;;;;AAMA,MAAM,YAAA,GAAeA,0BAAA;AAAA,EACnB,iIAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,gDAAA;AAAA,QACJ,OAAA,EAAS,4CAAA;AAAA,QACT,EAAA,EAAI,4CAAA;AAAA,QACJ,MAAA,EAAQ;AAAA,OACV;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,OAAA,EACE,0FAAA;AAAA,QACF,MAAA,EAAQ,+DAAA;AAAA,QACR,WAAA,EACE,+EAAA;AAAA,QACF,OAAA,EAAS;AAAA;AACX,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM,SAAA;AAAA,MACN,MAAA,EAAQ;AAAA;AACV;AAEJ,CAAA;AAuBA,MAAM,IAAA,GAAOC,sBAAA,CAAM,UAAA,CAAkC,CAAC,SAAS,GAAA,KAAQ;AACrE,EAAA,MAAM;AAAA,IACJ,GAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,cAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA,iBAAA;AAAA,IACA,EAAA,GAAK,QAAA;AAAA,IACL,GAAG;AAAA,GACL,GAAI,OAAA;AAGJ,EAAA,MAAM,oBAAA,GAAuBA,sBAAA,CAAM,OAAA,CAAQ,MAAM;AAC/C,IAAA,MAAM,IAAA,GAAO,EAAE,GAAG,YAAA,EAAa;AAG/B,IAAA,IAAI,CAAC,IAAA,CAAK,WAAA,IAAe,OAAO,QAAQ,QAAA,EAAU;AAChD,MAAA,IAAA,CAAK,WAAA,GAAc,GAAA;AAAA,IACrB;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,EAAG,CAAC,YAAA,EAAc,GAAG,CAAC,CAAA;AAEtB,EAAA,uBACEC,eAAA;AAAA,IAACC,qBAAA;AAAA,IAAA;AAAA,MACC,EAAA;AAAA,MACA,YAAA,EAAc,YAAA,IAAgB,CAAA,MAAA,EAAS,YAAA,EAAc,QAAQ,CAAA,CAAA;AAAA,MAC7D,YAAA,EAAc,oBAAA;AAAA,MACd,aAAA;AAAA,MACA,iBAAA;AAAA,MACA,wBAAA,EAAwB,MAAA;AAAA,MACxB,SAAA,EAAWC,SAAG,YAAA,CAAa,EAAE,MAAM,MAAA,EAAQ,GAAG,SAAS,CAAA;AAAA,MACvD,GAAA;AAAA,MACA,iBAAA,EAAgB,MAAA;AAAA,MAChB,aAAA,EAAa,MAAA;AAAA,MACb,eAAA,EAAe,MAAA,KAAW,SAAA,GAAY,MAAA,GAAS,MAAA;AAAA,MAC/C,UAAU,MAAA,KAAW,SAAA;AAAA,MACpB,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,GAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA;AAAA;AAAA,GACH;AAEJ,CAAC;AAED,IAAA,CAAK,WAAA,GAAc,MAAA","file":"chip.js","sourcesContent":["import { Pressable } from '@/common/interactive';\nimport { TrackingPropsType } from '@/lib/types';\nimport { cn } from '@/lib/utils';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport React from 'react';\n\nconst chipVariants = cva(\n 'width-max flex font-medium transition-all duration-300 ease-in-out focus-within:outline-none cursor-pointer items-center border',\n {\n variants: {\n size: {\n sm: 'py-1.5 px-3 h-10 text-t16 rounded-full gap-1.5',\n default: 'py-2 px-4 h-12 text-t16 rounded-full gap-2',\n lg: 'py-3 px-4 h-14 text-t16 rounded-full gap-2',\n circle: 'w-12 h-12 text-t16 rounded-full justify-center',\n },\n status: {\n default:\n 'border-border bg-background text-foreground hover:bg-accent hover:text-accent-foreground',\n active: 'border-primary bg-primary/10 text-primary hover:bg-primary/20',\n destructive:\n 'border-destructive bg-destructive/10 text-destructive hover:bg-destructive/20',\n disable: 'border-border bg-muted text-muted-foreground cursor-not-allowed opacity-60',\n },\n },\n defaultVariants: {\n size: 'default',\n status: 'default',\n },\n },\n);\n\ninterface TrackingData {\n [key: string]: any;\n identity?: string;\n object_type?: 'chip';\n object_name?: string; // Tên label hiển thị trên UI của Selection\n status?: 'selected' | 'unselected'; // Nếu user chọn --> value là \"selected\" - Nếu user bỏ chọn --> value là \"unselected\"\n value?: string; // Tên value hiển thị trên UI mà user chọn\n}\n\nexport type Props = JSX.IntrinsicElements['button'] &\n VariantProps<typeof chipVariants> &\n TrackingPropsType & {\n className?: string;\n tag: React.ReactNode;\n leftIcon?: React.ReactNode;\n rightIcon?: React.ReactNode;\n badgeComponent?: React.ReactNode;\n as?: string;\n trackingData?: TrackingData;\n };\n\nconst Chip = React.forwardRef<HTMLDivElement, Props>((inProps, ref) => {\n const {\n tag,\n size,\n status,\n className,\n leftIcon,\n rightIcon,\n badgeComponent,\n trackingName,\n trackingData,\n trackingIndex,\n blockSendTracking,\n as = 'button',\n ...rest\n } = inProps;\n\n // Auto-enhance tracking data with object_name from tag\n const enhancedTrackingData = React.useMemo(() => {\n const data = { ...trackingData };\n\n // Auto-extract object_name from tag if not provided\n if (!data.object_name && typeof tag === 'string') {\n data.object_name = tag;\n }\n\n return data;\n }, [trackingData, tag]);\n\n return (\n <Pressable\n as={as}\n trackingName={trackingName || `input_${trackingData?.identity}`}\n trackingData={enhancedTrackingData}\n trackingIndex={trackingIndex}\n blockSendTracking={blockSendTracking}\n data-status-buttonchip={status}\n className={cn(chipVariants({ size, status }), className)}\n ref={ref as any}\n aria-labelledby=\"chip\"\n data-status={status}\n data-disabled={status === 'disable' ? 'true' : undefined}\n disabled={status === 'disable'}\n {...rest}\n >\n {leftIcon}\n {tag}\n {rightIcon}\n {badgeComponent}\n </Pressable>\n );\n});\n\nChip.displayName = 'Chip';\n\n// Export types for external use\nexport type ChipVariants = VariantProps<typeof chipVariants>;\nexport type ChipSize = NonNullable<ChipVariants['size']>;\nexport type ChipStatus = NonNullable<ChipVariants['status']>;\n\nexport { Chip };\n"]}
|
package/dist/components/chip.mjs
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { Pressable } from '@/common/interactive';
|
|
3
|
-
import { cn } from '@/lib/utils';
|
|
4
|
-
import { cva } from 'class-variance-authority';
|
|
5
|
-
import React from 'react';
|
|
6
|
-
|
|
7
|
-
const chipVariants = cva(
|
|
8
|
-
"width-max flex font-medium transition-all duration-300 ease-in-out focus-within:outline-none cursor-pointer items-center border",
|
|
9
|
-
{
|
|
10
|
-
variants: {
|
|
11
|
-
size: {
|
|
12
|
-
sm: "py-1.5 px-3 h-10 text-t16 rounded-full gap-1.5",
|
|
13
|
-
default: "py-2 px-4 h-12 text-t16 rounded-full gap-2",
|
|
14
|
-
lg: "py-3 px-4 h-14 text-t16 rounded-full gap-2",
|
|
15
|
-
circle: "w-12 h-12 text-t16 rounded-full justify-center"
|
|
16
|
-
},
|
|
17
|
-
status: {
|
|
18
|
-
default: "border-border bg-background text-foreground hover:bg-accent hover:text-accent-foreground",
|
|
19
|
-
active: "border-primary bg-primary/10 text-primary hover:bg-primary/20",
|
|
20
|
-
destructive: "border-destructive bg-destructive/10 text-destructive hover:bg-destructive/20",
|
|
21
|
-
disable: "border-border bg-muted text-muted-foreground cursor-not-allowed opacity-60"
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
defaultVariants: {
|
|
25
|
-
size: "default",
|
|
26
|
-
status: "default"
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
);
|
|
30
|
-
const Chip = React.forwardRef((inProps, ref) => {
|
|
31
|
-
const {
|
|
32
|
-
tag,
|
|
33
|
-
size,
|
|
34
|
-
status,
|
|
35
|
-
className,
|
|
36
|
-
leftIcon,
|
|
37
|
-
rightIcon,
|
|
38
|
-
badgeComponent,
|
|
39
|
-
trackingName,
|
|
40
|
-
trackingData,
|
|
41
|
-
trackingIndex,
|
|
42
|
-
blockSendTracking,
|
|
43
|
-
as = "button",
|
|
44
|
-
...rest
|
|
45
|
-
} = inProps;
|
|
46
|
-
const enhancedTrackingData = React.useMemo(() => {
|
|
47
|
-
const data = { ...trackingData };
|
|
48
|
-
if (!data.object_name && typeof tag === "string") {
|
|
49
|
-
data.object_name = tag;
|
|
50
|
-
}
|
|
51
|
-
return data;
|
|
52
|
-
}, [trackingData, tag]);
|
|
53
|
-
return /* @__PURE__ */ jsxs(
|
|
54
|
-
Pressable,
|
|
55
|
-
{
|
|
56
|
-
as,
|
|
57
|
-
trackingName: trackingName || `input_${trackingData?.identity}`,
|
|
58
|
-
trackingData: enhancedTrackingData,
|
|
59
|
-
trackingIndex,
|
|
60
|
-
blockSendTracking,
|
|
61
|
-
"data-status-buttonchip": status,
|
|
62
|
-
className: cn(chipVariants({ size, status }), className),
|
|
63
|
-
ref,
|
|
64
|
-
"aria-labelledby": "chip",
|
|
65
|
-
"data-status": status,
|
|
66
|
-
"data-disabled": status === "disable" ? "true" : void 0,
|
|
67
|
-
disabled: status === "disable",
|
|
68
|
-
...rest,
|
|
69
|
-
children: [
|
|
70
|
-
leftIcon,
|
|
71
|
-
tag,
|
|
72
|
-
rightIcon,
|
|
73
|
-
badgeComponent
|
|
74
|
-
]
|
|
75
|
-
}
|
|
76
|
-
);
|
|
77
|
-
});
|
|
78
|
-
Chip.displayName = "Chip";
|
|
79
|
-
|
|
80
|
-
export { Chip };
|
|
81
|
-
//# sourceMappingURL=chip.mjs.map
|
|
82
|
-
//# sourceMappingURL=chip.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/chip.tsx"],"names":[],"mappings":";;;;;;AAMA,MAAM,YAAA,GAAe,GAAA;AAAA,EACnB,iIAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,gDAAA;AAAA,QACJ,OAAA,EAAS,4CAAA;AAAA,QACT,EAAA,EAAI,4CAAA;AAAA,QACJ,MAAA,EAAQ;AAAA,OACV;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,OAAA,EACE,0FAAA;AAAA,QACF,MAAA,EAAQ,+DAAA;AAAA,QACR,WAAA,EACE,+EAAA;AAAA,QACF,OAAA,EAAS;AAAA;AACX,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM,SAAA;AAAA,MACN,MAAA,EAAQ;AAAA;AACV;AAEJ,CAAA;AAuBA,MAAM,IAAA,GAAO,KAAA,CAAM,UAAA,CAAkC,CAAC,SAAS,GAAA,KAAQ;AACrE,EAAA,MAAM;AAAA,IACJ,GAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,cAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA,iBAAA;AAAA,IACA,EAAA,GAAK,QAAA;AAAA,IACL,GAAG;AAAA,GACL,GAAI,OAAA;AAGJ,EAAA,MAAM,oBAAA,GAAuB,KAAA,CAAM,OAAA,CAAQ,MAAM;AAC/C,IAAA,MAAM,IAAA,GAAO,EAAE,GAAG,YAAA,EAAa;AAG/B,IAAA,IAAI,CAAC,IAAA,CAAK,WAAA,IAAe,OAAO,QAAQ,QAAA,EAAU;AAChD,MAAA,IAAA,CAAK,WAAA,GAAc,GAAA;AAAA,IACrB;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,EAAG,CAAC,YAAA,EAAc,GAAG,CAAC,CAAA;AAEtB,EAAA,uBACE,IAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,EAAA;AAAA,MACA,YAAA,EAAc,YAAA,IAAgB,CAAA,MAAA,EAAS,YAAA,EAAc,QAAQ,CAAA,CAAA;AAAA,MAC7D,YAAA,EAAc,oBAAA;AAAA,MACd,aAAA;AAAA,MACA,iBAAA;AAAA,MACA,wBAAA,EAAwB,MAAA;AAAA,MACxB,SAAA,EAAW,GAAG,YAAA,CAAa,EAAE,MAAM,MAAA,EAAQ,GAAG,SAAS,CAAA;AAAA,MACvD,GAAA;AAAA,MACA,iBAAA,EAAgB,MAAA;AAAA,MAChB,aAAA,EAAa,MAAA;AAAA,MACb,eAAA,EAAe,MAAA,KAAW,SAAA,GAAY,MAAA,GAAS,MAAA;AAAA,MAC/C,UAAU,MAAA,KAAW,SAAA;AAAA,MACpB,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,GAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA;AAAA;AAAA,GACH;AAEJ,CAAC;AAED,IAAA,CAAK,WAAA,GAAc,MAAA","file":"chip.mjs","sourcesContent":["import { Pressable } from '@/common/interactive';\nimport { TrackingPropsType } from '@/lib/types';\nimport { cn } from '@/lib/utils';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport React from 'react';\n\nconst chipVariants = cva(\n 'width-max flex font-medium transition-all duration-300 ease-in-out focus-within:outline-none cursor-pointer items-center border',\n {\n variants: {\n size: {\n sm: 'py-1.5 px-3 h-10 text-t16 rounded-full gap-1.5',\n default: 'py-2 px-4 h-12 text-t16 rounded-full gap-2',\n lg: 'py-3 px-4 h-14 text-t16 rounded-full gap-2',\n circle: 'w-12 h-12 text-t16 rounded-full justify-center',\n },\n status: {\n default:\n 'border-border bg-background text-foreground hover:bg-accent hover:text-accent-foreground',\n active: 'border-primary bg-primary/10 text-primary hover:bg-primary/20',\n destructive:\n 'border-destructive bg-destructive/10 text-destructive hover:bg-destructive/20',\n disable: 'border-border bg-muted text-muted-foreground cursor-not-allowed opacity-60',\n },\n },\n defaultVariants: {\n size: 'default',\n status: 'default',\n },\n },\n);\n\ninterface TrackingData {\n [key: string]: any;\n identity?: string;\n object_type?: 'chip';\n object_name?: string; // Tên label hiển thị trên UI của Selection\n status?: 'selected' | 'unselected'; // Nếu user chọn --> value là \"selected\" - Nếu user bỏ chọn --> value là \"unselected\"\n value?: string; // Tên value hiển thị trên UI mà user chọn\n}\n\nexport type Props = JSX.IntrinsicElements['button'] &\n VariantProps<typeof chipVariants> &\n TrackingPropsType & {\n className?: string;\n tag: React.ReactNode;\n leftIcon?: React.ReactNode;\n rightIcon?: React.ReactNode;\n badgeComponent?: React.ReactNode;\n as?: string;\n trackingData?: TrackingData;\n };\n\nconst Chip = React.forwardRef<HTMLDivElement, Props>((inProps, ref) => {\n const {\n tag,\n size,\n status,\n className,\n leftIcon,\n rightIcon,\n badgeComponent,\n trackingName,\n trackingData,\n trackingIndex,\n blockSendTracking,\n as = 'button',\n ...rest\n } = inProps;\n\n // Auto-enhance tracking data with object_name from tag\n const enhancedTrackingData = React.useMemo(() => {\n const data = { ...trackingData };\n\n // Auto-extract object_name from tag if not provided\n if (!data.object_name && typeof tag === 'string') {\n data.object_name = tag;\n }\n\n return data;\n }, [trackingData, tag]);\n\n return (\n <Pressable\n as={as}\n trackingName={trackingName || `input_${trackingData?.identity}`}\n trackingData={enhancedTrackingData}\n trackingIndex={trackingIndex}\n blockSendTracking={blockSendTracking}\n data-status-buttonchip={status}\n className={cn(chipVariants({ size, status }), className)}\n ref={ref as any}\n aria-labelledby=\"chip\"\n data-status={status}\n data-disabled={status === 'disable' ? 'true' : undefined}\n disabled={status === 'disable'}\n {...rest}\n >\n {leftIcon}\n {tag}\n {rightIcon}\n {badgeComponent}\n </Pressable>\n );\n});\n\nChip.displayName = 'Chip';\n\n// Export types for external use\nexport type ChipVariants = VariantProps<typeof chipVariants>;\nexport type ChipSize = NonNullable<ChipVariants['size']>;\nexport type ChipStatus = NonNullable<ChipVariants['status']>;\n\nexport { Chip };\n"]}
|