@vritti/quantum-ui 0.3.12 → 0.3.15
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/ActivePoints.js.map +1 -1
- package/dist/ActiveShapeUtils.js.map +1 -1
- package/dist/Alert.js +1 -1
- package/dist/Alert.js.map +1 -1
- package/dist/AreaChart.js.map +1 -1
- package/dist/Avatar.js +1 -1
- package/dist/Avatar.js.map +1 -1
- package/dist/Badge2.js +2 -2
- package/dist/BarChart.js.map +1 -1
- package/dist/BillingCycleSelector.js +37 -0
- package/dist/BillingCycleSelector.js.map +1 -0
- package/dist/Breadcrumb.js +1 -1
- package/dist/Breadcrumb.js.map +1 -1
- package/dist/Button.js +1 -1
- package/dist/Button.js.map +1 -1
- package/dist/Button2.js +2 -2
- package/dist/CardSkeleton.js.map +1 -1
- package/dist/CartesianChart.js.map +1 -1
- package/dist/CategoryFilter.js +6 -4
- package/dist/CategoryFilter.js.map +1 -1
- package/dist/Chart.js +53 -55
- package/dist/Chart.js.map +1 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/Checkbox2.js +4 -4
- package/dist/CheckboxGroup.js.map +1 -1
- package/dist/Collapsible.js.map +1 -1
- package/dist/Combination.js +1129 -0
- package/dist/Combination.js.map +1 -0
- package/dist/CompanySelector.js +20 -0
- package/dist/CompanySelector.js.map +1 -0
- package/dist/ConfirmHost.js.map +1 -1
- package/dist/CopyField.js +71 -0
- package/dist/CopyField.js.map +1 -0
- package/dist/CountrySelector.js +37 -0
- package/dist/CountrySelector.js.map +1 -0
- package/dist/CurrencyField.js +1 -0
- package/dist/CurrencyField.js.map +1 -1
- package/dist/CustomerSelector.js +2 -2
- package/dist/CustomerSelector.js.map +1 -1
- package/dist/DangerZoneSkeleton.js +21 -3
- package/dist/DangerZoneSkeleton.js.map +1 -1
- package/dist/DatePicker.js +3 -3
- package/dist/DatePicker.js.map +1 -1
- package/dist/DateTimePicker.js +2 -2
- package/dist/DetailSectionSkeleton.js.map +1 -1
- package/dist/Dialog.js.map +1 -1
- package/dist/DropdownMenu.js.map +1 -1
- package/dist/ErrorBarContext.js.map +1 -1
- package/dist/FeaturePermissionSelector.js +37 -0
- package/dist/FeaturePermissionSelector.js.map +1 -0
- package/dist/Form.js.map +1 -1
- package/dist/FormSection.js +4 -4
- package/dist/FormSection.js.map +1 -1
- package/dist/HierarchyGraph.js +5 -10621
- package/dist/HierarchyGraph.js.map +1 -1
- package/dist/ISOCountrySelect.js +283 -0
- package/dist/ISOCountrySelect.js.map +1 -0
- package/dist/IconSelect.js +3 -2
- package/dist/IconSelect.js.map +1 -1
- package/dist/InventoryItemSelector.js +2 -2
- package/dist/InventoryItemSelector.js.map +1 -1
- package/dist/Kbd.js +1 -1
- package/dist/Kbd.js.map +1 -1
- package/dist/Label.js +1 -1
- package/dist/LayoutModeContext.js.map +1 -1
- package/dist/LegalEntitySelector.js +37 -0
- package/dist/LegalEntitySelector.js.map +1 -0
- package/dist/LineChart.js.map +1 -1
- package/dist/LocationSelector.js +2 -2
- package/dist/LocationSelector.js.map +1 -1
- package/dist/LotSelector.js +2 -2
- package/dist/LotSelector.js.map +1 -1
- package/dist/OTPField.js.map +1 -1
- package/dist/PageContent.js.map +1 -1
- package/dist/PageHeaderSkeleton.js +21 -10
- package/dist/PageHeaderSkeleton.js.map +1 -1
- package/dist/PasswordField.js.map +1 -1
- package/dist/PermissionGate.js +49 -5
- package/dist/PermissionGate.js.map +1 -1
- package/dist/PersonSelector.js +20 -0
- package/dist/PersonSelector.js.map +1 -0
- package/dist/PhoneField.js.map +1 -1
- package/dist/PieChart.js.map +1 -1
- package/dist/PolarChart.js.map +1 -1
- package/dist/PurchaseOrderSelector.js +2 -2
- package/dist/PurchaseOrderSelector.js.map +1 -1
- package/dist/QuantSelector.js +2 -2
- package/dist/QuantSelector.js.map +1 -1
- package/dist/RadarChart.js.map +1 -1
- package/dist/RadialChart.js.map +1 -1
- package/dist/RadioGroup.js +6 -6
- package/dist/RadioGroup.js.map +1 -1
- package/dist/RoleSelector.js +20 -0
- package/dist/RoleSelector.js.map +1 -0
- package/dist/Select.js +4 -1
- package/dist/Select.js.map +1 -1
- package/dist/SelectFilter.js.map +1 -1
- package/dist/Separator.js.map +1 -1
- package/dist/SerialSelector.js +2 -2
- package/dist/SerialSelector.js.map +1 -1
- package/dist/Sidebar.js +2 -2
- package/dist/Sidebar.js.map +1 -1
- package/dist/SingleSelect.js +2 -2
- package/dist/SingleSelect.js.map +1 -1
- package/dist/SiteGroupSelector.js +37 -0
- package/dist/SiteGroupSelector.js.map +1 -0
- package/dist/SiteSelector.js +37 -0
- package/dist/SiteSelector.js.map +1 -0
- package/dist/Sonner.js +1 -1
- package/dist/Sonner.js.map +1 -1
- package/dist/Sortable.js +4 -4417
- package/dist/Sortable.js.map +1 -1
- package/dist/StepProgressIndicator.js.map +1 -1
- package/dist/SupplierItemSelector.js +2 -2
- package/dist/SupplierItemSelector.js.map +1 -1
- package/dist/SupplierSelector.js +2 -2
- package/dist/SupplierSelector.js.map +1 -1
- package/dist/Switch.js +3 -3
- package/dist/Switch.js.map +1 -1
- package/dist/TabsSkeleton.js +101 -49
- package/dist/TabsSkeleton.js.map +1 -1
- package/dist/TaxClassSelector.js +20 -0
- package/dist/TaxClassSelector.js.map +1 -0
- package/dist/TextField.js.map +1 -1
- package/dist/ThemeContext.js.map +1 -1
- package/dist/ThemeToggle.js.map +1 -1
- package/dist/Toggle.js +1 -1
- package/dist/Toggle.js.map +1 -1
- package/dist/Tooltip.js.map +1 -1
- package/dist/Typography.js.map +1 -1
- package/dist/UomSelector.js +2 -2
- package/dist/UomSelector.js.map +1 -1
- package/dist/UploadFile.js.map +1 -1
- package/dist/assets/quantum-ui.css +44 -13
- package/dist/calendar2.js +1 -1
- package/dist/collapsible2.js +1 -1
- package/dist/components/CompanySelector.js +2 -0
- package/dist/components/CompanySelector.js.map +1 -0
- package/dist/components/CopyField.js +2 -0
- package/dist/components/CopyField.js.map +1 -0
- package/dist/components/FormattedDate.js +2 -2
- package/dist/components/HierarchyGraph.js +2 -1
- package/dist/components/HierarchyGraph.js.map +1 -1
- package/dist/components/PermissionGate.js +1 -1
- package/dist/components/PersonSelector.js +2 -0
- package/dist/components/PersonSelector.js.map +1 -0
- package/dist/components/ScanBarcodeButton.js.map +1 -1
- package/dist/components/TreeView.js +7 -7
- package/dist/components/TreeView.js.map +1 -1
- package/dist/copy.js +18 -0
- package/dist/copy.js.map +1 -0
- package/dist/core.esm.js +4025 -0
- package/dist/core.esm.js.map +1 -0
- package/dist/dropdown-menu.js +10 -10
- package/dist/field.js +1 -1
- package/dist/getClassNameFromUnknown.js.map +1 -1
- package/dist/getRadiusAndStrokeWidthFromDot.js.map +1 -1
- package/dist/getZIndexFromUnknown.js.map +1 -1
- package/dist/graphicalItemSelectors.js.map +1 -1
- package/dist/image-component.js.map +1 -1
- package/dist/index.js +16 -3
- package/dist/index.js.map +1 -1
- package/dist/index10.js +102 -1499
- package/dist/index10.js.map +1 -1
- package/dist/index11.js +1499 -37
- package/dist/index11.js.map +1 -1
- package/dist/index12.js +29 -477
- package/dist/index12.js.map +1 -1
- package/dist/index13.js +427 -231
- package/dist/index13.js.map +1 -1
- package/dist/index14.js +215 -1074
- package/dist/index14.js.map +1 -1
- package/dist/index15.js +1140 -14
- package/dist/index15.js.map +1 -1
- package/dist/index16.js +13 -19
- package/dist/index16.js.map +1 -1
- package/dist/index17.js +24 -172
- package/dist/index17.js.map +1 -1
- package/dist/index18.js +168 -175
- package/dist/index18.js.map +1 -1
- package/dist/index19.js +173 -201
- package/dist/index19.js.map +1 -1
- package/dist/index20.js +203 -69
- package/dist/index20.js.map +1 -1
- package/dist/index21.js +70 -211
- package/dist/index21.js.map +1 -1
- package/dist/index22.js +207 -117
- package/dist/index22.js.map +1 -1
- package/dist/index23.js +123 -71
- package/dist/index23.js.map +1 -1
- package/dist/index24.js +74 -11
- package/dist/index24.js.map +1 -1
- package/dist/index25.js +13 -1134
- package/dist/index25.js.map +1 -1
- package/dist/index26.js +1120 -219
- package/dist/index26.js.map +1 -1
- package/dist/index27.js +202 -2506
- package/dist/index27.js.map +1 -1
- package/dist/index28.js +2527 -23
- package/dist/index28.js.map +1 -1
- package/dist/index29.js +32 -4
- package/dist/index29.js.map +1 -1
- package/dist/index3.js +11543 -267
- package/dist/index3.js.map +1 -1
- package/dist/index30.js +3 -1124
- package/dist/index30.js.map +1 -1
- package/dist/index31.js +1 -1
- package/dist/index32.js +7 -7
- package/dist/index34.js +1 -1
- package/dist/index37.js +1 -1
- package/dist/index38.js +23 -43
- package/dist/index38.js.map +1 -1
- package/dist/index4.js +272 -132
- package/dist/index4.js.map +1 -1
- package/dist/index5.js +138 -388
- package/dist/index5.js.map +1 -1
- package/dist/index6.js +386 -7
- package/dist/index6.js.map +1 -1
- package/dist/index7.js +13 -92
- package/dist/index7.js.map +1 -1
- package/dist/index8.js +92 -43
- package/dist/index8.js.map +1 -1
- package/dist/index9.js +42 -102
- package/dist/index9.js.map +1 -1
- package/dist/lib/components/Alert/Alert.d.ts.map +1 -1
- package/dist/lib/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/lib/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/lib/components/Button/Button.d.ts.map +1 -1
- package/dist/lib/components/Card/CardSkeleton.d.ts.map +1 -1
- package/dist/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/lib/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
- package/dist/lib/components/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/lib/components/CompanySelector/CompanySelector.d.ts +4 -0
- package/dist/lib/components/CompanySelector/CompanySelector.d.ts.map +1 -0
- package/dist/lib/components/CompanySelector/index.d.ts +2 -0
- package/dist/lib/components/CompanySelector/index.d.ts.map +1 -0
- package/dist/lib/components/ConfirmHost/ConfirmHost.d.ts.map +1 -1
- package/dist/lib/components/CopyField/CopyField.d.ts +10 -0
- package/dist/lib/components/CopyField/CopyField.d.ts.map +1 -0
- package/dist/lib/components/CopyField/index.d.ts +2 -0
- package/dist/lib/components/CopyField/index.d.ts.map +1 -0
- package/dist/lib/components/CurrencyField/CurrencyField.d.ts.map +1 -1
- package/dist/lib/components/DangerZone/DangerZone.d.ts +3 -1
- package/dist/lib/components/DangerZone/DangerZone.d.ts.map +1 -1
- package/dist/lib/components/DataTable/CompactTableSkeleton.d.ts.map +1 -1
- package/dist/lib/components/DataTable/DataTable.d.ts.map +1 -1
- package/dist/lib/components/DataTable/cells/cells.d.ts.map +1 -1
- package/dist/lib/components/DataTable/components/DataTableSelectionBar.d.ts.map +1 -1
- package/dist/lib/components/DataTable/components/RowActions.d.ts.map +1 -1
- package/dist/lib/components/DataTable/hooks/useDataTable.d.ts.map +1 -1
- package/dist/lib/components/DataTable/store/store.d.ts.map +1 -1
- package/dist/lib/components/DataTable/types.d.ts.map +1 -1
- package/dist/lib/components/DatePicker/DatePicker.d.ts +2 -2
- package/dist/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/lib/components/DetailField/DetailField.d.ts.map +1 -1
- package/dist/lib/components/DetailField/DetailHeader.d.ts.map +1 -1
- package/dist/lib/components/DetailField/DetailSectionSkeleton.d.ts.map +1 -1
- package/dist/lib/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/lib/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/lib/components/DropdownMenu/types.d.ts.map +1 -1
- package/dist/lib/components/Editor/editor-ui/color-picker.d.ts.map +1 -1
- package/dist/lib/components/Editor/editor-ui/image-component.d.ts.map +1 -1
- package/dist/lib/components/Editor/nodes/autocomplete-node.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/actions/max-length-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/embeds/auto-embed-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/embeds/youtube-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/emojis-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/floating-link-editor-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/floating-text-format-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/images-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/keywords-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/layout-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/list-max-indent-level-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/mentions-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/picker/component-picker-option.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/tab-focus-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/table-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/toolbar/clear-formatting-toolbar-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/typing-pref-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/shared/invariant.d.ts.map +1 -1
- package/dist/lib/components/Editor/shared/react-patches.d.ts.map +1 -1
- package/dist/lib/components/Editor/shared/react-test-utils.d.ts.map +1 -1
- package/dist/lib/components/Editor/shared/simple-diff-with-cursor.d.ts.map +1 -1
- package/dist/lib/components/Editor/shared/use-layout-effect.d.ts.map +1 -1
- package/dist/lib/components/Editor/transformers/markdown-table-transformer.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/collapsible.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/doc-serialization.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/emoji-list.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/get-dom-range-rect.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/get-selected-node.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/guard.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/set-floating-elem-position-for-link-editor.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/set-floating-elem-position.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/swipe.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/url.d.ts.map +1 -1
- package/dist/lib/components/Form/Form.d.ts.map +1 -1
- package/dist/lib/components/OTPField/OTPField.d.ts.map +1 -1
- package/dist/lib/components/PageContent/PageContent.d.ts.map +1 -1
- package/dist/lib/components/PageHeader/PageHeader.d.ts.map +1 -1
- package/dist/lib/components/PasswordField/PasswordField.d.ts.map +1 -1
- package/dist/lib/components/PermissionGate/PermissionGate.d.ts +15 -4
- package/dist/lib/components/PermissionGate/PermissionGate.d.ts.map +1 -1
- package/dist/lib/components/PermissionGate/index.d.ts +1 -1
- package/dist/lib/components/PermissionGate/index.d.ts.map +1 -1
- package/dist/lib/components/PersonSelector/PersonSelector.d.ts +4 -0
- package/dist/lib/components/PersonSelector/PersonSelector.d.ts.map +1 -0
- package/dist/lib/components/PersonSelector/index.d.ts +2 -0
- package/dist/lib/components/PersonSelector/index.d.ts.map +1 -0
- package/dist/lib/components/PhoneField/PhoneField.d.ts.map +1 -1
- package/dist/lib/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/lib/components/ScanBarcodeButton/ScanBarcodeButton.d.ts.map +1 -1
- package/dist/lib/components/Select/SelectFilter.d.ts.map +1 -1
- package/dist/lib/components/Select/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/lib/components/Select/components/MultiSelect/MultiSelectFilter.d.ts.map +1 -1
- package/dist/lib/components/Select/components/SingleSelect/SingleSelect.d.ts.map +1 -1
- package/dist/lib/components/Select/components/SingleSelect/SingleSelectFilter.d.ts.map +1 -1
- package/dist/lib/components/Select/hooks/useSelect.d.ts.map +1 -1
- package/dist/lib/components/Select/hooks/useSingleSelect.d.ts.map +1 -1
- package/dist/lib/components/Select/types.d.ts +1 -1
- package/dist/lib/components/Select/types.d.ts.map +1 -1
- package/dist/lib/components/Separator/Separator.d.ts.map +1 -1
- package/dist/lib/components/Sidebar/Sidebar.d.ts.map +1 -1
- package/dist/lib/components/Sonner/Sonner.d.ts.map +1 -1
- package/dist/lib/components/Sonner/toast.d.ts.map +1 -1
- package/dist/lib/components/StepProgressIndicator/StepProgressIndicator.d.ts.map +1 -1
- package/dist/lib/components/Switch/Switch.d.ts.map +1 -1
- package/dist/lib/components/Tabs/Tabs.d.ts +2 -0
- package/dist/lib/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/lib/components/Tabs/TabsSkeleton.d.ts.map +1 -1
- package/dist/lib/components/TextField/TextField.d.ts.map +1 -1
- package/dist/lib/components/ThemeToggle/ThemeToggle.d.ts.map +1 -1
- package/dist/lib/components/Toggle/Toggle.d.ts.map +1 -1
- package/dist/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/lib/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/lib/components/Typography/Typography.d.ts.map +1 -1
- package/dist/lib/components/UploadFile/UploadFile.d.ts.map +1 -1
- package/dist/lib/components/index.d.ts +3 -0
- package/dist/lib/components/index.d.ts.map +1 -1
- package/dist/lib/config/index.d.ts.map +1 -1
- package/dist/lib/context/LayoutModeContext.d.ts.map +1 -1
- package/dist/lib/context/ThemeContext.d.ts.map +1 -1
- package/dist/lib/hooks/useBUCurrency.d.ts.map +1 -1
- package/dist/lib/hooks/useBUTimezone.d.ts.map +1 -1
- package/dist/lib/hooks/useBarcodeScanner.d.ts.map +1 -1
- package/dist/lib/hooks/useFormatters.d.ts.map +1 -1
- package/dist/lib/hooks/useSSE.d.ts.map +1 -1
- package/dist/lib/hooks/useTheme.d.ts.map +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/selects/billing-cycle/BillingCycleFilter.d.ts +12 -0
- package/dist/lib/selects/billing-cycle/BillingCycleFilter.d.ts.map +1 -0
- package/dist/lib/selects/billing-cycle/BillingCycleSelector.d.ts +4 -0
- package/dist/lib/selects/billing-cycle/BillingCycleSelector.d.ts.map +1 -0
- package/dist/lib/selects/billing-cycle/index.d.ts +3 -0
- package/dist/lib/selects/billing-cycle/index.d.ts.map +1 -0
- package/dist/lib/selects/category/CategoryFilter.d.ts.map +1 -1
- package/dist/lib/selects/category/CategorySelector.d.ts.map +1 -1
- package/dist/lib/selects/cost-category/CostCategorySelector.d.ts.map +1 -1
- package/dist/lib/selects/country/CountryFilter.d.ts +12 -0
- package/dist/lib/selects/country/CountryFilter.d.ts.map +1 -0
- package/dist/lib/selects/country/CountrySelector.d.ts +4 -0
- package/dist/lib/selects/country/CountrySelector.d.ts.map +1 -0
- package/dist/lib/selects/country/index.d.ts +3 -0
- package/dist/lib/selects/country/index.d.ts.map +1 -0
- package/dist/lib/selects/feature-permission/FeaturePermissionFilter.d.ts +12 -0
- package/dist/lib/selects/feature-permission/FeaturePermissionFilter.d.ts.map +1 -0
- package/dist/lib/selects/feature-permission/FeaturePermissionSelector.d.ts +4 -0
- package/dist/lib/selects/feature-permission/FeaturePermissionSelector.d.ts.map +1 -0
- package/dist/lib/selects/feature-permission/index.d.ts +3 -0
- package/dist/lib/selects/feature-permission/index.d.ts.map +1 -0
- package/dist/lib/selects/icon/IconSelect.d.ts.map +1 -1
- package/dist/lib/selects/index.d.ts +9 -0
- package/dist/lib/selects/index.d.ts.map +1 -1
- package/dist/lib/selects/inventory-item/InventoryItemSelector.d.ts +2 -2
- package/dist/lib/selects/inventory-item/InventoryItemSelector.d.ts.map +1 -1
- package/dist/lib/selects/iso-country/ISOCountrySelect.d.ts +15 -0
- package/dist/lib/selects/iso-country/ISOCountrySelect.d.ts.map +1 -0
- package/dist/lib/selects/iso-country/index.d.ts +3 -0
- package/dist/lib/selects/iso-country/index.d.ts.map +1 -0
- package/dist/lib/selects/iso-country/iso-countries.d.ts +7 -0
- package/dist/lib/selects/iso-country/iso-countries.d.ts.map +1 -0
- package/dist/lib/selects/legal-entity/LegalEntityFilter.d.ts +12 -0
- package/dist/lib/selects/legal-entity/LegalEntityFilter.d.ts.map +1 -0
- package/dist/lib/selects/legal-entity/LegalEntitySelector.d.ts +4 -0
- package/dist/lib/selects/legal-entity/LegalEntitySelector.d.ts.map +1 -0
- package/dist/lib/selects/legal-entity/index.d.ts +3 -0
- package/dist/lib/selects/legal-entity/index.d.ts.map +1 -0
- package/dist/lib/selects/location/LocationSelector.d.ts.map +1 -1
- package/dist/lib/selects/purchase-order/PurchaseOrderSelector.d.ts.map +1 -1
- package/dist/lib/selects/purchase-order-item/PurchaseOrderItemSelector.d.ts.map +1 -1
- package/dist/lib/selects/role/RoleSelector.d.ts +4 -0
- package/dist/lib/selects/role/RoleSelector.d.ts.map +1 -0
- package/dist/lib/selects/role/index.d.ts +2 -0
- package/dist/lib/selects/role/index.d.ts.map +1 -0
- package/dist/lib/selects/serial/SerialSelector.d.ts.map +1 -1
- package/dist/lib/selects/site/SiteFilter.d.ts +12 -0
- package/dist/lib/selects/site/SiteFilter.d.ts.map +1 -0
- package/dist/lib/selects/site/SiteSelector.d.ts +4 -0
- package/dist/lib/selects/site/SiteSelector.d.ts.map +1 -0
- package/dist/lib/selects/site/index.d.ts +3 -0
- package/dist/lib/selects/site/index.d.ts.map +1 -0
- package/dist/lib/selects/site-group/SiteGroupFilter.d.ts +12 -0
- package/dist/lib/selects/site-group/SiteGroupFilter.d.ts.map +1 -0
- package/dist/lib/selects/site-group/SiteGroupSelector.d.ts +4 -0
- package/dist/lib/selects/site-group/SiteGroupSelector.d.ts.map +1 -0
- package/dist/lib/selects/site-group/index.d.ts +3 -0
- package/dist/lib/selects/site-group/index.d.ts.map +1 -0
- package/dist/lib/selects/supplier/SupplierSelector.d.ts.map +1 -1
- package/dist/lib/selects/supplier-item/SupplierItemFilter.d.ts.map +1 -1
- package/dist/lib/selects/supplier-item/SupplierItemSelector.d.ts.map +1 -1
- package/dist/lib/selects/tax-class/TaxClassSelector.d.ts +4 -0
- package/dist/lib/selects/tax-class/TaxClassSelector.d.ts.map +1 -0
- package/dist/lib/selects/tax-class/index.d.ts +2 -0
- package/dist/lib/selects/tax-class/index.d.ts.map +1 -0
- package/dist/lib/theme/index.d.ts.map +1 -1
- package/dist/lib/types/catalog-resolver.d.ts +50 -17
- package/dist/lib/types/catalog-resolver.d.ts.map +1 -1
- package/dist/lib/utils/axios.d.ts.map +1 -1
- package/dist/lib/utils/cn.d.ts +3 -0
- package/dist/lib/utils/cn.d.ts.map +1 -0
- package/dist/lib/utils/dagre.d.ts +2 -0
- package/dist/lib/utils/dagre.d.ts.map +1 -0
- package/dist/lib/utils/dnd-kit/core.d.ts +2 -0
- package/dist/lib/utils/dnd-kit/core.d.ts.map +1 -0
- package/dist/lib/utils/dnd-kit/sortable.d.ts +2 -0
- package/dist/lib/utils/dnd-kit/sortable.d.ts.map +1 -0
- package/dist/lib/utils/dnd-kit/utilities.d.ts +2 -0
- package/dist/lib/utils/dnd-kit/utilities.d.ts.map +1 -0
- package/dist/lib/utils/formHelpers.d.ts.map +1 -1
- package/dist/lib/utils/format.d.ts.map +1 -1
- package/dist/lib/utils/permission-deps.d.ts +9 -0
- package/dist/lib/utils/permission-deps.d.ts.map +1 -0
- package/dist/lib/utils/react-flow.d.ts +2 -0
- package/dist/lib/utils/react-flow.d.ts.map +1 -0
- package/dist/lib/utils/zod.d.ts +9 -0
- package/dist/lib/utils/zod.d.ts.map +1 -1
- package/dist/polarScaleSelectors.js.map +1 -1
- package/dist/popover.js +1 -1
- package/dist/select2.js +1 -1
- package/dist/selects/billing-cycle.js +2 -0
- package/dist/selects/billing-cycle.js.map +1 -0
- package/dist/selects/cost-category.js +2 -2
- package/dist/selects/cost-category.js.map +1 -1
- package/dist/selects/country.js +2 -0
- package/dist/selects/country.js.map +1 -0
- package/dist/selects/feature-permission.js +2 -0
- package/dist/selects/feature-permission.js.map +1 -0
- package/dist/selects/iso-country.js +2 -0
- package/dist/selects/iso-country.js.map +1 -0
- package/dist/selects/legal-entity.js +2 -0
- package/dist/selects/legal-entity.js.map +1 -0
- package/dist/selects/purchase-order-item.js +1 -1
- package/dist/selects/purchase-order-item.js.map +1 -1
- package/dist/selects/role.js +2 -0
- package/dist/selects/role.js.map +1 -0
- package/dist/selects/site-group.js +2 -0
- package/dist/selects/site-group.js.map +1 -0
- package/dist/selects/site.js +2 -0
- package/dist/selects/site.js.map +1 -0
- package/dist/selects/tax-class.js +2 -0
- package/dist/selects/tax-class.js.map +1 -0
- package/dist/selects/tax-group.js +2 -2
- package/dist/selects/tax-group.js.map +1 -1
- package/dist/separator2.js +1 -1
- package/dist/sortable.esm.js +780 -0
- package/dist/sortable.esm.js.map +1 -0
- package/dist/theme/index.js.map +1 -1
- package/dist/toast.js +2 -26
- package/dist/toast.js.map +1 -1
- package/dist/tooltip2.js +1 -1
- package/dist/tooltipContext.js.map +1 -1
- package/dist/types/catalog-resolver.js +5 -2
- package/dist/types/catalog-resolver.js.map +1 -1
- package/dist/useBUTimezone.js.map +1 -1
- package/dist/useDataTable.js +58 -60
- package/dist/useDataTable.js.map +1 -1
- package/dist/useFormatters.js.map +1 -1
- package/dist/useTheme.js.map +1 -1
- package/dist/useTimer.js +2 -2
- package/dist/useTimer.js.map +1 -1
- package/dist/utilities.esm.js +333 -0
- package/dist/utilities.esm.js.map +1 -0
- package/dist/utils/axios.js +1 -1
- package/dist/utils/axios.js.map +1 -1
- package/dist/utils/cn.js +6 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/currency.js +2 -2
- package/dist/utils/dagre.js +4 -0
- package/dist/utils/dagre.js.map +1 -0
- package/dist/utils/dnd-kit/core.js +2 -0
- package/dist/utils/dnd-kit/core.js.map +1 -0
- package/dist/utils/dnd-kit/sortable.js +2 -0
- package/dist/utils/dnd-kit/sortable.js.map +1 -0
- package/dist/utils/dnd-kit/utilities.js +2 -0
- package/dist/utils/dnd-kit/utilities.js.map +1 -0
- package/dist/utils/format.js +2 -2
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/hotkeys.js +1 -1
- package/dist/utils/money.js +1 -1
- package/dist/utils/permission-deps.js +64 -0
- package/dist/utils/permission-deps.js.map +1 -0
- package/dist/utils/react-flow.js +2 -0
- package/dist/utils/react-flow.js.map +1 -0
- package/dist/utils/timezone.js +1 -1
- package/dist/utils/zod.js +11 -1
- package/dist/utils/zod.js.map +1 -1
- package/dist/youtube.js +15 -29
- package/dist/youtube.js.map +1 -1
- package/package.json +77 -1
package/dist/OTPField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTPField.js","sources":["../node_modules/.pnpm/input-otp@1.4.2_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/input-otp/dist/index.mjs","../shadcn/shadcnInputOTP/InputOTP.tsx","../lib/components/OTPField/OTPField.tsx"],"sourcesContent":["var Bt=Object.defineProperty,At=Object.defineProperties;var kt=Object.getOwnPropertyDescriptors;var Y=Object.getOwnPropertySymbols;var gt=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable;var vt=(r,s,e)=>s in r?Bt(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,St=(r,s)=>{for(var e in s||(s={}))gt.call(s,e)&&vt(r,e,s[e]);if(Y)for(var e of Y(s))Et.call(s,e)&&vt(r,e,s[e]);return r},bt=(r,s)=>At(r,kt(s));var Pt=(r,s)=>{var e={};for(var u in r)gt.call(r,u)&&s.indexOf(u)<0&&(e[u]=r[u]);if(r!=null&&Y)for(var u of Y(r))s.indexOf(u)<0&&Et.call(r,u)&&(e[u]=r[u]);return e};import*as n from\"react\";function ht(r){let s=setTimeout(r,0),e=setTimeout(r,10),u=setTimeout(r,50);return[s,e,u]}import*as U from\"react\";function _t(r){let s=U.useRef();return U.useEffect(()=>{s.current=r}),s.current}import*as S from\"react\";var Ot=18,wt=40,Gt=`${wt}px`,xt=[\"[data-lastpass-icon-root]\",\"com-1password-button\",\"[data-dashlanecreated]\",'[style$=\"2147483647 !important;\"]'].join(\",\");function Tt({containerRef:r,inputRef:s,pushPasswordManagerStrategy:e,isFocused:u}){let[P,D]=S.useState(!1),[G,H]=S.useState(!1),[F,W]=S.useState(!1),Z=S.useMemo(()=>e===\"none\"?!1:(e===\"increase-width\"||e===\"experimental-no-flickering\")&&P&&G,[P,G,e]),T=S.useCallback(()=>{let f=r.current,h=s.current;if(!f||!h||F||e===\"none\")return;let a=f,B=a.getBoundingClientRect().left+a.offsetWidth,A=a.getBoundingClientRect().top+a.offsetHeight/2,z=B-Ot,q=A;document.querySelectorAll(xt).length===0&&document.elementFromPoint(z,q)===f||(D(!0),W(!0))},[r,s,F,e]);return S.useEffect(()=>{let f=r.current;if(!f||e===\"none\")return;function h(){let A=window.innerWidth-f.getBoundingClientRect().right;H(A>=wt)}h();let a=setInterval(h,1e3);return()=>{clearInterval(a)}},[r,e]),S.useEffect(()=>{let f=u||document.activeElement===s.current;if(e===\"none\"||!f)return;let h=setTimeout(T,0),a=setTimeout(T,2e3),B=setTimeout(T,5e3),A=setTimeout(()=>{W(!0)},6e3);return()=>{clearTimeout(h),clearTimeout(a),clearTimeout(B),clearTimeout(A)}},[s,u,e,T]),{hasPWMBadge:P,willPushPWMBadge:Z,PWM_BADGE_SPACE_WIDTH:Gt}}var jt=n.createContext({}),Lt=n.forwardRef((A,B)=>{var z=A,{value:r,onChange:s,maxLength:e,textAlign:u=\"left\",pattern:P,placeholder:D,inputMode:G=\"numeric\",onComplete:H,pushPasswordManagerStrategy:F=\"increase-width\",pasteTransformer:W,containerClassName:Z,noScriptCSSFallback:T=Nt,render:f,children:h}=z,a=Pt(z,[\"value\",\"onChange\",\"maxLength\",\"textAlign\",\"pattern\",\"placeholder\",\"inputMode\",\"onComplete\",\"pushPasswordManagerStrategy\",\"pasteTransformer\",\"containerClassName\",\"noScriptCSSFallback\",\"render\",\"children\"]);var X,lt,ut,dt,ft;let[q,nt]=n.useState(typeof a.defaultValue==\"string\"?a.defaultValue:\"\"),i=r!=null?r:q,I=_t(i),x=n.useCallback(t=>{s==null||s(t),nt(t)},[s]),m=n.useMemo(()=>P?typeof P==\"string\"?new RegExp(P):P:null,[P]),l=n.useRef(null),K=n.useRef(null),J=n.useRef({value:i,onChange:x,isIOS:typeof window!=\"undefined\"&&((lt=(X=window==null?void 0:window.CSS)==null?void 0:X.supports)==null?void 0:lt.call(X,\"-webkit-touch-callout\",\"none\"))}),V=n.useRef({prev:[(ut=l.current)==null?void 0:ut.selectionStart,(dt=l.current)==null?void 0:dt.selectionEnd,(ft=l.current)==null?void 0:ft.selectionDirection]});n.useImperativeHandle(B,()=>l.current,[]),n.useEffect(()=>{let t=l.current,o=K.current;if(!t||!o)return;J.current.value!==t.value&&J.current.onChange(t.value),V.current.prev=[t.selectionStart,t.selectionEnd,t.selectionDirection];function d(){if(document.activeElement!==t){L(null),N(null);return}let c=t.selectionStart,b=t.selectionEnd,mt=t.selectionDirection,v=t.maxLength,C=t.value,_=V.current.prev,g=-1,E=-1,w;if(C.length!==0&&c!==null&&b!==null){let Dt=c===b,Ht=c===C.length&&C.length<v;if(Dt&&!Ht){let y=c;if(y===0)g=0,E=1,w=\"forward\";else if(y===v)g=y-1,E=y,w=\"backward\";else if(v>1&&C.length>1){let et=0;if(_[0]!==null&&_[1]!==null){w=y<_[1]?\"backward\":\"forward\";let Wt=_[0]===_[1]&&_[0]<v;w===\"backward\"&&!Wt&&(et=-1)}g=et+y,E=et+y+1}}g!==-1&&E!==-1&&g!==E&&l.current.setSelectionRange(g,E,w)}let pt=g!==-1?g:c,Rt=E!==-1?E:b,yt=w!=null?w:mt;L(pt),N(Rt),V.current.prev=[pt,Rt,yt]}if(document.addEventListener(\"selectionchange\",d,{capture:!0}),d(),document.activeElement===t&&Q(!0),!document.getElementById(\"input-otp-style\")){let c=document.createElement(\"style\");if(c.id=\"input-otp-style\",document.head.appendChild(c),c.sheet){let b=\"background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;\";$(c.sheet,\"[data-input-otp]::selection { background: transparent !important; color: transparent !important; }\"),$(c.sheet,`[data-input-otp]:autofill { ${b} }`),$(c.sheet,`[data-input-otp]:-webkit-autofill { ${b} }`),$(c.sheet,\"@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }\"),$(c.sheet,\"[data-input-otp] + * { pointer-events: all !important; }\")}}let R=()=>{o&&o.style.setProperty(\"--root-height\",`${t.clientHeight}px`)};R();let p=new ResizeObserver(R);return p.observe(t),()=>{document.removeEventListener(\"selectionchange\",d,{capture:!0}),p.disconnect()}},[]);let[ot,rt]=n.useState(!1),[j,Q]=n.useState(!1),[M,L]=n.useState(null),[k,N]=n.useState(null);n.useEffect(()=>{ht(()=>{var R,p,c,b;(R=l.current)==null||R.dispatchEvent(new Event(\"input\"));let t=(p=l.current)==null?void 0:p.selectionStart,o=(c=l.current)==null?void 0:c.selectionEnd,d=(b=l.current)==null?void 0:b.selectionDirection;t!==null&&o!==null&&(L(t),N(o),V.current.prev=[t,o,d])})},[i,j]),n.useEffect(()=>{I!==void 0&&i!==I&&I.length<e&&i.length===e&&(H==null||H(i))},[e,H,I,i]);let O=Tt({containerRef:K,inputRef:l,pushPasswordManagerStrategy:F,isFocused:j}),st=n.useCallback(t=>{let o=t.currentTarget.value.slice(0,e);if(o.length>0&&m&&!m.test(o)){t.preventDefault();return}typeof I==\"string\"&&o.length<I.length&&document.dispatchEvent(new Event(\"selectionchange\")),x(o)},[e,x,I,m]),at=n.useCallback(()=>{var t;if(l.current){let o=Math.min(l.current.value.length,e-1),d=l.current.value.length;(t=l.current)==null||t.setSelectionRange(o,d),L(o),N(d)}Q(!0)},[e]),ct=n.useCallback(t=>{var g,E;let o=l.current;if(!W&&(!J.current.isIOS||!t.clipboardData||!o))return;let d=t.clipboardData.getData(\"text/plain\"),R=W?W(d):d;t.preventDefault();let p=(g=l.current)==null?void 0:g.selectionStart,c=(E=l.current)==null?void 0:E.selectionEnd,v=(p!==c?i.slice(0,p)+R+i.slice(c):i.slice(0,p)+R+i.slice(p)).slice(0,e);if(v.length>0&&m&&!m.test(v))return;o.value=v,x(v);let C=Math.min(v.length,e-1),_=v.length;o.setSelectionRange(C,_),L(C),N(_)},[e,x,m,i]),It=n.useMemo(()=>({position:\"relative\",cursor:a.disabled?\"default\":\"text\",userSelect:\"none\",WebkitUserSelect:\"none\",pointerEvents:\"none\"}),[a.disabled]),it=n.useMemo(()=>({position:\"absolute\",inset:0,width:O.willPushPWMBadge?`calc(100% + ${O.PWM_BADGE_SPACE_WIDTH})`:\"100%\",clipPath:O.willPushPWMBadge?`inset(0 ${O.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,height:\"100%\",display:\"flex\",textAlign:u,opacity:\"1\",color:\"transparent\",pointerEvents:\"all\",background:\"transparent\",caretColor:\"transparent\",border:\"0 solid transparent\",outline:\"0 solid transparent\",boxShadow:\"none\",lineHeight:\"1\",letterSpacing:\"-.5em\",fontSize:\"var(--root-height)\",fontFamily:\"monospace\",fontVariantNumeric:\"tabular-nums\"}),[O.PWM_BADGE_SPACE_WIDTH,O.willPushPWMBadge,u]),Mt=n.useMemo(()=>n.createElement(\"input\",bt(St({autoComplete:a.autoComplete||\"one-time-code\"},a),{\"data-input-otp\":!0,\"data-input-otp-placeholder-shown\":i.length===0||void 0,\"data-input-otp-mss\":M,\"data-input-otp-mse\":k,inputMode:G,pattern:m==null?void 0:m.source,\"aria-placeholder\":D,style:it,maxLength:e,value:i,ref:l,onPaste:t=>{var o;ct(t),(o=a.onPaste)==null||o.call(a,t)},onChange:st,onMouseOver:t=>{var o;rt(!0),(o=a.onMouseOver)==null||o.call(a,t)},onMouseLeave:t=>{var o;rt(!1),(o=a.onMouseLeave)==null||o.call(a,t)},onFocus:t=>{var o;at(),(o=a.onFocus)==null||o.call(a,t)},onBlur:t=>{var o;Q(!1),(o=a.onBlur)==null||o.call(a,t)}})),[st,at,ct,G,it,e,k,M,a,m==null?void 0:m.source,i]),tt=n.useMemo(()=>({slots:Array.from({length:e}).map((t,o)=>{var c;let d=j&&M!==null&&k!==null&&(M===k&&o===M||o>=M&&o<k),R=i[o]!==void 0?i[o]:null,p=i[0]!==void 0?null:(c=D==null?void 0:D[o])!=null?c:null;return{char:R,placeholderChar:p,isActive:d,hasFakeCaret:d&&R===null}}),isFocused:j,isHovering:!a.disabled&&ot}),[j,ot,e,k,M,a.disabled,i]),Ct=n.useMemo(()=>f?f(tt):n.createElement(jt.Provider,{value:tt},h),[h,tt,f]);return n.createElement(n.Fragment,null,T!==null&&n.createElement(\"noscript\",null,n.createElement(\"style\",null,T)),n.createElement(\"div\",{ref:K,\"data-input-otp-container\":!0,style:It,className:Z},Ct,n.createElement(\"div\",{style:{position:\"absolute\",inset:0,pointerEvents:\"none\"}},Mt)))});Lt.displayName=\"Input\";function $(r,s){try{r.insertRule(s)}catch(e){console.error(\"input-otp could not insert CSS rule:\",s)}}var Nt=`\n[data-input-otp] {\n --nojs-bg: white !important;\n --nojs-fg: black !important;\n\n background-color: var(--nojs-bg) !important;\n color: var(--nojs-fg) !important;\n caret-color: var(--nojs-fg) !important;\n letter-spacing: .25em !important;\n text-align: center !important;\n border: 1px solid var(--nojs-fg) !important;\n border-radius: 4px !important;\n width: 100% !important;\n}\n@media (prefers-color-scheme: dark) {\n [data-input-otp] {\n --nojs-bg: black !important;\n --nojs-fg: white !important;\n }\n}`;var Kt=\"^\\\\d+$\",Jt=\"^[a-zA-Z]+$\",Qt=\"^[a-zA-Z0-9]+$\";export{Lt as OTPInput,jt as OTPInputContext,Jt as REGEXP_ONLY_CHARS,Kt as REGEXP_ONLY_DIGITS,Qt as REGEXP_ONLY_DIGITS_AND_CHARS};\n//# sourceMappingURL=index.mjs.map","import { OTPInput, OTPInputContext } from 'input-otp';\nimport { Dot } from 'lucide-react';\nimport type React from 'react';\nimport { forwardRef, useContext } from 'react';\n\nimport { cn } from '../utils';\n\nconst InputOTP = forwardRef<React.ElementRef<typeof OTPInput>, React.ComponentPropsWithoutRef<typeof OTPInput>>(\n ({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn('flex items-center gap-2 has-[:disabled]:opacity-50', containerClassName)}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n ),\n);\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => <div ref={ref} className={cn('flex items-center', className)} {...props} />,\n);\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'> & { index: number }>(\n ({ index, className, ...props }, ref) => {\n const inputOTPContext = useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n return (\n <div\n ref={ref}\n className={cn(\n 'relative flex h-12 w-12 items-center justify-center border-y border-r border-input text-base transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n 'bg-transparent dark:bg-input/30 text-foreground',\n 'focus-within:outline-none focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]',\n isActive && 'z-10 border-ring ring-ring/50 ring-[3px]',\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n );\n },\n);\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot />\n </div>\n ),\n);\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n","import React from 'react';\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '../../../shadcn/shadcnField';\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from '../../../shadcn/shadcnInputOTP';\nimport { cn } from '../../../shadcn/utils';\n\nexport interface OTPFieldProps {\n /**\n * Field name for react-hook-form integration (used by Form component)\n */\n name?: string;\n\n /**\n * OTP value\n */\n value?: string;\n\n /**\n * Callback when OTP changes\n */\n onChange?: (value: string) => void;\n\n /**\n * Number of OTP digits\n * @default 6\n */\n length?: number;\n\n /**\n * Label for the field\n */\n label?: string;\n\n /**\n * Helper text or description to display below the field\n */\n description?: React.ReactNode;\n\n /**\n * Error message to display below the field\n */\n error?: string;\n\n /**\n * Whether the field is disabled\n */\n disabled?: boolean;\n\n /**\n * Whether the field is required\n */\n required?: boolean;\n\n /**\n * CSS class name for styling\n */\n className?: string;\n}\n\n// OTPField component - specialized input for one-time passwords with Field system\nexport const OTPField = React.forwardRef<HTMLInputElement, OTPFieldProps>(\n (\n {\n name: _name,\n value = '',\n onChange = () => {},\n length = 6,\n label,\n description,\n error,\n disabled,\n required,\n className,\n },\n _ref,\n ) => {\n const fieldId = React.useId();\n const hasError = !!error;\n\n return (\n <Field data-disabled={disabled}>\n {label && (\n <FieldLabel htmlFor={fieldId}>\n {label}\n {required && <span className=\"text-destructive ml-1\">*</span>}\n </FieldLabel>\n )}\n\n <FieldContent>\n <InputOTP\n maxLength={length}\n value={value}\n onChange={onChange}\n disabled={disabled}\n containerClassName={cn('justify-center', className)}\n aria-describedby={description || error ? `${fieldId}-description ${fieldId}-error` : undefined}\n aria-invalid={hasError}\n >\n <InputOTPGroup>\n {Array.from({ length }, (_, idx) => idx).map((position) => (\n <InputOTPSlot\n key={position}\n index={position}\n className={cn(\n hasError &&\n 'border-destructive focus-within:ring-destructive/20 dark:focus-within:ring-destructive/40',\n )}\n />\n ))}\n </InputOTPGroup>\n </InputOTP>\n\n {description && (\n <FieldDescription id={`${fieldId}-description`} className=\"text-center\">\n {description}\n </FieldDescription>\n )}\n\n {error && (\n <FieldError id={`${fieldId}-error`} className=\"text-center\">\n {error}\n </FieldError>\n )}\n </FieldContent>\n </Field>\n );\n },\n);\n\nOTPField.displayName = 'OTPField';\n"],"names":["U","S","n","OTPInput","OTPInputContext","React"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"OTPField.js","sources":["../node_modules/.pnpm/input-otp@1.4.2_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/input-otp/dist/index.mjs","../shadcn/shadcnInputOTP/InputOTP.tsx","../lib/components/OTPField/OTPField.tsx"],"sourcesContent":["var Bt=Object.defineProperty,At=Object.defineProperties;var kt=Object.getOwnPropertyDescriptors;var Y=Object.getOwnPropertySymbols;var gt=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable;var vt=(r,s,e)=>s in r?Bt(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,St=(r,s)=>{for(var e in s||(s={}))gt.call(s,e)&&vt(r,e,s[e]);if(Y)for(var e of Y(s))Et.call(s,e)&&vt(r,e,s[e]);return r},bt=(r,s)=>At(r,kt(s));var Pt=(r,s)=>{var e={};for(var u in r)gt.call(r,u)&&s.indexOf(u)<0&&(e[u]=r[u]);if(r!=null&&Y)for(var u of Y(r))s.indexOf(u)<0&&Et.call(r,u)&&(e[u]=r[u]);return e};import*as n from\"react\";function ht(r){let s=setTimeout(r,0),e=setTimeout(r,10),u=setTimeout(r,50);return[s,e,u]}import*as U from\"react\";function _t(r){let s=U.useRef();return U.useEffect(()=>{s.current=r}),s.current}import*as S from\"react\";var Ot=18,wt=40,Gt=`${wt}px`,xt=[\"[data-lastpass-icon-root]\",\"com-1password-button\",\"[data-dashlanecreated]\",'[style$=\"2147483647 !important;\"]'].join(\",\");function Tt({containerRef:r,inputRef:s,pushPasswordManagerStrategy:e,isFocused:u}){let[P,D]=S.useState(!1),[G,H]=S.useState(!1),[F,W]=S.useState(!1),Z=S.useMemo(()=>e===\"none\"?!1:(e===\"increase-width\"||e===\"experimental-no-flickering\")&&P&&G,[P,G,e]),T=S.useCallback(()=>{let f=r.current,h=s.current;if(!f||!h||F||e===\"none\")return;let a=f,B=a.getBoundingClientRect().left+a.offsetWidth,A=a.getBoundingClientRect().top+a.offsetHeight/2,z=B-Ot,q=A;document.querySelectorAll(xt).length===0&&document.elementFromPoint(z,q)===f||(D(!0),W(!0))},[r,s,F,e]);return S.useEffect(()=>{let f=r.current;if(!f||e===\"none\")return;function h(){let A=window.innerWidth-f.getBoundingClientRect().right;H(A>=wt)}h();let a=setInterval(h,1e3);return()=>{clearInterval(a)}},[r,e]),S.useEffect(()=>{let f=u||document.activeElement===s.current;if(e===\"none\"||!f)return;let h=setTimeout(T,0),a=setTimeout(T,2e3),B=setTimeout(T,5e3),A=setTimeout(()=>{W(!0)},6e3);return()=>{clearTimeout(h),clearTimeout(a),clearTimeout(B),clearTimeout(A)}},[s,u,e,T]),{hasPWMBadge:P,willPushPWMBadge:Z,PWM_BADGE_SPACE_WIDTH:Gt}}var jt=n.createContext({}),Lt=n.forwardRef((A,B)=>{var z=A,{value:r,onChange:s,maxLength:e,textAlign:u=\"left\",pattern:P,placeholder:D,inputMode:G=\"numeric\",onComplete:H,pushPasswordManagerStrategy:F=\"increase-width\",pasteTransformer:W,containerClassName:Z,noScriptCSSFallback:T=Nt,render:f,children:h}=z,a=Pt(z,[\"value\",\"onChange\",\"maxLength\",\"textAlign\",\"pattern\",\"placeholder\",\"inputMode\",\"onComplete\",\"pushPasswordManagerStrategy\",\"pasteTransformer\",\"containerClassName\",\"noScriptCSSFallback\",\"render\",\"children\"]);var X,lt,ut,dt,ft;let[q,nt]=n.useState(typeof a.defaultValue==\"string\"?a.defaultValue:\"\"),i=r!=null?r:q,I=_t(i),x=n.useCallback(t=>{s==null||s(t),nt(t)},[s]),m=n.useMemo(()=>P?typeof P==\"string\"?new RegExp(P):P:null,[P]),l=n.useRef(null),K=n.useRef(null),J=n.useRef({value:i,onChange:x,isIOS:typeof window!=\"undefined\"&&((lt=(X=window==null?void 0:window.CSS)==null?void 0:X.supports)==null?void 0:lt.call(X,\"-webkit-touch-callout\",\"none\"))}),V=n.useRef({prev:[(ut=l.current)==null?void 0:ut.selectionStart,(dt=l.current)==null?void 0:dt.selectionEnd,(ft=l.current)==null?void 0:ft.selectionDirection]});n.useImperativeHandle(B,()=>l.current,[]),n.useEffect(()=>{let t=l.current,o=K.current;if(!t||!o)return;J.current.value!==t.value&&J.current.onChange(t.value),V.current.prev=[t.selectionStart,t.selectionEnd,t.selectionDirection];function d(){if(document.activeElement!==t){L(null),N(null);return}let c=t.selectionStart,b=t.selectionEnd,mt=t.selectionDirection,v=t.maxLength,C=t.value,_=V.current.prev,g=-1,E=-1,w;if(C.length!==0&&c!==null&&b!==null){let Dt=c===b,Ht=c===C.length&&C.length<v;if(Dt&&!Ht){let y=c;if(y===0)g=0,E=1,w=\"forward\";else if(y===v)g=y-1,E=y,w=\"backward\";else if(v>1&&C.length>1){let et=0;if(_[0]!==null&&_[1]!==null){w=y<_[1]?\"backward\":\"forward\";let Wt=_[0]===_[1]&&_[0]<v;w===\"backward\"&&!Wt&&(et=-1)}g=et+y,E=et+y+1}}g!==-1&&E!==-1&&g!==E&&l.current.setSelectionRange(g,E,w)}let pt=g!==-1?g:c,Rt=E!==-1?E:b,yt=w!=null?w:mt;L(pt),N(Rt),V.current.prev=[pt,Rt,yt]}if(document.addEventListener(\"selectionchange\",d,{capture:!0}),d(),document.activeElement===t&&Q(!0),!document.getElementById(\"input-otp-style\")){let c=document.createElement(\"style\");if(c.id=\"input-otp-style\",document.head.appendChild(c),c.sheet){let b=\"background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;\";$(c.sheet,\"[data-input-otp]::selection { background: transparent !important; color: transparent !important; }\"),$(c.sheet,`[data-input-otp]:autofill { ${b} }`),$(c.sheet,`[data-input-otp]:-webkit-autofill { ${b} }`),$(c.sheet,\"@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }\"),$(c.sheet,\"[data-input-otp] + * { pointer-events: all !important; }\")}}let R=()=>{o&&o.style.setProperty(\"--root-height\",`${t.clientHeight}px`)};R();let p=new ResizeObserver(R);return p.observe(t),()=>{document.removeEventListener(\"selectionchange\",d,{capture:!0}),p.disconnect()}},[]);let[ot,rt]=n.useState(!1),[j,Q]=n.useState(!1),[M,L]=n.useState(null),[k,N]=n.useState(null);n.useEffect(()=>{ht(()=>{var R,p,c,b;(R=l.current)==null||R.dispatchEvent(new Event(\"input\"));let t=(p=l.current)==null?void 0:p.selectionStart,o=(c=l.current)==null?void 0:c.selectionEnd,d=(b=l.current)==null?void 0:b.selectionDirection;t!==null&&o!==null&&(L(t),N(o),V.current.prev=[t,o,d])})},[i,j]),n.useEffect(()=>{I!==void 0&&i!==I&&I.length<e&&i.length===e&&(H==null||H(i))},[e,H,I,i]);let O=Tt({containerRef:K,inputRef:l,pushPasswordManagerStrategy:F,isFocused:j}),st=n.useCallback(t=>{let o=t.currentTarget.value.slice(0,e);if(o.length>0&&m&&!m.test(o)){t.preventDefault();return}typeof I==\"string\"&&o.length<I.length&&document.dispatchEvent(new Event(\"selectionchange\")),x(o)},[e,x,I,m]),at=n.useCallback(()=>{var t;if(l.current){let o=Math.min(l.current.value.length,e-1),d=l.current.value.length;(t=l.current)==null||t.setSelectionRange(o,d),L(o),N(d)}Q(!0)},[e]),ct=n.useCallback(t=>{var g,E;let o=l.current;if(!W&&(!J.current.isIOS||!t.clipboardData||!o))return;let d=t.clipboardData.getData(\"text/plain\"),R=W?W(d):d;t.preventDefault();let p=(g=l.current)==null?void 0:g.selectionStart,c=(E=l.current)==null?void 0:E.selectionEnd,v=(p!==c?i.slice(0,p)+R+i.slice(c):i.slice(0,p)+R+i.slice(p)).slice(0,e);if(v.length>0&&m&&!m.test(v))return;o.value=v,x(v);let C=Math.min(v.length,e-1),_=v.length;o.setSelectionRange(C,_),L(C),N(_)},[e,x,m,i]),It=n.useMemo(()=>({position:\"relative\",cursor:a.disabled?\"default\":\"text\",userSelect:\"none\",WebkitUserSelect:\"none\",pointerEvents:\"none\"}),[a.disabled]),it=n.useMemo(()=>({position:\"absolute\",inset:0,width:O.willPushPWMBadge?`calc(100% + ${O.PWM_BADGE_SPACE_WIDTH})`:\"100%\",clipPath:O.willPushPWMBadge?`inset(0 ${O.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,height:\"100%\",display:\"flex\",textAlign:u,opacity:\"1\",color:\"transparent\",pointerEvents:\"all\",background:\"transparent\",caretColor:\"transparent\",border:\"0 solid transparent\",outline:\"0 solid transparent\",boxShadow:\"none\",lineHeight:\"1\",letterSpacing:\"-.5em\",fontSize:\"var(--root-height)\",fontFamily:\"monospace\",fontVariantNumeric:\"tabular-nums\"}),[O.PWM_BADGE_SPACE_WIDTH,O.willPushPWMBadge,u]),Mt=n.useMemo(()=>n.createElement(\"input\",bt(St({autoComplete:a.autoComplete||\"one-time-code\"},a),{\"data-input-otp\":!0,\"data-input-otp-placeholder-shown\":i.length===0||void 0,\"data-input-otp-mss\":M,\"data-input-otp-mse\":k,inputMode:G,pattern:m==null?void 0:m.source,\"aria-placeholder\":D,style:it,maxLength:e,value:i,ref:l,onPaste:t=>{var o;ct(t),(o=a.onPaste)==null||o.call(a,t)},onChange:st,onMouseOver:t=>{var o;rt(!0),(o=a.onMouseOver)==null||o.call(a,t)},onMouseLeave:t=>{var o;rt(!1),(o=a.onMouseLeave)==null||o.call(a,t)},onFocus:t=>{var o;at(),(o=a.onFocus)==null||o.call(a,t)},onBlur:t=>{var o;Q(!1),(o=a.onBlur)==null||o.call(a,t)}})),[st,at,ct,G,it,e,k,M,a,m==null?void 0:m.source,i]),tt=n.useMemo(()=>({slots:Array.from({length:e}).map((t,o)=>{var c;let d=j&&M!==null&&k!==null&&(M===k&&o===M||o>=M&&o<k),R=i[o]!==void 0?i[o]:null,p=i[0]!==void 0?null:(c=D==null?void 0:D[o])!=null?c:null;return{char:R,placeholderChar:p,isActive:d,hasFakeCaret:d&&R===null}}),isFocused:j,isHovering:!a.disabled&&ot}),[j,ot,e,k,M,a.disabled,i]),Ct=n.useMemo(()=>f?f(tt):n.createElement(jt.Provider,{value:tt},h),[h,tt,f]);return n.createElement(n.Fragment,null,T!==null&&n.createElement(\"noscript\",null,n.createElement(\"style\",null,T)),n.createElement(\"div\",{ref:K,\"data-input-otp-container\":!0,style:It,className:Z},Ct,n.createElement(\"div\",{style:{position:\"absolute\",inset:0,pointerEvents:\"none\"}},Mt)))});Lt.displayName=\"Input\";function $(r,s){try{r.insertRule(s)}catch(e){console.error(\"input-otp could not insert CSS rule:\",s)}}var Nt=`\n[data-input-otp] {\n --nojs-bg: white !important;\n --nojs-fg: black !important;\n\n background-color: var(--nojs-bg) !important;\n color: var(--nojs-fg) !important;\n caret-color: var(--nojs-fg) !important;\n letter-spacing: .25em !important;\n text-align: center !important;\n border: 1px solid var(--nojs-fg) !important;\n border-radius: 4px !important;\n width: 100% !important;\n}\n@media (prefers-color-scheme: dark) {\n [data-input-otp] {\n --nojs-bg: black !important;\n --nojs-fg: white !important;\n }\n}`;var Kt=\"^\\\\d+$\",Jt=\"^[a-zA-Z]+$\",Qt=\"^[a-zA-Z0-9]+$\";export{Lt as OTPInput,jt as OTPInputContext,Jt as REGEXP_ONLY_CHARS,Kt as REGEXP_ONLY_DIGITS,Qt as REGEXP_ONLY_DIGITS_AND_CHARS};\n//# sourceMappingURL=index.mjs.map","import { OTPInput, OTPInputContext } from 'input-otp';\nimport { Dot } from 'lucide-react';\nimport type React from 'react';\nimport { forwardRef, useContext } from 'react';\n\nimport { cn } from '../utils';\n\nconst InputOTP = forwardRef<React.ElementRef<typeof OTPInput>, React.ComponentPropsWithoutRef<typeof OTPInput>>(\n ({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn('flex items-center gap-2 has-[:disabled]:opacity-50', containerClassName)}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n ),\n);\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, ref) => <div ref={ref} className={cn('flex items-center', className)} {...props} />,\n);\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'> & { index: number }>(\n ({ index, className, ...props }, ref) => {\n const inputOTPContext = useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n return (\n <div\n ref={ref}\n className={cn(\n 'relative flex h-12 w-12 items-center justify-center border-y border-r border-input text-base transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n 'bg-transparent dark:bg-input/30 text-foreground',\n 'focus-within:outline-none focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]',\n isActive && 'z-10 border-ring ring-ring/50 ring-[3px]',\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n );\n },\n);\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = forwardRef<React.ElementRef<'div'>, React.ComponentPropsWithoutRef<'div'>>(\n ({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot />\n </div>\n ),\n);\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n","import React from 'react';\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '../../../shadcn/shadcnField';\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from '../../../shadcn/shadcnInputOTP';\nimport { cn } from '../../../shadcn/utils';\n\nexport interface OTPFieldProps {\n name?: string;\n\n value?: string;\n\n onChange?: (value: string) => void;\n\n length?: number;\n\n label?: string;\n\n description?: React.ReactNode;\n\n error?: string;\n\n disabled?: boolean;\n\n required?: boolean;\n\n className?: string;\n}\n\n// OTPField component - specialized input for one-time passwords with Field system\nexport const OTPField = React.forwardRef<HTMLInputElement, OTPFieldProps>(\n (\n {\n name: _name,\n value = '',\n onChange = () => {},\n length = 6,\n label,\n description,\n error,\n disabled,\n required,\n className,\n },\n _ref,\n ) => {\n const fieldId = React.useId();\n const hasError = !!error;\n\n return (\n <Field data-disabled={disabled}>\n {label && (\n <FieldLabel htmlFor={fieldId}>\n {label}\n {required && <span className=\"text-destructive ml-1\">*</span>}\n </FieldLabel>\n )}\n\n <FieldContent>\n <InputOTP\n maxLength={length}\n value={value}\n onChange={onChange}\n disabled={disabled}\n containerClassName={cn('justify-center', className)}\n aria-describedby={description || error ? `${fieldId}-description ${fieldId}-error` : undefined}\n aria-invalid={hasError}\n >\n <InputOTPGroup>\n {Array.from({ length }, (_, idx) => idx).map((position) => (\n <InputOTPSlot\n key={position}\n index={position}\n className={cn(\n hasError &&\n 'border-destructive focus-within:ring-destructive/20 dark:focus-within:ring-destructive/40',\n )}\n />\n ))}\n </InputOTPGroup>\n </InputOTP>\n\n {description && (\n <FieldDescription id={`${fieldId}-description`} className=\"text-center\">\n {description}\n </FieldDescription>\n )}\n\n {error && (\n <FieldError id={`${fieldId}-error`} className=\"text-center\">\n {error}\n </FieldError>\n )}\n </FieldContent>\n </Field>\n );\n },\n);\n\nOTPField.displayName = 'OTPField';\n"],"names":["U","S","n","OTPInput","OTPInputContext","React"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/PageContent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageContent.js","sources":["../lib/components/PageContent/PageContent.tsx"],"sourcesContent":["import type React from 'react';\nimport { cn } from '../../../shadcn/utils';\n\nexport interface PageContentProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nexport interface SidePanelListItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n active?: boolean;\n}\n\nexport interface PageContentPanelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {\n children?: React.ReactNode;\n header?: React.ReactNode;\n actions?: React.ReactNode;\n content?: React.ReactNode;\n headerClassName?: string;\n contentClassName?: string;\n isLoading?: boolean;\n loadingContent?: React.ReactNode;\n isEmpty?: boolean;\n emptyState?: React.ReactNode;\n}\n\nexport interface PageContentDetailsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {\n children?: React.ReactNode;\n content?: React.ReactNode;\n isLoading?: boolean;\n loadingContent?: React.ReactNode;\n isEmpty?: boolean;\n emptyState?: React.ReactNode;\n}\n\nexport function PanelSkeleton() {\n return (\n <div className=\"p-3 space-y-2\">\n {Array.from({ length: 6 }).map((_, i) => (\n <div\n // biome-ignore lint/suspicious/noArrayIndexKey: <static list of skeletons, not dynamic>\n key={`panel-skeleton-${i}`}\n className=\"rounded-md border p-3 space-y-2\"\n >\n <div className=\"h-4 w-2/3 rounded bg-muted animate-pulse\" />\n <div className=\"h-3 w-1/2 rounded bg-muted animate-pulse\" />\n </div>\n ))}\n </div>\n );\n}\n\n
|
|
1
|
+
{"version":3,"file":"PageContent.js","sources":["../lib/components/PageContent/PageContent.tsx"],"sourcesContent":["import type React from 'react';\nimport { cn } from '../../../shadcn/utils';\n\nexport interface PageContentProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nexport interface SidePanelListItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n active?: boolean;\n}\n\nexport interface PageContentPanelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {\n children?: React.ReactNode;\n header?: React.ReactNode;\n actions?: React.ReactNode;\n content?: React.ReactNode;\n headerClassName?: string;\n contentClassName?: string;\n isLoading?: boolean;\n loadingContent?: React.ReactNode;\n isEmpty?: boolean;\n emptyState?: React.ReactNode;\n}\n\nexport interface PageContentDetailsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {\n children?: React.ReactNode;\n content?: React.ReactNode;\n isLoading?: boolean;\n loadingContent?: React.ReactNode;\n isEmpty?: boolean;\n emptyState?: React.ReactNode;\n}\n\nexport function PanelSkeleton() {\n return (\n <div className=\"p-3 space-y-2\">\n {Array.from({ length: 6 }).map((_, i) => (\n <div\n // biome-ignore lint/suspicious/noArrayIndexKey: <static list of skeletons, not dynamic>\n key={`panel-skeleton-${i}`}\n className=\"rounded-md border p-3 space-y-2\"\n >\n <div className=\"h-4 w-2/3 rounded bg-muted animate-pulse\" />\n <div className=\"h-3 w-1/2 rounded bg-muted animate-pulse\" />\n </div>\n ))}\n </div>\n );\n}\n\n// Reusable selectable row button for side-panel lists.\nexport function SidePanelListItem({ active = false, className, type = 'button', ...props }: SidePanelListItemProps) {\n return (\n <button\n type={type}\n className={cn(\n 'w-full rounded-md border px-3 py-2 text-left transition-colors',\n active ? 'bg-accent border-accent' : 'hover:bg-accent/40',\n className,\n )}\n {...props}\n />\n );\n}\n\n// A bordered container that fills available viewport height, used for split-panel layouts.\nexport function PageContent({ children, className, ...props }: PageContentProps) {\n return (\n <div\n className={cn('flex w-full overflow-hidden rounded-xl border bg-background', className)}\n style={{ height: 'calc(100vh - 220px)' }}\n {...props}\n >\n {children}\n </div>\n );\n}\n\n// Left panel region inside PageContent. Supports standard header/actions/content layout.\nexport function PageContentPanel({\n children,\n className,\n header,\n actions,\n content,\n headerClassName,\n contentClassName,\n isLoading,\n loadingContent,\n isEmpty,\n emptyState,\n ...props\n}: PageContentPanelProps) {\n const panelBody = content ?? children;\n const hasActions = Boolean(actions);\n\n const showEmpty = !isLoading && isEmpty;\n\n const resolvedBody = isLoading ? (loadingContent ?? <PanelSkeleton />) : showEmpty ? emptyState : panelBody;\n\n const resolvedContentClassName = showEmpty\n ? cn('flex-1 overflow-auto flex items-center justify-center', contentClassName)\n : cn('flex-1 overflow-auto', contentClassName);\n\n return (\n <div className={cn('w-72 border-r flex flex-col shrink-0 overflow-hidden', className)} {...props}>\n {(header || actions) && (\n <div\n className={cn('border-b p-3', hasActions ? 'flex items-center justify-between gap-2' : '', headerClassName)}\n >\n <div className={cn('min-w-0', hasActions ? 'flex-1' : '')}>\n {typeof header === 'string' ? <div className=\"text-sm font-medium\">{header}</div> : header}\n </div>\n {actions ? <div className=\"shrink-0\">{actions}</div> : null}\n </div>\n )}\n <div className={resolvedContentClassName}>{resolvedBody}</div>\n </div>\n );\n}\n\n// Right details region inside PageContent — precedence isLoading → loadingContent, isEmpty → emptyState, else content||children\nexport function PageContentDetails({\n children,\n className,\n content,\n isLoading,\n loadingContent,\n isEmpty,\n emptyState,\n ...props\n}: PageContentDetailsProps) {\n const body = content ?? children;\n const showEmpty = !isLoading && isEmpty;\n\n const resolved = isLoading ? (loadingContent ?? <PanelSkeleton />) : showEmpty ? emptyState : body;\n\n const layoutClass = showEmpty\n ? 'flex-1 overflow-auto p-6 min-w-0 flex items-center justify-center'\n : 'flex-1 overflow-auto p-6 min-w-0';\n\n return (\n <div className={cn(layoutClass, className)} {...props}>\n {resolved}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -6,16 +6,27 @@ import { S as Skeleton } from './Skeleton.js';
|
|
|
6
6
|
|
|
7
7
|
const PageHeader = React.forwardRef(
|
|
8
8
|
({ title, titleSlot, description, actions, className, ...props }, ref) => {
|
|
9
|
-
return /* @__PURE__ */ jsxs(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
return /* @__PURE__ */ jsxs(
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
ref,
|
|
13
|
+
className: cn(
|
|
14
|
+
"flex items-start justify-between gap-4 animate-in fade-in slide-in-from-bottom-1 duration-300",
|
|
15
|
+
className
|
|
16
|
+
),
|
|
17
|
+
...props,
|
|
18
|
+
children: [
|
|
19
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
20
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
21
|
+
/* @__PURE__ */ jsx(Typography, { variant: "h3", children: title }),
|
|
22
|
+
titleSlot
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body2", intent: "muted", children: description || " " })
|
|
25
|
+
] }),
|
|
26
|
+
actions && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-2 self-center", children: actions })
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
);
|
|
19
30
|
}
|
|
20
31
|
);
|
|
21
32
|
PageHeader.displayName = "PageHeader";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageHeaderSkeleton.js","sources":["../lib/components/PageHeader/PageHeader.tsx","../lib/components/PageHeader/PageHeaderSkeleton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '../../../shadcn/utils';\nimport { Typography } from '../Typography';\n\nexport interface PageHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string;\n titleSlot?: React.ReactNode;\n description?: string;\n actions?: React.ReactNode;\n}\n\nexport const PageHeader = React.forwardRef<HTMLDivElement, PageHeaderProps>(\n ({ title, titleSlot, description, actions, className, ...props }, ref) => {\n return (\n <div
|
|
1
|
+
{"version":3,"file":"PageHeaderSkeleton.js","sources":["../lib/components/PageHeader/PageHeader.tsx","../lib/components/PageHeader/PageHeaderSkeleton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '../../../shadcn/utils';\nimport { Typography } from '../Typography';\n\nexport interface PageHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string;\n titleSlot?: React.ReactNode;\n description?: string;\n actions?: React.ReactNode;\n}\n\nexport const PageHeader = React.forwardRef<HTMLDivElement, PageHeaderProps>(\n ({ title, titleSlot, description, actions, className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'flex items-start justify-between gap-4 animate-in fade-in slide-in-from-bottom-1 duration-300',\n className,\n )}\n {...props}\n >\n <div className=\"space-y-1\">\n <div className=\"flex items-center gap-2\">\n <Typography variant=\"h3\">{title}</Typography>\n {titleSlot}\n </div>\n {/* Always render the description line (non-breaking space when empty) so the header height is stable */}\n <Typography variant=\"body2\" intent=\"muted\">\n {description || '\\u00A0'}\n </Typography>\n </div>\n {actions && <div className=\"flex shrink-0 items-center gap-2 self-center\">{actions}</div>}\n </div>\n );\n },\n);\n\nPageHeader.displayName = 'PageHeader';\n","import type * as React from 'react';\nimport { cn } from '../../../shadcn/utils';\nimport { Skeleton } from '../Skeleton';\n\nexport interface PageHeaderSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n showDescription?: boolean;\n showActions?: boolean;\n}\n\nexport const PageHeaderSkeleton = ({\n showDescription = true,\n showActions = true,\n className,\n ...props\n}: PageHeaderSkeletonProps) => (\n <div className={cn('flex items-start justify-between gap-4', className)} {...props}>\n <div className=\"space-y-1\">\n <Skeleton className=\"h-7 w-40\" />\n {showDescription && <Skeleton className=\"h-5 w-80\" />}\n </div>\n {showActions && <Skeleton className=\"h-8 w-14 rounded-md\" />}\n </div>\n);\n\nPageHeaderSkeleton.displayName = 'PageHeaderSkeleton';\n"],"names":[],"mappings":";;;;;;AAWO,MAAM,aAAa,KAAA,CAAM,UAAA;AAAA,EAC9B,CAAC,EAAE,KAAA,EAAO,SAAA,EAAW,WAAA,EAAa,SAAS,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACxE,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,+FAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,WAAA,EACb,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,IAAA,EAAM,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,cAC/B;AAAA,aAAA,EACH,CAAA;AAAA,gCAEC,UAAA,EAAA,EAAW,OAAA,EAAQ,SAAQ,MAAA,EAAO,OAAA,EAChC,yBAAe,GAAA,EAClB;AAAA,WAAA,EACF,CAAA;AAAA,UACC,OAAA,oBAAW,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gDAAgD,QAAA,EAAA,OAAA,EAAQ;AAAA;AAAA;AAAA,KACrF;AAAA,EAEJ;AACF;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;;AC7BlB,MAAM,qBAAqB,CAAC;AAAA,EACjC,eAAA,GAAkB,IAAA;AAAA,EAClB,WAAA,GAAc,IAAA;AAAA,EACd,SAAA;AAAA,EACA,GAAG;AACL,CAAA,qBACE,IAAA,CAAC,SAAI,SAAA,EAAW,EAAA,CAAG,0CAA0C,SAAS,CAAA,EAAI,GAAG,KAAA,EAC3E,QAAA,EAAA;AAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,WAAA,EACb,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,WAAU,UAAA,EAAW,CAAA;AAAA,IAC9B,eAAA,oBAAmB,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,UAAA,EAAW;AAAA,GAAA,EACrD,CAAA;AAAA,EACC,WAAA,oBAAe,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,qBAAA,EAAsB;AAAA,CAAA,EAC5D;AAGF,kBAAA,CAAmB,WAAA,GAAc,oBAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordField.js","sources":["../lib/components/PasswordField/PasswordField.tsx"],"sourcesContent":["import { CheckCircle, Eye, EyeOff } from 'lucide-react';\nimport React, { useState } from 'react';\nimport { cn } from '../../../shadcn/utils';\nimport { TextField, type TextFieldProps } from '../TextField/TextField';\n\nexport interface PasswordFieldProps extends Omit<TextFieldProps, 'type' | 'endAdornment'> {\n
|
|
1
|
+
{"version":3,"file":"PasswordField.js","sources":["../lib/components/PasswordField/PasswordField.tsx"],"sourcesContent":["import { CheckCircle, Eye, EyeOff } from 'lucide-react';\nimport React, { useState } from 'react';\nimport { cn } from '../../../shadcn/utils';\nimport { TextField, type TextFieldProps } from '../TextField/TextField';\n\nexport interface PasswordFieldProps extends Omit<TextFieldProps, 'type' | 'endAdornment'> {\n showStrengthIndicator?: boolean;\n\n showMatchIndicator?: boolean;\n\n matchPassword?: string;\n\n toggleAriaLabel?: string;\n}\n\n// Helper function to calculate password strength\nconst getPasswordStrength = (password: string) => {\n let strength = 0;\n if (password.length >= 8) strength += 1;\n if (/[A-Z]/.test(password)) strength += 1;\n if (/[a-z]/.test(password)) strength += 1;\n if (/[0-9]/.test(password)) strength += 1;\n if (/[^A-Za-z0-9]/.test(password)) strength += 1;\n\n if (strength < 2) return { label: 'Weak', color: 'text-destructive', bgColor: 'bg-destructive', width: '25%' };\n if (strength < 4) return { label: 'Fair', color: 'text-warning', bgColor: 'bg-warning', width: '60%' };\n return { label: 'Strong', color: 'text-success', bgColor: 'bg-success', width: '100%' };\n};\n\n// PasswordField component - specialized TextField for password inputs\nexport const PasswordField = React.forwardRef<HTMLInputElement, PasswordFieldProps>(\n (\n {\n showStrengthIndicator = false,\n showMatchIndicator = false,\n matchPassword,\n toggleAriaLabel,\n value = '',\n description,\n error,\n ...props\n },\n ref,\n ) => {\n const [showPassword, setShowPassword] = useState(false);\n\n const togglePasswordVisibility = () => {\n setShowPassword(!showPassword);\n };\n\n const passwordStrength = getPasswordStrength(String(value));\n const passwordsMatch = matchPassword !== undefined && value !== '' && value === matchPassword;\n\n // Build enhanced description by stacking indicators and description separately\n const enhancedDescription = (\n <>\n {/* Password strength indicator */}\n {showStrengthIndicator && value && !error && (\n <div className=\"space-y-1\">\n <div className=\"flex justify-between items-center text-[10px]\">\n <span className=\"text-muted-foreground\">Strength:</span>\n <span className={passwordStrength.color}>{passwordStrength.label}</span>\n </div>\n <div className=\"w-full bg-muted rounded-full h-1\">\n <div\n className={cn('h-1 rounded-full transition-all duration-300', passwordStrength.bgColor)}\n style={{ width: passwordStrength.width }}\n />\n </div>\n </div>\n )}\n\n {/* Password match indicator */}\n {showMatchIndicator && passwordsMatch && !error && (\n <div className=\"flex items-center gap-1\">\n <CheckCircle className=\"h-3 w-3 text-success\" />\n <span className=\"text-[10px] text-success\">Passwords match</span>\n </div>\n )}\n\n {/* Original description (e.g., from zod schema) */}\n {description}\n </>\n );\n\n const eyeIcon = (\n <button\n type=\"button\"\n onClick={togglePasswordVisibility}\n aria-label={toggleAriaLabel || (showPassword ? 'Hide password' : 'Show password')}\n className=\"cursor-pointer\"\n >\n {showPassword ? (\n <EyeOff className=\"h-3.5 w-3.5 text-muted-foreground\" />\n ) : (\n <Eye className=\"h-3.5 w-3.5 text-muted-foreground\" />\n )}\n </button>\n );\n\n return (\n <TextField\n ref={ref}\n {...props}\n type={showPassword ? 'text' : 'password'}\n value={value}\n description={enhancedDescription}\n error={error}\n endAdornment={eyeIcon}\n />\n );\n },\n);\n\nPasswordField.displayName = 'PasswordField';\n"],"names":["React","CheckCircle"],"mappings":"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"}
|
package/dist/PermissionGate.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { useContext, createContext } from 'react';
|
|
3
3
|
import { c as cn } from './utils.js';
|
|
4
4
|
import { L as LockKeyhole } from './lock-keyhole.js';
|
|
5
5
|
import { L as Lock } from './lock.js';
|
|
6
6
|
|
|
7
|
-
const ALLOW = Object.freeze({
|
|
7
|
+
const ALLOW = Object.freeze({
|
|
8
|
+
granted: true,
|
|
9
|
+
locked: false,
|
|
10
|
+
reason: null,
|
|
11
|
+
unlockPlans: [],
|
|
12
|
+
available: true,
|
|
13
|
+
featureName: null
|
|
14
|
+
});
|
|
8
15
|
const ALLOW_GATE = () => ALLOW;
|
|
9
16
|
const GATE_CONTEXT_KEY = /* @__PURE__ */ Symbol.for("@vritti/quantum-ui/PermissionGate");
|
|
10
17
|
const registry = globalThis;
|
|
@@ -21,11 +28,48 @@ function usePermission(code) {
|
|
|
21
28
|
const PermissionLockIcon = ({
|
|
22
29
|
reason,
|
|
23
30
|
className
|
|
24
|
-
}) => reason === "
|
|
31
|
+
}) => reason === "SITE" ? /* @__PURE__ */ jsx(LockKeyhole, { className: cn("text-destructive", className) }) : /* @__PURE__ */ jsx(Lock, { className: cn("text-warning", className) });
|
|
25
32
|
function lockedTip({ reason, unlockPlans }) {
|
|
26
|
-
if (reason === "
|
|
33
|
+
if (reason === "SITE") return "Not enabled for this site";
|
|
27
34
|
return unlockPlans.length > 0 ? `Available in ${unlockPlans.join(", ")}` : "Not included in your plan";
|
|
28
35
|
}
|
|
36
|
+
function lockMessages(result) {
|
|
37
|
+
const name = result.featureName;
|
|
38
|
+
if (!result.granted) {
|
|
39
|
+
return {
|
|
40
|
+
title: name ? `${name} is restricted` : "No access",
|
|
41
|
+
tip: name ? `You don't have permission to view ${name}.` : "You don't have permission to access this."
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (result.reason === "SITE") {
|
|
45
|
+
return {
|
|
46
|
+
title: name ? `${name} not enabled here` : "Not available here",
|
|
47
|
+
tip: name ? `${name} isn't enabled for this site.` : "Not enabled for this site."
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
if (result.unlockPlans.length > 0) {
|
|
51
|
+
const plans = result.unlockPlans.join(", ");
|
|
52
|
+
return {
|
|
53
|
+
title: name ? `Unlock ${name}` : "Upgrade required",
|
|
54
|
+
tip: name ? `${name} is available on ${plans}.` : `Available in ${plans}.`
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
title: name ? `Unlock ${name}` : "Upgrade required",
|
|
59
|
+
tip: name ? `${name} isn't included in your plan.` : "Not included in your plan."
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
const DefaultLockFallback = ({ result }) => /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col items-center justify-center gap-2 text-center", children: [
|
|
63
|
+
/* @__PURE__ */ jsx(PermissionLockIcon, { reason: result.reason, className: "size-10" }),
|
|
64
|
+
/* @__PURE__ */ jsx("p", { className: "max-w-sm text-sm text-muted-foreground", children: lockMessages(result).tip })
|
|
65
|
+
] });
|
|
66
|
+
const PermissionGate = ({ permission, children, fallback }) => {
|
|
67
|
+
const result = usePermission(permission);
|
|
68
|
+
if (result.available) return /* @__PURE__ */ jsx(Fragment, { children });
|
|
69
|
+
if (fallback !== void 0)
|
|
70
|
+
return /* @__PURE__ */ jsx(Fragment, { children: typeof fallback === "function" ? fallback({ ...result, ...lockMessages(result) }) : fallback });
|
|
71
|
+
return /* @__PURE__ */ jsx(DefaultLockFallback, { result });
|
|
72
|
+
};
|
|
29
73
|
|
|
30
|
-
export {
|
|
74
|
+
export { PermissionGate as P, PermissionGateProvider as a, PermissionLockIcon as b, usePermissionGate as c, lockedTip as l, usePermission as u };
|
|
31
75
|
//# sourceMappingURL=PermissionGate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionGate.js","sources":["../lib/components/PermissionGate/PermissionGate.tsx"],"sourcesContent":["import { Lock, LockKeyhole } from 'lucide-react';\nimport type React from 'react';\nimport { createContext, useContext } from 'react';\nimport { cn } from '../../../shadcn/utils';\n\
|
|
1
|
+
{"version":3,"file":"PermissionGate.js","sources":["../lib/components/PermissionGate/PermissionGate.tsx"],"sourcesContent":["import { Lock, LockKeyhole } from 'lucide-react';\nimport type React from 'react';\nimport { createContext, useContext } from 'react';\nimport { cn } from '../../../shadcn/utils';\n\nexport type PermissionLockReason = 'PLAN' | 'SITE';\n\nexport interface PermissionGateResult {\n granted: boolean;\n locked: boolean;\n reason: PermissionLockReason | null;\n unlockPlans: string[];\n available: boolean;\n featureName: string | null;\n}\n\nexport type PermissionGateFn = (code: string) => PermissionGateResult;\n\nconst ALLOW: PermissionGateResult = Object.freeze({\n granted: true,\n locked: false,\n reason: null,\n unlockPlans: [],\n available: true,\n featureName: null,\n});\n\nconst ALLOW_GATE: PermissionGateFn = () => ALLOW;\n\nconst GATE_CONTEXT_KEY = Symbol.for('@vritti/quantum-ui/PermissionGate');\ntype GateRegistry = { [GATE_CONTEXT_KEY]?: React.Context<PermissionGateFn | null> };\nconst registry = globalThis as GateRegistry;\nregistry[GATE_CONTEXT_KEY] ??= createContext<PermissionGateFn | null>(null);\nconst PermissionGateContext = registry[GATE_CONTEXT_KEY];\n\nexport const PermissionGateProvider = PermissionGateContext.Provider;\n\n// The raw gate for mapping over collections; ALLOW-everything when no provider is mounted\nexport function usePermissionGate(): PermissionGateFn {\n return useContext(PermissionGateContext) ?? ALLOW_GATE;\n}\n\n// Total: no provider / no code resolves to ALLOW, so callers never branch on null\nexport function usePermission(code?: string): PermissionGateResult {\n const gate = useContext(PermissionGateContext);\n return code && gate ? gate(code) : ALLOW;\n}\n\n// The lock symbol for a locked control — plan locks show a warning lock, BU locks a red keyhole lock\nexport const PermissionLockIcon: React.FC<{ reason: PermissionLockReason | null; className?: string }> = ({\n reason,\n className,\n}) =>\n reason === 'SITE' ? (\n <LockKeyhole className={cn('text-destructive', className)} />\n ) : (\n <Lock className={cn('text-warning', className)} />\n );\n\n// Shared tooltip copy for locked controls — upsell for plan locks, restriction notice for BU locks\nexport function lockedTip({ reason, unlockPlans }: Pick<PermissionGateResult, 'reason' | 'unlockPlans'>): string {\n if (reason === 'SITE') return 'Not enabled for this site';\n return unlockPlans.length > 0 ? `Available in ${unlockPlans.join(', ')}` : 'Not included in your plan';\n}\n\n// Resolves a blocked control's heading + description, keyed off the resolved feature name when known\nfunction lockMessages(result: Pick<PermissionGateResult, 'granted' | 'reason' | 'unlockPlans' | 'featureName'>): {\n title: string;\n tip: string;\n} {\n const name = result.featureName;\n if (!result.granted) {\n return {\n title: name ? `${name} is restricted` : 'No access',\n tip: name ? `You don't have permission to view ${name}.` : \"You don't have permission to access this.\",\n };\n }\n if (result.reason === 'SITE') {\n return {\n title: name ? `${name} not enabled here` : 'Not available here',\n tip: name ? `${name} isn't enabled for this site.` : 'Not enabled for this site.',\n };\n }\n if (result.unlockPlans.length > 0) {\n const plans = result.unlockPlans.join(', ');\n return {\n title: name ? `Unlock ${name}` : 'Upgrade required',\n tip: name ? `${name} is available on ${plans}.` : `Available in ${plans}.`,\n };\n }\n return {\n title: name ? `Unlock ${name}` : 'Upgrade required',\n tip: name ? `${name} isn't included in your plan.` : 'Not included in your plan.',\n };\n}\n\nexport interface PermissionGateProps {\n permission?: string;\n children: React.ReactNode;\n fallback?: React.ReactNode | ((result: PermissionGateResult & { title: string; tip: string }) => React.ReactNode);\n}\n\n// Default fallback — a centered lock panel with the feature-specific restriction message\nconst DefaultLockFallback: React.FC<{ result: PermissionGateResult }> = ({ result }) => (\n <div className=\"flex flex-1 flex-col items-center justify-center gap-2 text-center\">\n <PermissionLockIcon reason={result.reason} className=\"size-10\" />\n <p className=\"max-w-sm text-sm text-muted-foreground\">{lockMessages(result).tip}</p>\n </div>\n);\n\n// Gates a subtree by permission code: children mount only when granted AND unlocked, else renders `fallback`\nexport const PermissionGate: React.FC<PermissionGateProps> = ({ permission, children, fallback }) => {\n const result = usePermission(permission);\n if (result.available) return <>{children}</>;\n if (fallback !== undefined)\n return <>{typeof fallback === 'function' ? fallback({ ...result, ...lockMessages(result) }) : fallback}</>;\n return <DefaultLockFallback result={result} />;\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { S as Select } from './Select.js';
|
|
4
|
+
|
|
5
|
+
const PersonSelector = forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
6
|
+
Select,
|
|
7
|
+
{
|
|
8
|
+
ref,
|
|
9
|
+
label: "Person",
|
|
10
|
+
placeholder: "Search people by name",
|
|
11
|
+
searchable: true,
|
|
12
|
+
optionsEndpoint: "commerce-api/select-api/people",
|
|
13
|
+
fieldKeys: { valueKey: "id", labelKey: "displayName" },
|
|
14
|
+
...props
|
|
15
|
+
}
|
|
16
|
+
));
|
|
17
|
+
PersonSelector.displayName = "PersonSelector";
|
|
18
|
+
|
|
19
|
+
export { PersonSelector as P };
|
|
20
|
+
//# sourceMappingURL=PersonSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PersonSelector.js","sources":["../lib/components/PersonSelector/PersonSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../Select/Select';\n\nexport type PersonSelectorProps = Omit<SelectProps, 'optionsEndpoint'>;\n\n// Pre-configured Select for person selection with async search\nexport const PersonSelector = forwardRef<HTMLButtonElement, PersonSelectorProps>((props, ref) => (\n <Select\n ref={ref}\n label=\"Person\"\n placeholder=\"Search people by name\"\n searchable\n optionsEndpoint=\"commerce-api/select-api/people\"\n fieldKeys={{ valueKey: 'id', labelKey: 'displayName' }}\n {...props}\n />\n));\nPersonSelector.displayName = 'PersonSelector';\n"],"names":[],"mappings":";;;;AAMO,MAAM,cAAA,GAAiB,UAAA,CAAmD,CAAC,KAAA,EAAO,GAAA,qBACvF,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,KAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAY,uBAAA;AAAA,IACZ,UAAA,EAAU,IAAA;AAAA,IACV,eAAA,EAAgB,gCAAA;AAAA,IAChB,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,aAAA,EAAc;AAAA,IACpD,GAAG;AAAA;AACN,CACD;AACD,cAAA,CAAe,WAAA,GAAc,gBAAA;;;;"}
|
package/dist/PhoneField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneField.js","sources":["../lib/components/PhoneField/PhoneField.tsx"],"sourcesContent":["import React from 'react';\nimport PhoneInputBase, { type Country, type Value } from 'react-phone-number-input';\nimport 'react-phone-number-input/style.css';\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '../../../shadcn/shadcnField';\nimport { cn } from '../../../shadcn/utils';\n\nexport interface PhoneFieldProps {\n
|
|
1
|
+
{"version":3,"file":"PhoneField.js","sources":["../lib/components/PhoneField/PhoneField.tsx"],"sourcesContent":["import React from 'react';\nimport PhoneInputBase, { type Country, type Value } from 'react-phone-number-input';\nimport 'react-phone-number-input/style.css';\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '../../../shadcn/shadcnField';\nimport { cn } from '../../../shadcn/utils';\n\nexport interface PhoneFieldProps {\n name?: string;\n\n value?: Value;\n\n onChange?: (value: Value | undefined) => void;\n\n onCountryChange?: (country: Country | undefined) => void;\n\n defaultCountry?: Country;\n\n label?: string;\n\n description?: React.ReactNode;\n\n error?: string;\n\n disabled?: boolean;\n\n className?: string;\n\n placeholder?: string;\n}\n\n// PhoneField component - specialized input for international phone numbers with Field system\nexport const PhoneField = React.forwardRef<HTMLInputElement, PhoneFieldProps>(\n (\n {\n name: _name,\n value,\n onChange = () => {},\n onCountryChange,\n defaultCountry = 'IN',\n label,\n description,\n error,\n disabled,\n className,\n placeholder,\n },\n _ref,\n ) => {\n const fieldId = React.useId();\n const hasError = !!error;\n const phoneInputStyle = {\n '--PhoneInputCountryFlag-backgroundColor--loading': 'transparent',\n '--PhoneInputCountryFlag-borderColor': 'transparent',\n '--PhoneInputCountryFlag-borderWidth': 0,\n } as React.CSSProperties;\n\n return (\n <Field data-disabled={disabled}>\n {label && <FieldLabel>{label}</FieldLabel>}\n\n <FieldContent>\n <PhoneInputBase\n international\n defaultCountry={defaultCountry}\n value={value}\n onChange={onChange}\n onCountryChange={onCountryChange}\n disabled={disabled}\n placeholder={placeholder}\n aria-describedby={description || error ? `${fieldId}-description ${fieldId}-error` : undefined}\n aria-invalid={hasError}\n style={phoneInputStyle}\n className={cn(\n 'flex h-9 w-full rounded-md border border-input bg-transparent dark:bg-input/30 px-3 py-1 text-sm shadow-xs transition-[color,box-shadow]',\n 'placeholder:text-muted-foreground',\n 'focus-within:outline-none focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[1px]',\n disabled && 'opacity-50 cursor-not-allowed pointer-events-none',\n hasError && 'border-destructive focus-within:ring-destructive/20 dark:focus-within:ring-destructive/40',\n className,\n )}\n numberInputProps={{\n className: cn('flex-1 bg-transparent outline-none', 'placeholder:text-muted-foreground'),\n }}\n countrySelectProps={{\n className: cn('mr-2 bg-transparent border-none outline-none', 'focus:ring-0'),\n }}\n />\n\n {description && <FieldDescription id={`${fieldId}-description`}>{description}</FieldDescription>}\n\n {error && <FieldError id={`${fieldId}-error`}>{error}</FieldError>}\n </FieldContent>\n </Field>\n );\n },\n);\n\nPhoneField.displayName = 'PhoneField';\n"],"names":["React"],"mappings":";;;;;;AA+BO,MAAM,aAAaA,cAAA,CAAM,UAAA;AAAA,EAC9B,CACE;AAAA,IACE,IAAA,EAAM,KAAA;AAAA,IACN,KAAA;AAAA,IACA,WAAW,MAAM;AAAA,IAAC,CAAA;AAAA,IAClB,eAAA;AAAA,IACA,cAAA,GAAiB,IAAA;AAAA,IACjB,KAAA;AAAA,IACA,WAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,KAEF,IAAA,KACG;AACH,IAAA,MAAM,OAAA,GAAUA,eAAM,KAAA,EAAM;AAC5B,IAAA,MAAM,QAAA,GAAW,CAAC,CAAC,KAAA;AACnB,IAAA,MAAM,eAAA,GAAkB;AAAA,MACtB,kDAAA,EAAoD,aAAA;AAAA,MACpD,qCAAA,EAAuC,aAAA;AAAA,MACvC,qCAAA,EAAuC;AAAA,KACzC;AAEA,IAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAM,eAAA,EAAe,QAAA,EACnB,QAAA,EAAA;AAAA,MAAA,KAAA,oBAAS,GAAA,CAAC,cAAY,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,2BAE5B,YAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAa,IAAA;AAAA,YACb,cAAA;AAAA,YACA,KAAA;AAAA,YACA,QAAA;AAAA,YACA,eAAA;AAAA,YACA,QAAA;AAAA,YACA,WAAA;AAAA,YACA,oBAAkB,WAAA,IAAe,KAAA,GAAQ,GAAG,OAAO,CAAA,aAAA,EAAgB,OAAO,CAAA,MAAA,CAAA,GAAW,MAAA;AAAA,YACrF,cAAA,EAAc,QAAA;AAAA,YACd,KAAA,EAAO,eAAA;AAAA,YACP,SAAA,EAAW,EAAA;AAAA,cACT,0IAAA;AAAA,cACA,mCAAA;AAAA,cACA,sGAAA;AAAA,cACA,QAAA,IAAY,mDAAA;AAAA,cACZ,QAAA,IAAY,2FAAA;AAAA,cACZ;AAAA,aACF;AAAA,YACA,gBAAA,EAAkB;AAAA,cAChB,SAAA,EAAW,EAAA,CAAG,oCAAA,EAAsC,mCAAmC;AAAA,aACzF;AAAA,YACA,kBAAA,EAAoB;AAAA,cAClB,SAAA,EAAW,EAAA,CAAG,8CAAA,EAAgD,cAAc;AAAA;AAC9E;AAAA,SACF;AAAA,QAEC,+BAAe,GAAA,CAAC,gBAAA,EAAA,EAAiB,IAAI,CAAA,EAAG,OAAO,gBAAiB,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,QAE5E,yBAAS,GAAA,CAAC,UAAA,EAAA,EAAW,IAAI,CAAA,EAAG,OAAO,UAAW,QAAA,EAAA,KAAA,EAAM;AAAA,OAAA,EACvD;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AACF;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;;;;"}
|