@clickhouse/click-ui 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +14 -7
- package/dist/cjs/click-ui.css +3435 -3428
- package/dist/cjs/components/Accordion/Accordion.module.css.cjs.map +1 -1
- package/dist/cjs/components/Accordion/index.cjs.map +1 -1
- package/dist/cjs/components/Alert/Alert.css +4 -0
- package/dist/cjs/components/Alert/Alert.module.css.cjs +3 -0
- package/dist/cjs/components/Alert/Alert.module.css.cjs.map +1 -1
- package/dist/cjs/components/Alert/index.cjs +3 -3
- package/dist/cjs/components/Alert/index.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Australia.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Austria.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Bahrain.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Belgium.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Brazil.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Canada.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Chile.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/China.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Denmark.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/European-Union.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Finland.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/France.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Germany.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Great-Britain.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Greece.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Hong-Kong.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/India.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Indonesia.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Ireland.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Israel.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Italy.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Japan.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Malaysia.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Mexico.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Netherlands.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/New-Zealand.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Norway.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Poland.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Qatar.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Saudi-Arabia.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Singapore.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/South-Africa.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/South-Korea.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Spain.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Sweden.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Switzerland.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Taiwan.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/Thailand.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/United-Arab-Emirates.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/United-Kingdom.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/United-States.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/system/Flag.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/system/FlagsDark.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/system/FlagsLight.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Activity.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Alarm.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Arrow-Directions.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Arrow-Down.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Arrow-Left.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Arrow-Right.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Arrow-Triangle.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Arrow-Up.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Auth-App.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Auth-Sms.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Backups.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Bar-Chart.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Bell.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Beta.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Blog.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Bold.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Book.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Brackets.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Briefcase.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Building.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Burger-Menu.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Calendar-With-Time.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Calendar.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Cards.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Cell-Tower.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chart-Area.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chart-Bar-Horizontal.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chart-Cloud.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chart-Donut.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chart-Heatmap.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chart-Scatter.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chart-Square.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chart-Stacked-Horizontal.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chart-Stacked-Vertical.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chat.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Check-In-Circle.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Check.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chevron-Down.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chevron-Left.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chevron-Right.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Chevron-Up.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Circle.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Clock.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Cloud-Keys.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Cloud.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Code-In-Square.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Code.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Collapse-All.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Connect-Alt.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Connect.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Console.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Copy.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Cpu.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Credit-Card.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Cross.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Data-Lakes.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Data.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Database.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Disk.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Display.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Document.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Dollar.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Dot.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Dots-Horizontal.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Dots-Triangle.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Dots-Vertical-Double.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Dots-Vertical.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Double-Check.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Download-In-Circle.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Download.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Email.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Empty.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Enter.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Expand-All.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Eye-Closed.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Eye.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Filter.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Fire.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Flag.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Flash.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Flask.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Folder-Closed.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Folder-Open.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Gear.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Gift.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Git-Merge.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Globe.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Grid-Dots.cjs +30 -0
- package/dist/cjs/components/Assets/Icons/Grid-Dots.cjs.map +1 -0
- package/dist/cjs/components/Assets/Icons/Hexagon.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/History.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Home.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Horizontal-Loading.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Http-Monitoring.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Http.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Info-In-Circle.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Information.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Insert-Row.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Integrations.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Italic.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Key.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Keys.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Lifebuoy.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Light-Bulb-On.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Light-Bulb.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Lightening.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Line-In-Circle.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/List-Bulleted.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/List-Numbered.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Loaders.css +3 -3
- package/dist/cjs/components/Assets/Icons/Loaders.module.css.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Loading-Animated.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Loading.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Lock.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Map-Pin.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Mcp.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Metrics-Alt.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Metrics.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Minus.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Moon.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/No-Cloud.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Pause.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Payment.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Pencil.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Pie-Chart.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Pin.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Pipe.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Play-In-Circle.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Play.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Plug.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Plus.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Popin.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Popout.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Popover-Arrow.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Puzzle-Piece.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Query.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Question.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Refresh.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Resize-Arrows-Horizontal.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Resize-Arrows-Vertical.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Rocket.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Sand-Glass.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Search.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Secure.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Server.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Services.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Settings.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Share-Network.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Share.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Sleep.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Slide-In.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Slide-Out.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Sort-Alt.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Sort.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Sparkle.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Speaker.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Speed.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Square.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Star.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Stop.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Support.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Table.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Taxi.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Text-Slash.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Thumbs-Down.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Thumbs-Up.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Trash.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Tree-Structure.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Underline.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Unpin.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Upgrade.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Upload.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Url.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/User.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Users.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Warning.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Waves.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/system/IconsLight.cjs +2 -0
- package/dist/cjs/components/Assets/Icons/system/IconsLight.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/AWS.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/AWS_ATHENA.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/AWS_AURORA.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/AWS_GLUE.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/AWS_KINESIS.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/AWS_MSK.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/AWS_RDS.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/AWS_REDSHIFT.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/AWS_S3.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Airbyte.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Alloydb.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/ApacheIceberg.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Azure.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Azure_Blob_Storage.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Azure_Event_Hub.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Biglake-Metastore.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Bigquery.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Clickhouse.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Cloudflare.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Confluent.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Crunchy_Bridge.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Csharp.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Databricks.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Datagrip.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Dbeaver.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Dbt.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Decodeable.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Deepnote.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Deltalake.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Digitalocean.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/FeatureDatabase.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/FeatureHexagon.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Fivetran.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/GCS.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Gcp.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Github.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Golang.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Google.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Grafana.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Hex.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Hudi.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Iceberg.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Jdbc.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Kafka.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Kubernetes.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Lakekeeper.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Mariadb.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Metabase.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Microsoft.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Mongodb.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Mysql.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Neondb.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Nessie.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Nodejs.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/OVH.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Onelake.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Planetscale.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Polaris.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Postgres.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Prequel.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Python.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Redpanda.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Rust.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Snowflake.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Supabase.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Superset.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Tableau.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Tigerdata.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Upstash.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Vector.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/Warpstream.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/system/Logo.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/system/LogosDark.cjs.map +1 -1
- package/dist/cjs/components/Assets/Logos/system/LogosLight.cjs.map +1 -1
- package/dist/cjs/components/Assets/Payments/Amex.cjs.map +1 -1
- package/dist/cjs/components/Assets/Payments/Mastercard.cjs.map +1 -1
- package/dist/cjs/components/Assets/Payments/Paypal.cjs.map +1 -1
- package/dist/cjs/components/Assets/Payments/Visa.cjs.map +1 -1
- package/dist/cjs/components/Assets/Payments/system/Payment.cjs.map +1 -1
- package/dist/cjs/components/Assets/Payments/system/PaymentsDark.cjs.map +1 -1
- package/dist/cjs/components/Assets/Payments/system/PaymentsLight.cjs.map +1 -1
- package/dist/cjs/components/Assets/config.cjs.map +1 -1
- package/dist/cjs/components/AutoComplete/AutoComplete.module.css.cjs.map +1 -1
- package/dist/cjs/components/AutoComplete/OptionContext.cjs.map +1 -1
- package/dist/cjs/components/AutoComplete/index.cjs +3 -3
- package/dist/cjs/components/AutoComplete/index.cjs.map +1 -1
- package/dist/cjs/components/AutoComplete/useOption.cjs.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.module.css.cjs.map +1 -1
- package/dist/cjs/components/Avatar/index.cjs.map +1 -1
- package/dist/cjs/components/Badge/Badge.module.css.cjs.map +1 -1
- package/dist/cjs/components/Badge/index.cjs.map +1 -1
- package/dist/cjs/components/BigStat/BigStat.module.css.cjs.map +1 -1
- package/dist/cjs/components/BigStat/index.cjs.map +1 -1
- package/dist/cjs/components/Button/BaseButton.cjs.map +1 -1
- package/dist/cjs/components/Button/BaseButton.module.css.cjs.map +1 -1
- package/dist/cjs/components/Button/Button.module.css.cjs.map +1 -1
- package/dist/cjs/components/Button/index.cjs.map +1 -1
- package/dist/cjs/components/ButtonGroup/ButtonGroup.module.css.cjs.map +1 -1
- package/dist/cjs/components/ButtonGroup/index.cjs +0 -1
- package/dist/cjs/components/ButtonGroup/index.cjs.map +1 -1
- package/dist/cjs/components/CardHorizontal/CardHorizontal.module.css.cjs.map +1 -1
- package/dist/cjs/components/CardHorizontal/index.cjs +3 -2
- package/dist/cjs/components/CardHorizontal/index.cjs.map +1 -1
- package/dist/cjs/components/CardPrimary/CardPrimary.module.css.cjs.map +1 -1
- package/dist/cjs/components/CardPrimary/CardPrimaryTopBadge.cjs.map +1 -1
- package/dist/cjs/components/CardPrimary/index.cjs +4 -3
- package/dist/cjs/components/CardPrimary/index.cjs.map +1 -1
- package/dist/cjs/components/CardPrimary/withTopBadge.cjs.map +1 -1
- package/dist/cjs/components/CardPromotion/CardPromotion.module.css.cjs.map +1 -1
- package/dist/cjs/components/CardPromotion/index.cjs.map +1 -1
- package/dist/cjs/components/CardSecondary/CardSecondary.module.css.cjs.map +1 -1
- package/dist/cjs/components/CardSecondary/index.cjs.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.module.css.cjs.map +1 -1
- package/dist/cjs/components/Checkbox/index.cjs.map +1 -1
- package/dist/cjs/components/CheckboxMultiSelect/index.cjs.map +1 -1
- package/dist/cjs/components/CodeBlock/CodeBlock.module.css.cjs.map +1 -1
- package/dist/cjs/components/CodeBlock/InlineCodeBlock.cjs.map +1 -1
- package/dist/cjs/components/CodeBlock/InlineCodeBlock.module.css.cjs.map +1 -1
- package/dist/cjs/components/CodeBlock/index.cjs.map +1 -1
- package/dist/cjs/components/CodeBlock/useColorStyle.cjs.map +1 -1
- package/dist/cjs/components/Collapsible/Collapsible.module.css.cjs.map +1 -1
- package/dist/cjs/components/Collapsible/IconWrapper.cjs.map +1 -1
- package/dist/cjs/components/Collapsible/index.cjs.map +1 -1
- package/dist/cjs/components/ConfirmationDialog/ConfirmationDialog.module.css.cjs.map +1 -1
- package/dist/cjs/components/ConfirmationDialog/index.cjs.map +1 -1
- package/dist/cjs/components/Container/Container.module.css.cjs.map +1 -1
- package/dist/cjs/components/Container/index.cjs.map +1 -1
- package/dist/cjs/components/ContextMenu/ContextMenu.module.css.cjs.map +1 -1
- package/dist/cjs/components/ContextMenu/index.cjs +1 -2
- package/dist/cjs/components/ContextMenu/index.cjs.map +1 -1
- package/dist/cjs/components/CrossButton/CrossButton.module.css.cjs.map +1 -1
- package/dist/cjs/components/CrossButton/index.cjs.map +1 -1
- package/dist/cjs/components/DateDetails/index.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/Common.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/Common.module.css.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.module.css.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DateRangePicker.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DateRangePicker.module.css.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DateTimeRangePicker.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DateTimeRangePicker.module.css.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/index.cjs +4 -4
- package/dist/cjs/components/DatePicker/index.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/utils.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.module.css.cjs.map +1 -1
- package/dist/cjs/components/Dialog/index.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.module.css.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/index.cjs +12 -12
- package/dist/cjs/components/Dropdown/index.cjs.map +1 -1
- package/dist/cjs/components/EllipsisContent/EllipsisContent.module.css.cjs.map +1 -1
- package/dist/cjs/components/EllipsisContent/index.cjs.map +1 -1
- package/dist/cjs/components/EmptyButton/EmptyButton.module.css.cjs.map +1 -1
- package/dist/cjs/components/EmptyButton/index.cjs.map +1 -1
- package/dist/cjs/components/FileTabs/FileTabs.module.css.cjs.map +1 -1
- package/dist/cjs/components/FileTabs/index.cjs.map +1 -1
- package/dist/cjs/components/FileUpload/FileMultiUpload.cjs.map +1 -1
- package/dist/cjs/components/FileUpload/FileMultiUpload.module.css.cjs.map +1 -1
- package/dist/cjs/components/FileUpload/FileUploadArea.cjs +76 -73
- package/dist/cjs/components/FileUpload/FileUploadArea.cjs.map +1 -1
- package/dist/cjs/components/FileUpload/FileUploadArea.module.css.cjs.map +1 -1
- package/dist/cjs/components/FileUpload/FileUploadItem.cjs.map +1 -1
- package/dist/cjs/components/FileUpload/FileUploadItem.module.css.cjs.map +1 -1
- package/dist/cjs/components/FileUpload/index.cjs.map +1 -1
- package/dist/cjs/components/FileUpload/useDragAndDrop.cjs.map +1 -1
- package/dist/cjs/components/Flyout/Flyout.module.css.cjs.map +1 -1
- package/dist/cjs/components/Flyout/index.cjs.map +1 -1
- package/dist/cjs/components/FormContainer/Error.cjs.map +1 -1
- package/dist/cjs/components/FormContainer/Error.module.css.cjs.map +1 -1
- package/dist/cjs/components/FormContainer/FormElementContainer.cjs.map +1 -1
- package/dist/cjs/components/FormContainer/FormElementContainer.module.css.cjs.map +1 -1
- package/dist/cjs/components/FormContainer/FormRoot.cjs.map +1 -1
- package/dist/cjs/components/FormContainer/FormRoot.module.css.cjs.map +1 -1
- package/dist/cjs/components/FormContainer/index.cjs.map +1 -1
- package/dist/cjs/components/GenericLabel/GenericLabel.module.css.cjs.map +1 -1
- package/dist/cjs/components/GenericLabel/index.cjs.map +1 -1
- package/dist/cjs/components/GenericMenu/GenericMenu.css +7 -6
- package/dist/cjs/components/GenericMenu/GenericMenu.module.css.cjs.map +1 -1
- package/dist/cjs/components/GenericMenu/index.cjs.map +1 -1
- package/dist/cjs/components/Grid/Cell.cjs.map +1 -1
- package/dist/cjs/components/Grid/ColumnResizer.cjs +32 -29
- package/dist/cjs/components/Grid/ColumnResizer.cjs.map +1 -1
- package/dist/cjs/components/Grid/ColumnResizer.module.css.cjs.map +1 -1
- package/dist/cjs/components/Grid/Grid.module.css.cjs.map +1 -1
- package/dist/cjs/components/Grid/Header.cjs.map +1 -1
- package/dist/cjs/components/Grid/Header.module.css.cjs.map +1 -1
- package/dist/cjs/components/Grid/RowNumberColumn.cjs.map +1 -1
- package/dist/cjs/components/Grid/RowNumberColumn.module.css.cjs.map +1 -1
- package/dist/cjs/components/Grid/StyledCell.cjs.map +1 -1
- package/dist/cjs/components/Grid/StyledCell.module.css.cjs.map +1 -1
- package/dist/cjs/components/Grid/copyGridElements.cjs.map +1 -1
- package/dist/cjs/components/Grid/index.cjs.map +1 -1
- package/dist/cjs/components/Grid/useColumns.cjs.map +1 -1
- package/dist/cjs/components/Grid/useResizingState.cjs.map +1 -1
- package/dist/cjs/components/Grid/useSelectionActions.cjs.map +1 -1
- package/dist/cjs/components/GridContainer/GridContainer.module.css.cjs.map +1 -1
- package/dist/cjs/components/GridContainer/index.cjs.map +1 -1
- package/dist/cjs/components/HoverCard/HoverCard.module.css.cjs.map +1 -1
- package/dist/cjs/components/HoverCard/index.cjs.map +1 -1
- package/dist/cjs/components/Icon/Icon.module.css.cjs.map +1 -1
- package/dist/cjs/components/Icon/IconCommon.cjs.map +1 -1
- package/dist/cjs/components/Icon/SvgImageElement.cjs.map +1 -1
- package/dist/cjs/components/Icon/index.cjs.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.module.css.cjs.map +1 -1
- package/dist/cjs/components/IconButton/index.cjs +0 -1
- package/dist/cjs/components/IconButton/index.cjs.map +1 -1
- package/dist/cjs/components/IconWrapper/index.cjs +1 -2
- package/dist/cjs/components/IconWrapper/index.cjs.map +1 -1
- package/dist/cjs/components/InputWrapper/InputWrapper.module.css.cjs.map +1 -1
- package/dist/cjs/components/InputWrapper/index.cjs.map +1 -1
- package/dist/cjs/components/Label/Label.module.css.cjs.map +1 -1
- package/dist/cjs/components/Label/index.cjs.map +1 -1
- package/dist/cjs/components/Link/Link.module.css.cjs.map +1 -1
- package/dist/cjs/components/Link/index.cjs.map +1 -1
- package/dist/cjs/components/MiddleTruncator/MiddleTruncator.module.css.cjs.map +1 -1
- package/dist/cjs/components/MiddleTruncator/index.cjs.map +1 -1
- package/dist/cjs/components/MultiAccordion/MultiAccordion.module.css.cjs.map +1 -1
- package/dist/cjs/components/MultiAccordion/index.cjs.map +1 -1
- package/dist/cjs/components/MultiSelect/index.cjs.map +1 -1
- package/dist/cjs/components/NumberField/index.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.module.css.cjs.map +1 -1
- package/dist/cjs/components/Pagination/index.cjs.map +1 -1
- package/dist/cjs/components/Panel/Panel.module.css.cjs.map +1 -1
- package/dist/cjs/components/Panel/index.cjs.map +1 -1
- package/dist/cjs/components/PasswordField/index.cjs.map +1 -1
- package/dist/cjs/components/Popover/Popover.module.css.cjs.map +1 -1
- package/dist/cjs/components/Popover/index.cjs.map +1 -1
- package/dist/cjs/components/ProgressBar/ProgressBar.module.css.cjs.map +1 -1
- package/dist/cjs/components/ProgressBar/index.cjs +2 -1
- package/dist/cjs/components/ProgressBar/index.cjs.map +1 -1
- package/dist/cjs/components/RadioGroup/RadioGroup.module.css.cjs.map +1 -1
- package/dist/cjs/components/RadioGroup/index.cjs.map +1 -1
- package/dist/cjs/components/SearchField/index.cjs.map +1 -1
- package/dist/cjs/components/Select/MultiSelectValue.cjs.map +1 -1
- package/dist/cjs/components/Select/MultiSelectValue.module.css.cjs.map +1 -1
- package/dist/cjs/components/Select/SingleSelectValue.cjs +0 -1
- package/dist/cjs/components/Select/SingleSelectValue.cjs.map +1 -1
- package/dist/cjs/components/Select/SingleSelectValue.module.css.cjs.map +1 -1
- package/dist/cjs/components/Select/common/InternalSelect.cjs +0 -2
- package/dist/cjs/components/Select/common/InternalSelect.cjs.map +1 -1
- package/dist/cjs/components/Select/common/OptionContext.cjs.map +1 -1
- package/dist/cjs/components/Select/common/SelectComponents.cjs.map +1 -1
- package/dist/cjs/components/Select/common/SelectComponents.module.css.cjs.map +1 -1
- package/dist/cjs/components/Select/common/useOption.cjs.map +1 -1
- package/dist/cjs/components/Select/index.cjs.map +1 -1
- package/dist/cjs/components/Separator/Separator.module.css.cjs.map +1 -1
- package/dist/cjs/components/Separator/index.cjs.map +1 -1
- package/dist/cjs/components/SidebarCollapsibleItem/index.cjs.map +1 -1
- package/dist/cjs/components/SidebarCollapsibleTitle/index.cjs.map +1 -1
- package/dist/cjs/components/SidebarNavigationItem/SidebarNavigationItem.module.css.cjs.map +1 -1
- package/dist/cjs/components/SidebarNavigationItem/index.cjs.map +1 -1
- package/dist/cjs/components/SidebarNavigationTitle/SidebarNavigationTitle.module.css.cjs.map +1 -1
- package/dist/cjs/components/SidebarNavigationTitle/index.cjs.map +1 -1
- package/dist/cjs/components/Spacer/Spacer.module.css.cjs.map +1 -1
- package/dist/cjs/components/Spacer/index.cjs.map +1 -1
- package/dist/cjs/components/SplitButton/SplitButton.module.css.cjs.map +1 -1
- package/dist/cjs/components/SplitButton/index.cjs.map +1 -1
- package/dist/cjs/components/Switch/Switch.module.css.cjs.map +1 -1
- package/dist/cjs/components/Switch/index.cjs.map +1 -1
- package/dist/cjs/components/Table/Table.module.css.cjs.map +1 -1
- package/dist/cjs/components/Table/index.cjs +73 -61
- package/dist/cjs/components/Table/index.cjs.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.module.css.cjs.map +1 -1
- package/dist/cjs/components/Tabs/index.cjs.map +1 -1
- package/dist/cjs/components/Text/Text.module.css.cjs.map +1 -1
- package/dist/cjs/components/Text/index.cjs.map +1 -1
- package/dist/cjs/components/TextAreaField/index.cjs.map +1 -1
- package/dist/cjs/components/TextField/index.cjs.map +1 -1
- package/dist/cjs/components/Title/Title.module.css.cjs.map +1 -1
- package/dist/cjs/components/Title/index.cjs.map +1 -1
- package/dist/cjs/components/Toast/Toast.module.css.cjs.map +1 -1
- package/dist/cjs/components/Toast/index.cjs.map +1 -1
- package/dist/cjs/components/Toast/toastEmitter.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.module.css.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/index.cjs.map +1 -1
- package/dist/cjs/components/VerticalStepper/VerticalStepper.module.css.cjs.map +1 -1
- package/dist/cjs/components/VerticalStepper/index.cjs.map +1 -1
- package/dist/cjs/hooks/internal/useInputModality.cjs.map +1 -1
- package/dist/cjs/hooks/internal/useUpdateEffect.cjs.map +1 -1
- package/dist/cjs/hooks/useCUITheme.cjs.map +1 -1
- package/dist/cjs/hooks/useInitialTheme.cjs.map +1 -1
- package/dist/cjs/hooks/useToast.cjs.map +1 -1
- package/dist/cjs/index.cjs +39 -39
- package/dist/cjs/lib/EventEmitter.cjs.map +1 -1
- package/dist/cjs/lib/cva.cjs.map +1 -1
- package/dist/cjs/lib/getTextFromNodes.cjs.map +1 -1
- package/dist/cjs/providers/ClickUIProvider.cjs.map +1 -1
- package/dist/cjs/providers/PortalContext.cjs.map +1 -1
- package/dist/cjs/providers/PortalProvider.cjs.map +1 -1
- package/dist/cjs/theme/InitCUIThemeScript/index.cjs +8 -8
- package/dist/cjs/theme/InitCUIThemeScript/index.cjs.map +1 -1
- package/dist/cjs/theme/ThemeContext.cjs.map +1 -1
- package/dist/cjs/theme/styles/tokens-dark.css +2 -1
- package/dist/cjs/theme/styles/tokens-light.css +2 -1
- package/dist/cjs/theme/theme.config.json.cjs.map +1 -1
- package/dist/cjs/theme/theme.core.cjs.map +1 -1
- package/dist/cjs/theme/theme.utils.cjs.map +1 -1
- package/dist/cjs/theme/tokens/variables.dark.cjs +226 -226
- package/dist/cjs/theme/tokens/variables.dark.cjs.map +1 -1
- package/dist/cjs/theme/tokens/variables.light.cjs +226 -226
- package/dist/cjs/theme/tokens/variables.light.cjs.map +1 -1
- package/dist/cjs/utils/date.cjs.map +1 -1
- package/dist/cjs/utils/dom.cjs +4 -7
- package/dist/cjs/utils/dom.cjs.map +1 -1
- package/dist/cjs/utils/file.cjs.map +1 -1
- package/dist/cjs/utils/localStorage.cjs.map +1 -1
- package/dist/cjs/utils/mergeRefs.cjs.map +1 -1
- package/dist/cjs/utils/url.cjs +24 -0
- package/dist/cjs/utils/url.cjs.map +1 -0
- package/dist/esm/click-ui.css +3435 -3428
- package/dist/esm/components/Accordion/Accordion.module.css.js.map +1 -1
- package/dist/esm/components/Accordion/index.js.map +1 -1
- package/dist/esm/components/Alert/Alert.css +4 -0
- package/dist/esm/components/Alert/Alert.module.css.js +3 -1
- package/dist/esm/components/Alert/index.js +4 -4
- package/dist/esm/components/Alert/index.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Australia.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Austria.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Bahrain.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Belgium.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Brazil.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Canada.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Chile.js.map +1 -1
- package/dist/esm/components/Assets/Flags/China.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Denmark.js.map +1 -1
- package/dist/esm/components/Assets/Flags/European-Union.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Finland.js.map +1 -1
- package/dist/esm/components/Assets/Flags/France.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Germany.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Great-Britain.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Greece.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Hong-Kong.js.map +1 -1
- package/dist/esm/components/Assets/Flags/India.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Indonesia.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Ireland.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Israel.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Italy.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Japan.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Malaysia.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Mexico.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Netherlands.js.map +1 -1
- package/dist/esm/components/Assets/Flags/New-Zealand.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Norway.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Poland.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Qatar.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Saudi-Arabia.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Singapore.js.map +1 -1
- package/dist/esm/components/Assets/Flags/South-Africa.js.map +1 -1
- package/dist/esm/components/Assets/Flags/South-Korea.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Spain.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Sweden.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Switzerland.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Taiwan.js.map +1 -1
- package/dist/esm/components/Assets/Flags/Thailand.js.map +1 -1
- package/dist/esm/components/Assets/Flags/United-Arab-Emirates.js.map +1 -1
- package/dist/esm/components/Assets/Flags/United-Kingdom.js.map +1 -1
- package/dist/esm/components/Assets/Flags/United-States.js.map +1 -1
- package/dist/esm/components/Assets/Flags/system/Flag.js.map +1 -1
- package/dist/esm/components/Assets/Flags/system/FlagsDark.js.map +1 -1
- package/dist/esm/components/Assets/Flags/system/FlagsLight.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Activity.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Alarm.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Arrow-Directions.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Arrow-Down.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Arrow-Left.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Arrow-Right.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Arrow-Triangle.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Arrow-Up.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Auth-App.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Auth-Sms.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Backups.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Bar-Chart.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Bell.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Beta.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Blog.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Bold.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Book.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Brackets.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Briefcase.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Building.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Burger-Menu.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Calendar-With-Time.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Calendar.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Cards.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Cell-Tower.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chart-Area.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chart-Bar-Horizontal.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chart-Cloud.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chart-Donut.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chart-Heatmap.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chart-Scatter.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chart-Square.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chart-Stacked-Horizontal.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chart-Stacked-Vertical.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chat.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Check-In-Circle.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Check.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chevron-Down.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chevron-Left.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chevron-Right.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Chevron-Up.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Circle.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Clock.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Cloud-Keys.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Cloud.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Code-In-Square.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Code.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Collapse-All.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Connect-Alt.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Connect.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Console.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Copy.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Cpu.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Credit-Card.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Cross.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Data-Lakes.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Data.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Database.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Disk.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Display.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Document.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Dollar.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Dot.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Dots-Horizontal.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Dots-Triangle.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Dots-Vertical-Double.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Dots-Vertical.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Double-Check.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Download-In-Circle.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Download.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Email.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Empty.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Enter.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Expand-All.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Eye-Closed.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Eye.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Filter.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Fire.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Flag.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Flash.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Flask.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Folder-Closed.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Folder-Open.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Gear.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Gift.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Git-Merge.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Globe.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Grid-Dots.js +26 -0
- package/dist/esm/components/Assets/Icons/Grid-Dots.js.map +1 -0
- package/dist/esm/components/Assets/Icons/Hexagon.js.map +1 -1
- package/dist/esm/components/Assets/Icons/History.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Home.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Horizontal-Loading.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Http-Monitoring.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Http.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Info-In-Circle.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Information.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Insert-Row.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Integrations.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Italic.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Key.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Keys.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Lifebuoy.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Light-Bulb-On.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Light-Bulb.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Lightening.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Line-In-Circle.js.map +1 -1
- package/dist/esm/components/Assets/Icons/List-Bulleted.js.map +1 -1
- package/dist/esm/components/Assets/Icons/List-Numbered.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Loaders.css +3 -3
- package/dist/esm/components/Assets/Icons/Loaders.module.css.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Loading-Animated.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Loading.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Lock.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Map-Pin.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Mcp.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Metrics-Alt.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Metrics.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Minus.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Moon.js.map +1 -1
- package/dist/esm/components/Assets/Icons/No-Cloud.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Pause.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Payment.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Pencil.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Pie-Chart.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Pin.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Pipe.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Play-In-Circle.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Play.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Plug.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Plus.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Popin.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Popout.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Popover-Arrow.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Puzzle-Piece.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Query.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Question.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Refresh.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Resize-Arrows-Horizontal.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Resize-Arrows-Vertical.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Rocket.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Sand-Glass.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Search.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Secure.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Server.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Services.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Settings.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Share-Network.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Share.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Sleep.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Slide-In.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Slide-Out.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Sort-Alt.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Sort.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Sparkle.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Speaker.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Speed.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Square.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Star.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Stop.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Support.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Table.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Taxi.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Text-Slash.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Thumbs-Down.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Thumbs-Up.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Trash.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Tree-Structure.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Underline.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Unpin.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Upgrade.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Upload.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Url.js.map +1 -1
- package/dist/esm/components/Assets/Icons/User.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Users.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Warning.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Waves.js.map +1 -1
- package/dist/esm/components/Assets/Icons/system/IconsLight.js +2 -0
- package/dist/esm/components/Assets/Icons/system/IconsLight.js.map +1 -1
- package/dist/esm/components/Assets/Logos/AWS.js.map +1 -1
- package/dist/esm/components/Assets/Logos/AWS_ATHENA.js.map +1 -1
- package/dist/esm/components/Assets/Logos/AWS_AURORA.js.map +1 -1
- package/dist/esm/components/Assets/Logos/AWS_GLUE.js.map +1 -1
- package/dist/esm/components/Assets/Logos/AWS_KINESIS.js.map +1 -1
- package/dist/esm/components/Assets/Logos/AWS_MSK.js.map +1 -1
- package/dist/esm/components/Assets/Logos/AWS_RDS.js.map +1 -1
- package/dist/esm/components/Assets/Logos/AWS_REDSHIFT.js.map +1 -1
- package/dist/esm/components/Assets/Logos/AWS_S3.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Airbyte.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Alloydb.js.map +1 -1
- package/dist/esm/components/Assets/Logos/ApacheIceberg.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Azure.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Azure_Blob_Storage.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Azure_Event_Hub.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Biglake-Metastore.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Bigquery.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Clickhouse.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Cloudflare.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Confluent.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Crunchy_Bridge.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Csharp.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Databricks.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Datagrip.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Dbeaver.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Dbt.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Decodeable.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Deepnote.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Deltalake.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Digitalocean.js.map +1 -1
- package/dist/esm/components/Assets/Logos/FeatureDatabase.js.map +1 -1
- package/dist/esm/components/Assets/Logos/FeatureHexagon.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Fivetran.js.map +1 -1
- package/dist/esm/components/Assets/Logos/GCS.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Gcp.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Github.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Golang.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Google.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Grafana.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Hex.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Hudi.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Iceberg.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Jdbc.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Kafka.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Kubernetes.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Lakekeeper.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Mariadb.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Metabase.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Microsoft.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Mongodb.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Mysql.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Neondb.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Nessie.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Nodejs.js.map +1 -1
- package/dist/esm/components/Assets/Logos/OVH.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Onelake.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Planetscale.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Polaris.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Postgres.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Prequel.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Python.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Redpanda.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Rust.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Snowflake.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Supabase.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Superset.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Tableau.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Tigerdata.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Upstash.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Vector.js.map +1 -1
- package/dist/esm/components/Assets/Logos/Warpstream.js.map +1 -1
- package/dist/esm/components/Assets/Logos/system/Logo.js.map +1 -1
- package/dist/esm/components/Assets/Logos/system/LogosDark.js.map +1 -1
- package/dist/esm/components/Assets/Logos/system/LogosLight.js.map +1 -1
- package/dist/esm/components/Assets/Payments/Amex.js.map +1 -1
- package/dist/esm/components/Assets/Payments/Mastercard.js.map +1 -1
- package/dist/esm/components/Assets/Payments/Paypal.js.map +1 -1
- package/dist/esm/components/Assets/Payments/Visa.js.map +1 -1
- package/dist/esm/components/Assets/Payments/system/Payment.js.map +1 -1
- package/dist/esm/components/Assets/Payments/system/PaymentsDark.js.map +1 -1
- package/dist/esm/components/Assets/Payments/system/PaymentsLight.js.map +1 -1
- package/dist/esm/components/Assets/config.js.map +1 -1
- package/dist/esm/components/AutoComplete/AutoComplete.module.css.js.map +1 -1
- package/dist/esm/components/AutoComplete/OptionContext.js.map +1 -1
- package/dist/esm/components/AutoComplete/index.js +4 -4
- package/dist/esm/components/AutoComplete/index.js.map +1 -1
- package/dist/esm/components/AutoComplete/useOption.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.module.css.js.map +1 -1
- package/dist/esm/components/Avatar/index.js.map +1 -1
- package/dist/esm/components/Badge/Badge.module.css.js.map +1 -1
- package/dist/esm/components/Badge/index.js.map +1 -1
- package/dist/esm/components/BigStat/BigStat.module.css.js.map +1 -1
- package/dist/esm/components/BigStat/index.js.map +1 -1
- package/dist/esm/components/Button/BaseButton.js.map +1 -1
- package/dist/esm/components/Button/BaseButton.module.css.js.map +1 -1
- package/dist/esm/components/Button/Button.module.css.js.map +1 -1
- package/dist/esm/components/Button/index.js.map +1 -1
- package/dist/esm/components/ButtonGroup/ButtonGroup.module.css.js.map +1 -1
- package/dist/esm/components/ButtonGroup/index.js +0 -1
- package/dist/esm/components/ButtonGroup/index.js.map +1 -1
- package/dist/esm/components/CardHorizontal/CardHorizontal.module.css.js.map +1 -1
- package/dist/esm/components/CardHorizontal/index.js +3 -2
- package/dist/esm/components/CardHorizontal/index.js.map +1 -1
- package/dist/esm/components/CardPrimary/CardPrimary.module.css.js.map +1 -1
- package/dist/esm/components/CardPrimary/CardPrimaryTopBadge.js.map +1 -1
- package/dist/esm/components/CardPrimary/index.js +4 -3
- package/dist/esm/components/CardPrimary/index.js.map +1 -1
- package/dist/esm/components/CardPrimary/withTopBadge.js.map +1 -1
- package/dist/esm/components/CardPromotion/CardPromotion.module.css.js.map +1 -1
- package/dist/esm/components/CardPromotion/index.js.map +1 -1
- package/dist/esm/components/CardSecondary/CardSecondary.module.css.js.map +1 -1
- package/dist/esm/components/CardSecondary/index.js.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.module.css.js.map +1 -1
- package/dist/esm/components/Checkbox/index.js.map +1 -1
- package/dist/esm/components/CheckboxMultiSelect/index.js.map +1 -1
- package/dist/esm/components/CodeBlock/CodeBlock.module.css.js.map +1 -1
- package/dist/esm/components/CodeBlock/InlineCodeBlock.js.map +1 -1
- package/dist/esm/components/CodeBlock/InlineCodeBlock.module.css.js.map +1 -1
- package/dist/esm/components/CodeBlock/index.js.map +1 -1
- package/dist/esm/components/CodeBlock/useColorStyle.js.map +1 -1
- package/dist/esm/components/Collapsible/Collapsible.module.css.js.map +1 -1
- package/dist/esm/components/Collapsible/IconWrapper.js.map +1 -1
- package/dist/esm/components/Collapsible/index.js.map +1 -1
- package/dist/esm/components/ConfirmationDialog/ConfirmationDialog.module.css.js.map +1 -1
- package/dist/esm/components/ConfirmationDialog/index.js.map +1 -1
- package/dist/esm/components/Container/Container.module.css.js.map +1 -1
- package/dist/esm/components/Container/index.js.map +1 -1
- package/dist/esm/components/ContextMenu/ContextMenu.module.css.js.map +1 -1
- package/dist/esm/components/ContextMenu/index.js +1 -1
- package/dist/esm/components/ContextMenu/index.js.map +1 -1
- package/dist/esm/components/CrossButton/CrossButton.module.css.js.map +1 -1
- package/dist/esm/components/CrossButton/index.js.map +1 -1
- package/dist/esm/components/DateDetails/index.js.map +1 -1
- package/dist/esm/components/DatePicker/Common.js.map +1 -1
- package/dist/esm/components/DatePicker/Common.module.css.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.module.css.js.map +1 -1
- package/dist/esm/components/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/DateRangePicker.module.css.js.map +1 -1
- package/dist/esm/components/DatePicker/DateTimeRangePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/DateTimeRangePicker.module.css.js.map +1 -1
- package/dist/esm/components/DatePicker/index.js +4 -4
- package/dist/esm/components/DatePicker/index.js.map +1 -1
- package/dist/esm/components/DatePicker/utils.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.module.css.js.map +1 -1
- package/dist/esm/components/Dialog/index.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.module.css.js.map +1 -1
- package/dist/esm/components/Dropdown/index.js +12 -11
- package/dist/esm/components/Dropdown/index.js.map +1 -1
- package/dist/esm/components/EllipsisContent/EllipsisContent.module.css.js.map +1 -1
- package/dist/esm/components/EllipsisContent/index.js.map +1 -1
- package/dist/esm/components/EmptyButton/EmptyButton.module.css.js.map +1 -1
- package/dist/esm/components/EmptyButton/index.js.map +1 -1
- package/dist/esm/components/FileTabs/FileTabs.module.css.js.map +1 -1
- package/dist/esm/components/FileTabs/index.js +1 -1
- package/dist/esm/components/FileTabs/index.js.map +1 -1
- package/dist/esm/components/FileUpload/FileMultiUpload.js.map +1 -1
- package/dist/esm/components/FileUpload/FileMultiUpload.module.css.js.map +1 -1
- package/dist/esm/components/FileUpload/FileUploadArea.js +76 -73
- package/dist/esm/components/FileUpload/FileUploadArea.js.map +1 -1
- package/dist/esm/components/FileUpload/FileUploadArea.module.css.js.map +1 -1
- package/dist/esm/components/FileUpload/FileUploadItem.js.map +1 -1
- package/dist/esm/components/FileUpload/FileUploadItem.module.css.js.map +1 -1
- package/dist/esm/components/FileUpload/index.js.map +1 -1
- package/dist/esm/components/FileUpload/useDragAndDrop.js.map +1 -1
- package/dist/esm/components/Flyout/Flyout.module.css.js.map +1 -1
- package/dist/esm/components/Flyout/index.js.map +1 -1
- package/dist/esm/components/FormContainer/Error.js.map +1 -1
- package/dist/esm/components/FormContainer/Error.module.css.js.map +1 -1
- package/dist/esm/components/FormContainer/FormElementContainer.js.map +1 -1
- package/dist/esm/components/FormContainer/FormElementContainer.module.css.js.map +1 -1
- package/dist/esm/components/FormContainer/FormRoot.js.map +1 -1
- package/dist/esm/components/FormContainer/FormRoot.module.css.js.map +1 -1
- package/dist/esm/components/FormContainer/index.js.map +1 -1
- package/dist/esm/components/GenericLabel/GenericLabel.module.css.js.map +1 -1
- package/dist/esm/components/GenericLabel/index.js.map +1 -1
- package/dist/esm/components/GenericMenu/GenericMenu.css +7 -6
- package/dist/esm/components/GenericMenu/GenericMenu.module.css.js.map +1 -1
- package/dist/esm/components/GenericMenu/index.js.map +1 -1
- package/dist/esm/components/Grid/Cell.js.map +1 -1
- package/dist/esm/components/Grid/ColumnResizer.js +32 -29
- package/dist/esm/components/Grid/ColumnResizer.js.map +1 -1
- package/dist/esm/components/Grid/ColumnResizer.module.css.js.map +1 -1
- package/dist/esm/components/Grid/Grid.module.css.js.map +1 -1
- package/dist/esm/components/Grid/Header.js.map +1 -1
- package/dist/esm/components/Grid/Header.module.css.js.map +1 -1
- package/dist/esm/components/Grid/RowNumberColumn.js.map +1 -1
- package/dist/esm/components/Grid/RowNumberColumn.module.css.js.map +1 -1
- package/dist/esm/components/Grid/StyledCell.js.map +1 -1
- package/dist/esm/components/Grid/StyledCell.module.css.js.map +1 -1
- package/dist/esm/components/Grid/copyGridElements.js.map +1 -1
- package/dist/esm/components/Grid/index.js +1 -1
- package/dist/esm/components/Grid/index.js.map +1 -1
- package/dist/esm/components/Grid/useColumns.js.map +1 -1
- package/dist/esm/components/Grid/useResizingState.js.map +1 -1
- package/dist/esm/components/Grid/useSelectionActions.js.map +1 -1
- package/dist/esm/components/GridContainer/GridContainer.module.css.js.map +1 -1
- package/dist/esm/components/GridContainer/index.js.map +1 -1
- package/dist/esm/components/HoverCard/HoverCard.module.css.js.map +1 -1
- package/dist/esm/components/HoverCard/index.js.map +1 -1
- package/dist/esm/components/Icon/Icon.module.css.js.map +1 -1
- package/dist/esm/components/Icon/IconCommon.js.map +1 -1
- package/dist/esm/components/Icon/SvgImageElement.js.map +1 -1
- package/dist/esm/components/Icon/index.js.map +1 -1
- package/dist/esm/components/IconButton/IconButton.module.css.js.map +1 -1
- package/dist/esm/components/IconButton/index.js +0 -1
- package/dist/esm/components/IconButton/index.js.map +1 -1
- package/dist/esm/components/IconWrapper/index.js +1 -2
- package/dist/esm/components/IconWrapper/index.js.map +1 -1
- package/dist/esm/components/InputWrapper/InputWrapper.module.css.js.map +1 -1
- package/dist/esm/components/InputWrapper/index.js.map +1 -1
- package/dist/esm/components/Label/Label.module.css.js.map +1 -1
- package/dist/esm/components/Label/index.js.map +1 -1
- package/dist/esm/components/Link/Link.module.css.js.map +1 -1
- package/dist/esm/components/Link/index.js.map +1 -1
- package/dist/esm/components/MiddleTruncator/MiddleTruncator.module.css.js.map +1 -1
- package/dist/esm/components/MiddleTruncator/index.js.map +1 -1
- package/dist/esm/components/MultiAccordion/MultiAccordion.module.css.js.map +1 -1
- package/dist/esm/components/MultiAccordion/index.js.map +1 -1
- package/dist/esm/components/MultiSelect/index.js.map +1 -1
- package/dist/esm/components/NumberField/index.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.module.css.js.map +1 -1
- package/dist/esm/components/Pagination/index.js.map +1 -1
- package/dist/esm/components/Panel/Panel.module.css.js.map +1 -1
- package/dist/esm/components/Panel/index.js.map +1 -1
- package/dist/esm/components/PasswordField/index.js.map +1 -1
- package/dist/esm/components/Popover/Popover.module.css.js.map +1 -1
- package/dist/esm/components/Popover/index.js.map +1 -1
- package/dist/esm/components/ProgressBar/ProgressBar.module.css.js.map +1 -1
- package/dist/esm/components/ProgressBar/index.js +2 -1
- package/dist/esm/components/ProgressBar/index.js.map +1 -1
- package/dist/esm/components/RadioGroup/RadioGroup.module.css.js.map +1 -1
- package/dist/esm/components/RadioGroup/index.js.map +1 -1
- package/dist/esm/components/SearchField/index.js.map +1 -1
- package/dist/esm/components/Select/MultiSelectValue.js.map +1 -1
- package/dist/esm/components/Select/MultiSelectValue.module.css.js.map +1 -1
- package/dist/esm/components/Select/SingleSelectValue.js +0 -1
- package/dist/esm/components/Select/SingleSelectValue.js.map +1 -1
- package/dist/esm/components/Select/SingleSelectValue.module.css.js.map +1 -1
- package/dist/esm/components/Select/common/InternalSelect.js +1 -3
- package/dist/esm/components/Select/common/InternalSelect.js.map +1 -1
- package/dist/esm/components/Select/common/OptionContext.js.map +1 -1
- package/dist/esm/components/Select/common/SelectComponents.js.map +1 -1
- package/dist/esm/components/Select/common/SelectComponents.module.css.js.map +1 -1
- package/dist/esm/components/Select/common/useOption.js.map +1 -1
- package/dist/esm/components/Select/index.js.map +1 -1
- package/dist/esm/components/Separator/Separator.module.css.js.map +1 -1
- package/dist/esm/components/Separator/index.js.map +1 -1
- package/dist/esm/components/SidebarCollapsibleItem/index.js.map +1 -1
- package/dist/esm/components/SidebarCollapsibleTitle/index.js.map +1 -1
- package/dist/esm/components/SidebarNavigationItem/SidebarNavigationItem.module.css.js.map +1 -1
- package/dist/esm/components/SidebarNavigationItem/index.js.map +1 -1
- package/dist/esm/components/SidebarNavigationTitle/SidebarNavigationTitle.module.css.js.map +1 -1
- package/dist/esm/components/SidebarNavigationTitle/index.js.map +1 -1
- package/dist/esm/components/Spacer/Spacer.module.css.js.map +1 -1
- package/dist/esm/components/Spacer/index.js.map +1 -1
- package/dist/esm/components/SplitButton/SplitButton.module.css.js.map +1 -1
- package/dist/esm/components/SplitButton/index.js.map +1 -1
- package/dist/esm/components/Switch/Switch.module.css.js.map +1 -1
- package/dist/esm/components/Switch/index.js.map +1 -1
- package/dist/esm/components/Table/Table.module.css.js.map +1 -1
- package/dist/esm/components/Table/index.js +73 -61
- package/dist/esm/components/Table/index.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.module.css.js.map +1 -1
- package/dist/esm/components/Tabs/index.js.map +1 -1
- package/dist/esm/components/Text/Text.module.css.js.map +1 -1
- package/dist/esm/components/Text/index.js.map +1 -1
- package/dist/esm/components/TextAreaField/index.js.map +1 -1
- package/dist/esm/components/TextField/index.js.map +1 -1
- package/dist/esm/components/Title/Title.module.css.js.map +1 -1
- package/dist/esm/components/Title/index.js.map +1 -1
- package/dist/esm/components/Toast/Toast.module.css.js.map +1 -1
- package/dist/esm/components/Toast/index.js.map +1 -1
- package/dist/esm/components/Toast/toastEmitter.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.module.css.js.map +1 -1
- package/dist/esm/components/Tooltip/index.js.map +1 -1
- package/dist/esm/components/VerticalStepper/VerticalStepper.module.css.js.map +1 -1
- package/dist/esm/components/VerticalStepper/index.js.map +1 -1
- package/dist/esm/hooks/internal/useInputModality.js.map +1 -1
- package/dist/esm/hooks/internal/useUpdateEffect.js.map +1 -1
- package/dist/esm/hooks/useCUITheme.js.map +1 -1
- package/dist/esm/hooks/useInitialTheme.js.map +1 -1
- package/dist/esm/hooks/useToast.js.map +1 -1
- package/dist/esm/index.js +19 -19
- package/dist/esm/lib/EventEmitter.js.map +1 -1
- package/dist/esm/lib/cva.js.map +1 -1
- package/dist/esm/lib/getTextFromNodes.js.map +1 -1
- package/dist/esm/providers/ClickUIProvider.js.map +1 -1
- package/dist/esm/providers/PortalContext.js +1 -1
- package/dist/esm/providers/PortalContext.js.map +1 -1
- package/dist/esm/providers/PortalProvider.js.map +1 -1
- package/dist/esm/theme/InitCUIThemeScript/index.js +8 -7
- package/dist/esm/theme/InitCUIThemeScript/index.js.map +1 -1
- package/dist/esm/theme/ThemeContext.js.map +1 -1
- package/dist/esm/theme/styles/tokens-dark.css +2 -1
- package/dist/esm/theme/styles/tokens-light.css +2 -1
- package/dist/esm/theme/theme.config.json.js.map +1 -1
- package/dist/esm/theme/theme.core.js.map +1 -1
- package/dist/esm/theme/theme.utils.js.map +1 -1
- package/dist/esm/theme/tokens/variables.dark.js +226 -226
- package/dist/esm/theme/tokens/variables.dark.js.map +1 -1
- package/dist/esm/theme/tokens/variables.light.js +226 -226
- package/dist/esm/theme/tokens/variables.light.js.map +1 -1
- package/dist/esm/utils/date.js.map +1 -1
- package/dist/esm/utils/dom.js +4 -7
- package/dist/esm/utils/dom.js.map +1 -1
- package/dist/esm/utils/file.js.map +1 -1
- package/dist/esm/utils/localStorage.js.map +1 -1
- package/dist/esm/utils/mergeRefs.js.map +1 -1
- package/dist/esm/utils/url.js +19 -0
- package/dist/esm/utils/url.js.map +1 -0
- package/dist/types/components/Assets/Icons/Grid-Dots.d.ts +3 -0
- package/dist/types/components/Assets/Icons/system/types.d.ts +1 -1
- package/dist/types/components/Dropdown/Dropdown.d.ts +2 -2
- package/dist/types/components/Dropdown/Dropdown.types.d.ts +13 -1
- package/dist/types/components/FileTabs/FileTabs.d.ts +2 -35
- package/dist/types/components/FileTabs/FileTabs.types.d.ts +23 -17
- package/dist/types/components/FileUpload/FileUpload.d.ts +1 -14
- package/dist/types/components/FileUpload/FileUpload.types.d.ts +1 -0
- package/dist/types/components/GridContainer/GridContainer.d.ts +1 -56
- package/dist/types/components/GridContainer/GridContainer.types.d.ts +13 -0
- package/dist/types/components/HoverCard/HoverCard.d.ts +1 -7
- package/dist/types/components/IconWrapper/IconWrapper.d.ts +1 -1
- package/dist/types/components/IconWrapper/IconWrapper.types.d.ts +0 -1
- package/dist/types/components/Link/Link.d.ts +2 -17
- package/dist/types/components/Link/Link.types.d.ts +3 -0
- package/dist/types/components/MultiAccordion/MultiAccordion.d.ts +4 -27
- package/dist/types/components/MultiAccordion/MultiAccordion.types.d.ts +7 -1
- package/dist/types/components/Pagination/Pagination.d.ts +2 -30
- package/dist/types/components/Pagination/Pagination.types.d.ts +4 -0
- package/dist/types/components/ProgressBar/ProgressBar.d.ts +1 -1
- package/dist/types/components/RadioGroup/RadioGroup.d.ts +1 -22
- package/dist/types/components/RadioGroup/RadioGroup.types.d.ts +9 -2
- package/dist/types/components/Toast/Toast.d.ts +1 -5
- package/dist/types/components/Toast/Toast.types.d.ts +2 -2
- package/dist/types/providers/ClickUIProvider.d.ts +1 -1
- package/dist/types/utils/dom.d.ts +1 -1
- package/dist/types/utils/url.d.ts +20 -0
- package/package.json +9 -7
- package/dist/types/theme/themes.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport {\n ComponentProps,\n ComponentPropsWithRef,\n ElementType,\n ReactNode,\n forwardRef,\n} from 'react';\nimport { Arrow, GenericMenuItem, GenericMenuPanel } from '@/components/GenericMenu';\nimport { cn } from '@/lib/cva';\nimport { useInputModality } from '@/hooks/internal';\nimport Popover_Arrow from '@/components/Assets/Icons/Popover-Arrow';\nimport { IconWrapper } from '@/components/IconWrapper';\nimport type { IconWrapperProps } from '@/components/IconWrapper';\nimport { Icon } from '@/components/Icon';\nimport type { IconName } from '@/components/Icon';\nimport type { HorizontalDirection } from '@/types';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport type { ArrowProps, DropdownItemProps } from './Dropdown.types';\nimport styles from './Dropdown.module.css';\n\nexport const Dropdown = (props: DropdownMenu.DropdownMenuProps) => (\n <DropdownMenu.Root {...props} />\n);\n\ntype DropdownMenuItemComponent = <T extends ElementType = 'div'>(\n props: ComponentProps<typeof GenericMenuItem<T>>\n) => ReactNode;\n\nconst _DropdownMenuItem = <T extends ElementType = 'div'>(\n { className, ...props }: ComponentProps<typeof GenericMenuItem<T>>,\n ref: ComponentPropsWithRef<T>['ref']\n) => (\n <GenericMenuItem\n ref={ref}\n {...(props as ComponentProps<typeof GenericMenuItem>)}\n className={cn(styles['dropdown-menu-item'], className)}\n />\n);\n\nconst DropdownMenuItem: DropdownMenuItemComponent = forwardRef(_DropdownMenuItem);\n\n// `sub` alone discriminates the two shapes of Trigger and Content. The label\n// fields live separately so only the sub-trigger accepts them — Content spreads\n// what it does not read straight onto the Radix element, i.e. into the DOM.\ninterface SubDiscriminant {\n sub?: true;\n}\n\ninterface SubTriggerFields {\n icon?: IconName;\n iconDir?: HorizontalDirection;\n /**\n * Positions the tooltip shown when the label is truncated. Defaults to\n * `side: 'right'` so the tooltip does not cover the items above it.\n */\n tooltipProps?: IconWrapperProps['tooltipProps'];\n}\n\ninterface MainDropdownProps {\n sub?: never;\n}\n\ntype DropdownSubTriggerProps = DropdownMenu.DropdownMenuSubTriggerProps &\n SubDiscriminant &\n SubTriggerFields;\ntype DropdownTriggerProps = DropdownMenu.DropdownMenuTriggerProps & MainDropdownProps;\n\nconst DropdownTrigger = ({\n sub,\n children,\n ...props\n}: DropdownSubTriggerProps | DropdownTriggerProps) => {\n if (sub) {\n const { icon, iconDir, tooltipProps, ...menuProps } =\n props as DropdownSubTriggerProps;\n return (\n <DropdownMenuItem\n as={DropdownMenu.SubTrigger}\n {...menuProps}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n tooltipProps={{ side: 'right', ...tooltipProps }}\n >\n {children}\n </IconWrapper>\n <Icon name=\"chevron-right\" />\n </DropdownMenuItem>\n );\n }\n\n const { className, ...triggerProps } = props as DropdownTriggerProps;\n return (\n <DropdownMenu.Trigger\n asChild\n {...triggerProps}\n className={cn(styles['dropdown-trigger'], className)}\n >\n <div>{children}</div>\n </DropdownMenu.Trigger>\n );\n};\n\nDropdownTrigger.displayName = 'DropdownTrigger';\nDropdown.Trigger = DropdownTrigger;\n\ninterface StyledDropdownContentProps extends DropdownMenu.DropdownMenuContentProps {\n children?: ReactNode;\n container?: HTMLElement | null;\n responsivePositioning?: boolean;\n}\n\ninterface StyledDropdownSubContentProps extends DropdownMenu.DropdownMenuSubContentProps {\n children?: ReactNode;\n container?: HTMLElement | null;\n responsivePositioning?: boolean;\n}\n\ntype DropdownContentProps = StyledDropdownContentProps & SubDiscriminant & ArrowProps;\ntype DropdownSubContentProps = StyledDropdownSubContentProps &\n MainDropdownProps &\n ArrowProps;\n\ntype DropdownMenuContentComponent = <T extends ElementType = 'div'>(\n props: ComponentProps<typeof GenericMenuPanel<T>>\n) => ReactNode;\n\nconst _DropdownMenuContent = <T extends ElementType = 'div'>(\n { className, ...props }: ComponentProps<typeof GenericMenuPanel<T>>,\n ref: ComponentPropsWithRef<T>['ref']\n) => (\n <GenericMenuPanel\n ref={ref}\n {...(props as ComponentProps<typeof GenericMenuPanel>)}\n className={cn(styles['dropdown-menu-content'], className)}\n />\n);\n\nconst DropdownMenuContent: DropdownMenuContentComponent =\n forwardRef(_DropdownMenuContent);\n\nconst DropdownContent = ({\n sub,\n children,\n container,\n showArrow,\n responsivePositioning = true,\n ...props\n}: DropdownContentProps | DropdownSubContentProps) => {\n const ContentElement = sub ? DropdownMenu.SubContent : DropdownMenu.Content;\n const inputModalityProps = useInputModality();\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <DropdownMenu.Portal container={portalContainer}>\n <DropdownMenuContent\n {...props}\n type=\"dropdown-menu\"\n showArrow={showArrow}\n as={ContentElement}\n sideOffset={4}\n loop\n avoidCollisions={responsivePositioning}\n collisionPadding={responsivePositioning ? 100 : undefined}\n {...inputModalityProps}\n >\n {showArrow && (\n <Arrow\n asChild\n as={DropdownMenu.Arrow}\n width={20}\n height={10}\n >\n <Popover_Arrow />\n </Arrow>\n )}\n {children}\n </DropdownMenuContent>\n </DropdownMenu.Portal>\n );\n};\n\nDropdownContent.displayName = 'DropdownContent';\nDropdown.Content = DropdownContent;\n\nconst DropdownGroup = ({ className, ...props }: DropdownMenu.DropdownMenuGroupProps) => {\n return (\n <DropdownMenu.Group\n {...props}\n className={cn(styles['dropdown-group'], className)}\n />\n );\n};\n\nDropdownGroup.displayName = 'DropdownGroup';\nDropdown.Group = DropdownGroup;\n\n// DropdownMenu.Sub is a context-only Radix primitive that renders no DOM node, so\n// the original styled(DropdownMenu.Sub) border-bottom never applied (the className\n// was dropped). The migration preserves that behavior: no class is forwarded.\nconst DropdownSub = (props: DropdownMenu.DropdownMenuGroupProps) => {\n return <DropdownMenu.Sub {...props} />;\n};\n\nDropdownSub.displayName = 'DropdownSub';\nDropdown.Sub = DropdownSub;\n\nconst DropdownItem = ({\n icon,\n iconDir,\n type = 'default',\n tooltipProps,\n children,\n ...props\n}: DropdownItemProps) => {\n return (\n <DropdownMenuItem\n as={DropdownMenu.Item}\n type={type}\n {...props}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n tooltipProps={{ side: 'right', ...tooltipProps }}\n >\n {children}\n </IconWrapper>\n </DropdownMenuItem>\n );\n};\n\nDropdownItem.displayName = 'DropdownItem';\nDropdown.Item = DropdownItem;\n\nexport default Dropdown;\n"],"names":["Icon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport { Slottable } from '@radix-ui/react-slot';\nimport {\n ComponentProps,\n ComponentPropsWithRef,\n ElementType,\n ReactNode,\n forwardRef,\n} from 'react';\nimport { Arrow, GenericMenuItem, GenericMenuPanel } from '@/components/GenericMenu';\nimport { cn } from '@/lib/cva';\nimport { useInputModality } from '@/hooks/internal';\nimport Popover_Arrow from '@/components/Assets/Icons/Popover-Arrow';\nimport { IconWrapper } from '@/components/IconWrapper';\nimport type { IconWrapperProps } from '@/components/IconWrapper';\nimport { Icon } from '@/components/Icon';\nimport type { IconName } from '@/components/Icon';\nimport type { HorizontalDirection } from '@/types';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport type { ArrowProps, DropdownItemProps } from './Dropdown.types';\nimport styles from './Dropdown.module.css';\n\nexport const Dropdown = (props: DropdownMenu.DropdownMenuProps) => (\n <DropdownMenu.Root {...props} />\n);\n\ntype DropdownMenuItemComponent = <T extends ElementType = 'div'>(\n props: ComponentProps<typeof GenericMenuItem<T>>\n) => ReactNode;\n\nconst _DropdownMenuItem = <T extends ElementType = 'div'>(\n { className, ...props }: ComponentProps<typeof GenericMenuItem<T>>,\n ref: ComponentPropsWithRef<T>['ref']\n) => (\n <GenericMenuItem\n ref={ref}\n {...(props as ComponentProps<typeof GenericMenuItem>)}\n className={cn(styles['dropdown-menu-item'], className)}\n />\n);\n\nconst DropdownMenuItem: DropdownMenuItemComponent = forwardRef(_DropdownMenuItem);\n\n// `sub` alone discriminates the two shapes of Trigger and Content. The label\n// fields live separately so only the sub-trigger accepts them — Content spreads\n// what it does not read straight onto the Radix element, i.e. into the DOM.\ninterface SubDiscriminant {\n sub?: true;\n}\n\ninterface SubTriggerFields {\n icon?: IconName;\n iconDir?: HorizontalDirection;\n /**\n * Positions the tooltip shown when the label is truncated. Defaults to\n * `side: 'right'` so the tooltip does not cover the items above it.\n */\n tooltipProps?: IconWrapperProps['tooltipProps'];\n}\n\ninterface MainDropdownProps {\n sub?: never;\n}\n\ntype DropdownSubTriggerProps = DropdownMenu.DropdownMenuSubTriggerProps &\n SubDiscriminant &\n SubTriggerFields;\ntype DropdownTriggerProps = DropdownMenu.DropdownMenuTriggerProps & MainDropdownProps;\n\nconst DropdownTrigger = ({\n sub,\n children,\n ...props\n}: DropdownSubTriggerProps | DropdownTriggerProps) => {\n if (sub) {\n const { icon, iconDir, tooltipProps, ...menuProps } =\n props as DropdownSubTriggerProps;\n return (\n <DropdownMenuItem\n as={DropdownMenu.SubTrigger}\n {...menuProps}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n tooltipProps={{ side: 'right', ...tooltipProps }}\n >\n {children}\n </IconWrapper>\n <Icon name=\"chevron-right\" />\n </DropdownMenuItem>\n );\n }\n\n const { className, ...triggerProps } = props as DropdownTriggerProps;\n return (\n <DropdownMenu.Trigger\n asChild\n {...triggerProps}\n className={cn(styles['dropdown-trigger'], className)}\n >\n <div>{children}</div>\n </DropdownMenu.Trigger>\n );\n};\n\nDropdownTrigger.displayName = 'DropdownTrigger';\nDropdown.Trigger = DropdownTrigger;\n\ninterface StyledDropdownContentProps extends DropdownMenu.DropdownMenuContentProps {\n children?: ReactNode;\n container?: HTMLElement | null;\n responsivePositioning?: boolean;\n}\n\ninterface StyledDropdownSubContentProps extends DropdownMenu.DropdownMenuSubContentProps {\n children?: ReactNode;\n container?: HTMLElement | null;\n responsivePositioning?: boolean;\n}\n\ntype DropdownContentProps = StyledDropdownContentProps & SubDiscriminant & ArrowProps;\ntype DropdownSubContentProps = StyledDropdownSubContentProps &\n MainDropdownProps &\n ArrowProps;\n\ntype DropdownMenuContentComponent = <T extends ElementType = 'div'>(\n props: ComponentProps<typeof GenericMenuPanel<T>>\n) => ReactNode;\n\nconst _DropdownMenuContent = <T extends ElementType = 'div'>(\n { className, ...props }: ComponentProps<typeof GenericMenuPanel<T>>,\n ref: ComponentPropsWithRef<T>['ref']\n) => (\n <GenericMenuPanel\n ref={ref}\n {...(props as ComponentProps<typeof GenericMenuPanel>)}\n className={cn(styles['dropdown-menu-content'], className)}\n />\n);\n\nconst DropdownMenuContent: DropdownMenuContentComponent =\n forwardRef(_DropdownMenuContent);\n\nconst DropdownContent = ({\n sub,\n children,\n container,\n showArrow,\n responsivePositioning = true,\n ...props\n}: DropdownContentProps | DropdownSubContentProps) => {\n const ContentElement = sub ? DropdownMenu.SubContent : DropdownMenu.Content;\n const inputModalityProps = useInputModality();\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <DropdownMenu.Portal container={portalContainer}>\n <DropdownMenuContent\n {...props}\n type=\"dropdown-menu\"\n showArrow={showArrow}\n as={ContentElement}\n sideOffset={4}\n loop\n avoidCollisions={responsivePositioning}\n collisionPadding={responsivePositioning ? 100 : undefined}\n {...inputModalityProps}\n >\n {showArrow && (\n <Arrow\n asChild\n as={DropdownMenu.Arrow}\n width={20}\n height={10}\n >\n <Popover_Arrow />\n </Arrow>\n )}\n {children}\n </DropdownMenuContent>\n </DropdownMenu.Portal>\n );\n};\n\nDropdownContent.displayName = 'DropdownContent';\nDropdown.Content = DropdownContent;\n\nconst DropdownGroup = ({ className, ...props }: DropdownMenu.DropdownMenuGroupProps) => {\n return (\n <DropdownMenu.Group\n {...props}\n className={cn(styles['dropdown-group'], className)}\n />\n );\n};\n\nDropdownGroup.displayName = 'DropdownGroup';\nDropdown.Group = DropdownGroup;\n\n// DropdownMenu.Sub renders no DOM node, so it takes only Radix's sub-menu props.\nconst DropdownSub = (props: DropdownMenu.DropdownMenuSubProps) => {\n return <DropdownMenu.Sub {...props} />;\n};\n\nDropdownSub.displayName = 'DropdownSub';\nDropdown.Sub = DropdownSub;\n\nconst DropdownItem = ({\n icon,\n iconDir,\n type = 'default',\n tooltipProps,\n ...props\n}: DropdownItemProps) => {\n const renderLabel = (label: ReactNode) => (\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n tooltipProps={{ side: 'right', ...tooltipProps }}\n >\n {label}\n </IconWrapper>\n );\n\n return (\n <DropdownMenuItem\n as={DropdownMenu.Item}\n type={type}\n {...props}\n >\n <Slottable child={props.children}>{renderLabel}</Slottable>\n </DropdownMenuItem>\n );\n};\n\nDropdownItem.displayName = 'DropdownItem';\nDropdown.Item = DropdownItem;\n\nexport default Dropdown;\n"],"names":["Icon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EllipsisContent.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EllipsisContent.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/EllipsisContent/EllipsisContent.tsx"],"sourcesContent":["import {\n ComponentProps,\n ComponentPropsWithRef,\n ElementType,\n ReactNode,\n forwardRef,\n useState,\n} from 'react';\nimport { mergeRefs } from '@/utils/mergeRefs';\nimport { cn } from '@/lib/cva';\nimport { Tooltip } from '@/components/Tooltip';\nimport { EllipsisContentProps } from './EllipsisContent.types';\nimport styles from './EllipsisContent.module.css';\n\ntype EllipsisPolymorphicComponent = <T extends ElementType = 'div'>(\n props: Omit<ComponentProps<T>, keyof EllipsisContentProps<T>> & EllipsisContentProps<T>\n) => ReactNode;\n\nconst EllipsisContentComponent = <T extends ElementType = 'div'>(\n {\n component,\n className,\n tooltipProps,\n ...props\n }: Omit<ComponentProps<T>, keyof EllipsisContentProps<T>> &\n EllipsisContentProps<T> & { className?: string },\n ref: ComponentPropsWithRef<T>['ref']\n) => {\n const Component = component ?? 'div';\n const [tooltipContent, setTooltipContent] = useState<string | null>(null);\n\n const content = (\n <Component\n ref={mergeRefs([\n ref,\n node => {\n if (node) {\n setTooltipContent(\n node.scrollWidth > node.clientWidth ? node.innerText : null\n );\n }\n },\n ])}\n {...props}\n className={cn(styles['ellipsis-content'], className)}\n />\n );\n\n if (!tooltipContent) {\n return content;\n }\n\n return (\n <Tooltip disableHoverableContent>\n <Tooltip.Trigger asChild>{content}</Tooltip.Trigger>\n <Tooltip.Content {...tooltipProps}>{tooltipContent}</Tooltip.Content>\n </Tooltip>\n );\n};\n\nexport const EllipsisContent: EllipsisPolymorphicComponent = forwardRef(\n EllipsisContentComponent\n);\n"],"names":[],"mappings":";;;;;;;AAkBA,MAAM,2BAA2B,CAC/B;AAAA,EACE,SAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEA,GAAA,KACG;AACH,EAAA,MAAM,YAAY,SAAA,IAAa,KAAA;AAC/B,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,SAAwB,IAAI,CAAA;AAExE,EAAA,MAAM,OAAA,mBACJ,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAK,SAAA,CAAU;AAAA,QACb,GAAA;AAAA,QACA,CAAA,IAAA,KAAQ;AACN,UAAA,IAAI,IAAA,EAAM;AACR,YAAA,iBAAA;AAAA,cACE,IAAA,CAAK,WAAA,GAAc,IAAA,CAAK,WAAA,GAAc,KAAK,SAAA,GAAY;AAAA,aACzD;AAAA,UACF;AAAA,QACF;AAAA,OACD,CAAA;AAAA,MACA,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,EAAA,CAAG,MAAA,CAAO,kBAAkB,GAAG,SAAS;AAAA;AAAA,GACrD;AAGF,EAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,IAAA,OAAO,OAAA;AAAA,EACT;AAEA,EAAA,uBACE,IAAA,CAAC,OAAA,EAAA,EAAQ,uBAAA,EAAuB,IAAA,EAC9B,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,OAAA,CAAQ,OAAA,EAAR,EAAgB,OAAA,EAAO,MAAE,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,wBACjC,OAAA,CAAQ,OAAA,EAAR,EAAiB,GAAG,cAAe,QAAA,EAAA,cAAA,EAAe;AAAA,GAAA,EACrD,CAAA;AAEJ,CAAA;AAEO,MAAM,eAAA,GAAgD,UAAA;AAAA,EAC3D;AACF
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/EllipsisContent/EllipsisContent.tsx"],"sourcesContent":["import {\n ComponentProps,\n ComponentPropsWithRef,\n ElementType,\n ReactNode,\n forwardRef,\n useState,\n} from 'react';\nimport { mergeRefs } from '@/utils/mergeRefs';\nimport { cn } from '@/lib/cva';\nimport { Tooltip } from '@/components/Tooltip';\nimport { EllipsisContentProps } from './EllipsisContent.types';\nimport styles from './EllipsisContent.module.css';\n\ntype EllipsisPolymorphicComponent = <T extends ElementType = 'div'>(\n props: Omit<ComponentProps<T>, keyof EllipsisContentProps<T>> & EllipsisContentProps<T>\n) => ReactNode;\n\nconst EllipsisContentComponent = <T extends ElementType = 'div'>(\n {\n component,\n className,\n tooltipProps,\n ...props\n }: Omit<ComponentProps<T>, keyof EllipsisContentProps<T>> &\n EllipsisContentProps<T> & { className?: string },\n ref: ComponentPropsWithRef<T>['ref']\n) => {\n const Component = component ?? 'div';\n const [tooltipContent, setTooltipContent] = useState<string | null>(null);\n\n const content = (\n <Component\n ref={mergeRefs([\n ref,\n node => {\n if (node) {\n setTooltipContent(\n node.scrollWidth > node.clientWidth ? node.innerText : null\n );\n }\n },\n ])}\n {...props}\n className={cn(styles['ellipsis-content'], className)}\n />\n );\n\n if (!tooltipContent) {\n return content;\n }\n\n return (\n <Tooltip disableHoverableContent>\n <Tooltip.Trigger asChild>{content}</Tooltip.Trigger>\n <Tooltip.Content {...tooltipProps}>{tooltipContent}</Tooltip.Content>\n </Tooltip>\n );\n};\n\nexport const EllipsisContent: EllipsisPolymorphicComponent = forwardRef(\n EllipsisContentComponent\n);\n"],"names":[],"mappings":";;;;;;;AAkBA,MAAM,2BAA2B,CAC/B;AAAA,EACE,SAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEA,GAAA,KACG;AACH,EAAA,MAAM,YAAY,SAAA,IAAa,KAAA;AAC/B,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,SAAwB,IAAI,CAAA;AAExE,EAAA,MAAM,OAAA,mBACJ,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAK,SAAA,CAAU;AAAA,QACb,GAAA;AAAA,QACA,CAAA,IAAA,KAAQ;AACN,UAAA,IAAI,IAAA,EAAM;AACR,YAAA,iBAAA;AAAA,cACE,IAAA,CAAK,WAAA,GAAc,IAAA,CAAK,WAAA,GAAc,KAAK,SAAA,GAAY;AAAA,aACzD;AAAA,UACF;AAAA,QACF;AAAA,OACD,CAAA;AAAA,MACA,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,EAAA,CAAG,MAAA,CAAO,kBAAkB,GAAG,SAAS;AAAA;AAAA,GACrD;AAGF,EAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,IAAA,OAAO,OAAA;AAAA,EACT;AAEA,EAAA,uBACE,IAAA,CAAC,OAAA,EAAA,EAAQ,uBAAA,EAAuB,IAAA,EAC9B,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,OAAA,CAAQ,OAAA,EAAR,EAAgB,OAAA,EAAO,MAAE,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,wBACjC,OAAA,CAAQ,OAAA,EAAR,EAAiB,GAAG,cAAe,QAAA,EAAA,cAAA,EAAe;AAAA,GAAA,EACrD,CAAA;AAEJ,CAAA;AAEO,MAAM,eAAA,GAAgD,UAAA;AAAA,EAC3D;AACF;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyButton.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EmptyButton.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/EmptyButton/EmptyButton.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, forwardRef } from 'react';\nimport { cn } from '@/lib/cva';\nimport styles from './EmptyButton.module.css';\n\nexport const EmptyButton = forwardRef<\n HTMLButtonElement,\n ButtonHTMLAttributes<HTMLButtonElement>\n>(({ className, ...props }, ref) => (\n <button\n ref={ref}\n {...props}\n className={cn(styles['empty-button'], className)}\n />\n));\n\nEmptyButton.displayName = 'EmptyButton';\n"],"names":[],"mappings":";;;;;AAIO,MAAM,WAAA,GAAc,WAGzB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAC,QAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACC,GAAG,KAAA;AAAA,IACJ,SAAA,EAAW,EAAA,CAAG,MAAA,CAAO,cAAc,GAAG,SAAS;AAAA;AACjD,CACD;AAED,WAAA,CAAY,WAAA,GAAc,aAAA
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/EmptyButton/EmptyButton.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, forwardRef } from 'react';\nimport { cn } from '@/lib/cva';\nimport styles from './EmptyButton.module.css';\n\nexport const EmptyButton = forwardRef<\n HTMLButtonElement,\n ButtonHTMLAttributes<HTMLButtonElement>\n>(({ className, ...props }, ref) => (\n <button\n ref={ref}\n {...props}\n className={cn(styles['empty-button'], className)}\n />\n));\n\nEmptyButton.displayName = 'EmptyButton';\n"],"names":[],"mappings":";;;;;AAIO,MAAM,WAAA,GAAc,WAGzB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAC,QAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACC,GAAG,KAAA;AAAA,IACJ,SAAA,EAAW,EAAA,CAAG,MAAA,CAAO,cAAc,GAAG,SAAS;AAAA;AACjD,CACD;AAED,WAAA,CAAY,WAAA,GAAc,aAAA;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileTabs.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileTabs.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./FileTabs.css";
|
|
2
|
-
import {
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { useRef, useState, Children, useEffect, createContext, useContext } from 'react';
|
|
4
4
|
import { cn } from '../../lib/cva.js';
|
|
5
5
|
import styles from './FileTabs.module.css.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/FileTabs/FileTabs.tsx"],"sourcesContent":["import {\n HTMLAttributes,\n createContext,\n useContext,\n ReactElement,\n Children,\n useState,\n MouseEvent,\n useEffect,\n ReactNode,\n WheelEvent,\n useRef,\n CSSProperties,\n} from 'react';\nimport { cn, cva } from '@/lib/cva';\nimport { Icon } from '@/components/Icon';\nimport { IconButton } from '@/components/IconButton';\nimport type { IconName } from '@/components/Icon/Icon.types';\nimport styles from './FileTabs.module.css';\n\n// TODO: Check if react-sortablejs has ESM version\nimport ReactSortableModule from 'react-sortablejs/dist/index.js';\nimport type {\n ItemInterface,\n Sortable,\n Store,\n ReactSortableProps,\n} from 'react-sortablejs';\nconst { ReactSortable } = ReactSortableModule;\n\nexport type FileTabStatusType =\n | 'default'\n | 'success'\n | 'neutral'\n | 'danger'\n | 'warning'\n | 'info';\n\ninterface ContextProps {\n selectedIndex?: number;\n onClose: (index: number) => void;\n}\n\nexport const TabContext = createContext<ContextProps>({\n selectedIndex: undefined,\n onClose: () => null,\n});\n\nexport interface FileTabProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {\n /** Callback when the tab is closed */\n onClose?: () => void;\n /** Index of the tab in the list */\n index: number;\n /** Status indicator for the tab */\n status?: FileTabStatusType;\n /** Icon to display in the tab */\n icon?: IconName | ReactNode;\n /** Text to display in the tab */\n text: string;\n /** Test ID for testing */\n testId?: string;\n /** Whether the tab is in preview mode (italic text) */\n preview?: boolean;\n}\nexport interface FileTabsProps extends Omit<\n ReactSortableProps<ItemInterface>,\n 'onSelect' | 'list' | 'setList'\n> {\n /** Index of the currently selected tab */\n selectedIndex?: number;\n /** The tab elements to render */\n children: ReactElement<FileTabProps> | ReactElement<FileTabProps>[];\n /** Callback when a tab is reordered via drag and drop */\n onReorderTab: (sourcePosition: number, destinationPosition: number) => void;\n /** Callback when a tab is closed */\n onClose: (index: number) => void;\n /** Callback when a tab is selected */\n onSelect: (index: number) => void;\n /** List of items for sortable functionality */\n list?: ItemInterface[];\n /** Setter for the sortable list */\n setList?: (newState: ItemInterface[], sortable: Sortable | null, store: Store) => void;\n}\n\nconst useSelect = () => {\n const result = useContext(TabContext);\n if (!result) {\n throw new Error('Context used outside of its Provider!');\n }\n return result;\n};\n\nexport const FileTabs = ({\n selectedIndex,\n children,\n onReorderTab,\n onClose: onCloseProp,\n onSelect: onSelectProp,\n list: listProp,\n setList: setListProp,\n onEnd,\n direction,\n group,\n className,\n ...props\n}: FileTabsProps) => {\n const ref = useRef<HTMLDivElement>(null);\n const [list, setList] = useState<ItemInterface[]>(\n Children.map(children, (_, index) => ({\n id: `tab-element-${index}`,\n }))\n );\n useEffect(() => {\n setList(\n Children.map(children, (_, index) => ({\n id: `tab-element-${index}`,\n }))\n );\n }, [children]);\n\n const onClose = (index: number) => {\n onCloseProp(index);\n setList(list => {\n list.splice(index, 1);\n return [...list];\n });\n };\n\n const onSelect = (index: number) => () => {\n onSelectProp(index);\n };\n\n const value = {\n selectedIndex,\n onClose,\n };\n\n const onWheel = (evt: WheelEvent<HTMLDivElement>) => {\n if (ref.current) {\n ref.current.scrollLeft += evt.deltaY;\n }\n };\n return (\n <TabContext.Provider value={value}>\n <div\n ref={ref}\n onWheel={onWheel}\n role=\"tablist\"\n onScroll={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n className={styles.tabs}\n style={\n {\n '--file-tabs-count-width': `${(listProp ?? list).length * 200}px`,\n } as CSSProperties\n }\n >\n <ReactSortable\n direction={direction ?? 'horizontal'}\n group={group ?? 'tabbar'}\n list={listProp ?? list}\n setList={setListProp ?? setList}\n onEnd={(evt, sortable, store) => {\n const { newDraggableIndex, oldDraggableIndex } = evt;\n if (\n typeof newDraggableIndex === 'number' &&\n typeof oldDraggableIndex === 'number' &&\n oldDraggableIndex !== newDraggableIndex\n ) {\n onReorderTab(oldDraggableIndex, newDraggableIndex);\n }\n if (typeof onEnd === 'function') {\n onEnd(evt, sortable, store);\n }\n }}\n revertOnSpill\n {...props}\n className={cn(styles['tabs-sortable'], className)}\n >\n {Children.map(children, (child, index) => (\n <div\n tabIndex={index + 1}\n role=\"tab\"\n onClick={onSelect(index)}\n key={`tab-element-${index}`}\n >\n {child}\n </div>\n ))}\n </ReactSortable>\n </div>\n </TabContext.Provider>\n );\n};\n\nconst tabVariants = cva(styles.tab, {\n variants: {\n active: {\n true: styles.tab_active,\n false: styles.tab_inactive,\n },\n fixed: {\n true: styles.tab_fixed,\n false: styles['tab_full-width'],\n },\n preview: {\n true: styles.tab_preview,\n false: '',\n },\n dismissable: {\n true: styles.tab_dismissable,\n false: '',\n },\n },\n defaultVariants: {\n fixed: false,\n preview: false,\n dismissable: false,\n },\n});\n\nconst Tab = ({\n text,\n index,\n icon,\n onMouseDown: onMouseDownProp,\n status = 'default',\n testId,\n preview,\n className,\n ...props\n}: FileTabProps) => {\n const { selectedIndex, onClose: onCloseProp } = useSelect();\n const onMouseDown = (e: MouseEvent<HTMLDivElement>) => {\n e.currentTarget.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'center',\n });\n if (typeof onMouseDownProp === 'function') {\n onMouseDownProp(e);\n }\n };\n\n const onClose = (e: MouseEvent<HTMLButtonElement>): void => {\n e.preventDefault();\n e.stopPropagation();\n onCloseProp(index);\n };\n\n return (\n <div\n onMouseDown={onMouseDown}\n data-testid={testId ? `${testId}-${index}` : undefined}\n {...props}\n className={cn(\n tabVariants({\n active: selectedIndex === index,\n preview,\n dismissable: true,\n }),\n className\n )}\n >\n <div className={styles['tab-content']}>\n {typeof icon === 'string' ? <Icon name={icon as IconName} /> : icon}\n <span className={styles['tab-content-text']}>{text}</span>\n </div>\n <IconButton\n className={styles['empty-button']}\n htmlType=\"button\"\n icon=\"cross\"\n onClick={onClose}\n data-type=\"close\"\n data-testid={testId ? `${testId}-${index}-close` : undefined}\n />\n <div\n className={styles.indicator}\n data-indicator={status}\n data-testid={testId ? `${testId}-${index}-status` : undefined}\n />\n </div>\n );\n};\n\nTab.displayName = 'FileTab';\n\nFileTabs.Tab = Tab;\n\ninterface FileTabElementProps extends HTMLAttributes<HTMLDivElement> {\n icon?: IconName | ReactNode;\n active?: boolean;\n preview?: boolean;\n}\nexport const FileTabElement = ({\n icon,\n children,\n active = false,\n preview,\n className,\n ...props\n}: FileTabElementProps) => {\n return (\n <div\n {...props}\n className={cn(tabVariants({ active, preview, fixed: true }), className)}\n >\n {typeof icon === 'string' ? <Icon name={icon as IconName} /> : icon}\n {children && <span className={styles['tab-content-text']}>{children}</span>}\n </div>\n );\n};\n"],"names":["list","Icon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/FileTabs/FileTabs.tsx"],"sourcesContent":["import {\n HTMLAttributes,\n createContext,\n useContext,\n Children,\n useState,\n MouseEvent,\n useEffect,\n ReactNode,\n WheelEvent,\n useRef,\n CSSProperties,\n} from 'react';\nimport { cn, cva } from '@/lib/cva';\nimport { Icon } from '@/components/Icon';\nimport { IconButton } from '@/components/IconButton';\nimport type { IconName } from '@/components/Icon/Icon.types';\nimport type { FileTabProps, FileTabsProps } from './FileTabs.types';\nimport styles from './FileTabs.module.css';\n\n// TODO: Check if react-sortablejs has ESM version\nimport ReactSortableModule from 'react-sortablejs/dist/index.js';\nimport type { ItemInterface } from 'react-sortablejs';\nconst { ReactSortable } = ReactSortableModule;\n\ninterface ContextProps {\n selectedIndex?: number;\n onClose: (index: number) => void;\n}\n\nexport const TabContext = createContext<ContextProps>({\n selectedIndex: undefined,\n onClose: () => null,\n});\n\nconst useSelect = () => {\n const result = useContext(TabContext);\n if (!result) {\n throw new Error('Context used outside of its Provider!');\n }\n return result;\n};\n\nexport const FileTabs = ({\n selectedIndex,\n children,\n onReorderTab,\n onClose: onCloseProp,\n onSelect: onSelectProp,\n list: listProp,\n setList: setListProp,\n onEnd,\n direction,\n group,\n className,\n ...props\n}: FileTabsProps) => {\n const ref = useRef<HTMLDivElement>(null);\n const [list, setList] = useState<ItemInterface[]>(\n Children.map(children, (_, index) => ({\n id: `tab-element-${index}`,\n }))\n );\n useEffect(() => {\n setList(\n Children.map(children, (_, index) => ({\n id: `tab-element-${index}`,\n }))\n );\n }, [children]);\n\n const onClose = (index: number) => {\n onCloseProp(index);\n setList(list => {\n list.splice(index, 1);\n return [...list];\n });\n };\n\n const onSelect = (index: number) => () => {\n onSelectProp(index);\n };\n\n const value = {\n selectedIndex,\n onClose,\n };\n\n const onWheel = (evt: WheelEvent<HTMLDivElement>) => {\n if (ref.current) {\n ref.current.scrollLeft += evt.deltaY;\n }\n };\n return (\n <TabContext.Provider value={value}>\n <div\n ref={ref}\n onWheel={onWheel}\n role=\"tablist\"\n onScroll={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n className={styles.tabs}\n style={\n {\n '--file-tabs-count-width': `${(listProp ?? list).length * 200}px`,\n } as CSSProperties\n }\n >\n <ReactSortable\n direction={direction ?? 'horizontal'}\n group={group ?? 'tabbar'}\n list={listProp ?? list}\n setList={setListProp ?? setList}\n onEnd={(evt, sortable, store) => {\n const { newDraggableIndex, oldDraggableIndex } = evt;\n if (\n typeof newDraggableIndex === 'number' &&\n typeof oldDraggableIndex === 'number' &&\n oldDraggableIndex !== newDraggableIndex\n ) {\n onReorderTab(oldDraggableIndex, newDraggableIndex);\n }\n if (typeof onEnd === 'function') {\n onEnd(evt, sortable, store);\n }\n }}\n revertOnSpill\n {...props}\n className={cn(styles['tabs-sortable'], className)}\n >\n {Children.map(children, (child, index) => (\n <div\n tabIndex={index + 1}\n role=\"tab\"\n onClick={onSelect(index)}\n key={`tab-element-${index}`}\n >\n {child}\n </div>\n ))}\n </ReactSortable>\n </div>\n </TabContext.Provider>\n );\n};\n\nconst tabVariants = cva(styles.tab, {\n variants: {\n active: {\n true: styles.tab_active,\n false: styles.tab_inactive,\n },\n fixed: {\n true: styles.tab_fixed,\n false: styles['tab_full-width'],\n },\n preview: {\n true: styles.tab_preview,\n false: '',\n },\n dismissable: {\n true: styles.tab_dismissable,\n false: '',\n },\n },\n defaultVariants: {\n fixed: false,\n preview: false,\n dismissable: false,\n },\n});\n\nconst Tab = ({\n text,\n index,\n icon,\n onMouseDown: onMouseDownProp,\n status = 'default',\n testId,\n preview,\n className,\n ...props\n}: FileTabProps) => {\n const { selectedIndex, onClose: onCloseProp } = useSelect();\n const onMouseDown = (e: MouseEvent<HTMLDivElement>) => {\n e.currentTarget.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'center',\n });\n if (typeof onMouseDownProp === 'function') {\n onMouseDownProp(e);\n }\n };\n\n const onClose = (e: MouseEvent<HTMLButtonElement>): void => {\n e.preventDefault();\n e.stopPropagation();\n onCloseProp(index);\n };\n\n return (\n <div\n onMouseDown={onMouseDown}\n data-testid={testId ? `${testId}-${index}` : undefined}\n {...props}\n className={cn(\n tabVariants({\n active: selectedIndex === index,\n preview,\n dismissable: true,\n }),\n className\n )}\n >\n <div className={styles['tab-content']}>\n {typeof icon === 'string' ? <Icon name={icon as IconName} /> : icon}\n <span className={styles['tab-content-text']}>{text}</span>\n </div>\n <IconButton\n className={styles['empty-button']}\n htmlType=\"button\"\n icon=\"cross\"\n onClick={onClose}\n data-type=\"close\"\n data-testid={testId ? `${testId}-${index}-close` : undefined}\n />\n <div\n className={styles.indicator}\n data-indicator={status}\n data-testid={testId ? `${testId}-${index}-status` : undefined}\n />\n </div>\n );\n};\n\nTab.displayName = 'FileTab';\n\nFileTabs.Tab = Tab;\n\ninterface FileTabElementProps extends HTMLAttributes<HTMLDivElement> {\n icon?: IconName | ReactNode;\n active?: boolean;\n preview?: boolean;\n}\nexport const FileTabElement = ({\n icon,\n children,\n active = false,\n preview,\n className,\n ...props\n}: FileTabElementProps) => {\n return (\n <div\n {...props}\n className={cn(tabVariants({ active, preview, fixed: true }), className)}\n >\n {typeof icon === 'string' ? <Icon name={icon as IconName} /> : icon}\n {children && <span className={styles['tab-content-text']}>{children}</span>}\n </div>\n );\n};\n"],"names":["list","Icon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileMultiUpload.js","sources":["../../../../src/components/FileUpload/FileMultiUpload.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { FileUploadArea } from './FileUploadArea';\nimport { FileUploadItem } from './FileUploadItem';\nimport { useDragAndDrop } from './useDragAndDrop';\nimport styles from './FileMultiUpload.module.css';\n\nexport interface FileUploadItem {\n id: string;\n name: string;\n size: number;\n status: 'uploading' | 'success' | 'error';\n progress: number;\n errorMessage?: string;\n}\n\nexport interface FileMultiUploadProps {\n title: string;\n supportedFileTypes?: string[];\n files: FileUploadItem[];\n onFileSelect?: (file: File) => void;\n onFileRetry?: (fileId: string) => void;\n onFileRemove?: (fileId: string) => void;\n onFileFailure?: () => void;\n}\n\nexport const FileMultiUpload = ({\n title,\n supportedFileTypes = ['.txt', '.sql'],\n files,\n onFileSelect,\n onFileRetry,\n onFileRemove,\n onFileFailure,\n}: FileMultiUploadProps) => {\n const handleFilesProcessed = useCallback(\n (processedFiles: File[]) => {\n processedFiles.forEach(file => {\n if (onFileSelect) {\n onFileSelect(file);\n }\n });\n },\n [onFileSelect]\n );\n\n const {\n isDragging,\n isNotSupported,\n fileInputRef,\n handleDragEnter,\n handleDragLeave,\n handleDragOver,\n handleDrop,\n handleFileSelect,\n handleBrowseClick,\n } = useDragAndDrop({\n onFilesProcessed: handleFilesProcessed,\n supportedFileTypes,\n onFileFailure,\n multiple: true,\n });\n\n const handleRemoveFile = useCallback(\n (fileId: string) => {\n if (onFileRemove) {\n onFileRemove(fileId);\n }\n },\n [onFileRemove]\n );\n\n const handleRetryUpload = useCallback(\n (fileId: string) => {\n if (onFileRetry) {\n onFileRetry(fileId);\n }\n },\n [onFileRetry]\n );\n\n const acceptedFileTypes = supportedFileTypes.join(',');\n\n return (\n <>\n <FileUploadArea\n title={title}\n supportedFileTypes={supportedFileTypes}\n size=\"md\"\n isDragging={isDragging}\n isNotSupported={isNotSupported}\n hasFile={false}\n multiple={true}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n onClick={handleBrowseClick}\n />\n\n {files.length > 0 && (\n <div className={styles['files-list']}>\n {files.map(file => (\n <FileUploadItem\n key={file.id}\n fileName={file.name}\n fileSize={file.size}\n progress={file.progress}\n showSuccess={file.status === 'success'}\n showProgress={file.status === 'uploading'}\n failureMessage={file.errorMessage || 'Upload failed'}\n onRetry={() => handleRetryUpload(file.id)}\n onRemove={() => handleRemoveFile(file.id)}\n size=\"sm\"\n inline={false}\n />\n ))}\n </div>\n )}\n\n <input\n type=\"file\"\n ref={fileInputRef}\n accept={acceptedFileTypes}\n onChange={handleFileSelect}\n multiple\n style={{ display: 'none' }}\n />\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;AAyBO,MAAM,kBAAkB,CAAC;AAAA,EAC9B,KAAA;AAAA,EACA,kBAAA,GAAqB,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,EACpC,KAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,KAA4B;AAC1B,EAAA,MAAM,oBAAA,GAAuB,WAAA;AAAA,IAC3B,CAAC,cAAA,KAA2B;AAC1B,MAAA,cAAA,CAAe,QAAQ,CAAA,IAAA,KAAQ;AAC7B,QAAA,IAAI,YAAA,EAAc;AAChB,UAAA,YAAA,CAAa,IAAI,CAAA;AAAA,QACnB;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAA;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AAEA,EAAA,MAAM;AAAA,IACJ,UAAA;AAAA,IACA,cAAA;AAAA,IACA,YAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA,cAAA;AAAA,IACA,UAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,MACE,cAAA,CAAe;AAAA,IACjB,gBAAA,EAAkB,oBAAA;AAAA,IAClB,kBAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA,EAAU;AAAA,GACX,CAAA;AAED,EAAA,MAAM,gBAAA,GAAmB,WAAA;AAAA,IACvB,CAAC,MAAA,KAAmB;AAClB,MAAA,IAAI,YAAA,EAAc;AAChB,QAAA,YAAA,CAAa,MAAM,CAAA;AAAA,MACrB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AAEA,EAAA,MAAM,iBAAA,GAAoB,WAAA;AAAA,IACxB,CAAC,MAAA,KAAmB;AAClB,MAAA,IAAI,WAAA,EAAa;AACf,QAAA,WAAA,CAAY,MAAM,CAAA;AAAA,MACpB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,WAAW;AAAA,GACd;AAEA,EAAA,MAAM,iBAAA,GAAoB,kBAAA,CAAmB,IAAA,CAAK,GAAG,CAAA;AAErD,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACC,KAAA;AAAA,QACA,kBAAA;AAAA,QACA,IAAA,EAAK,IAAA;AAAA,QACL,UAAA;AAAA,QACA,cAAA;AAAA,QACA,OAAA,EAAS,KAAA;AAAA,QACT,QAAA,EAAU,IAAA;AAAA,QACV,WAAA,EAAa,eAAA;AAAA,QACb,WAAA,EAAa,eAAA;AAAA,QACb,UAAA,EAAY,cAAA;AAAA,QACZ,MAAA,EAAQ,UAAA;AAAA,QACR,OAAA,EAAS;AAAA;AAAA,KACX;AAAA,IAEC,KAAA,CAAM,MAAA,GAAS,CAAA,oBACd,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,YAAY,CAAA,EAChC,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAA,IAAA,qBACT,GAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QAEC,UAAU,IAAA,CAAK,IAAA;AAAA,QACf,UAAU,IAAA,CAAK,IAAA;AAAA,QACf,UAAU,IAAA,CAAK,QAAA;AAAA,QACf,WAAA,EAAa,KAAK,MAAA,KAAW,SAAA;AAAA,QAC7B,YAAA,EAAc,KAAK,MAAA,KAAW,WAAA;AAAA,QAC9B,cAAA,EAAgB,KAAK,YAAA,IAAgB,eAAA;AAAA,QACrC,OAAA,EAAS,MAAM,iBAAA,CAAkB,IAAA,CAAK,EAAE,CAAA;AAAA,QACxC,QAAA,EAAU,MAAM,gBAAA,CAAiB,IAAA,CAAK,EAAE,CAAA;AAAA,QACxC,IAAA,EAAK,IAAA;AAAA,QACL,MAAA,EAAQ;AAAA,OAAA;AAAA,MAVH,IAAA,CAAK;AAAA,KAYb,CAAA,EACH,CAAA;AAAA,oBAGF,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,MAAA;AAAA,QACL,GAAA,EAAK,YAAA;AAAA,QACL,MAAA,EAAQ,iBAAA;AAAA,QACR,QAAA,EAAU,gBAAA;AAAA,QACV,QAAA,EAAQ,IAAA;AAAA,QACR,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA;AAAO;AAAA;AAC3B,GAAA,EACF,CAAA;AAEJ
|
|
1
|
+
{"version":3,"file":"FileMultiUpload.js","sources":["../../../../src/components/FileUpload/FileMultiUpload.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { FileUploadArea } from './FileUploadArea';\nimport { FileUploadItem } from './FileUploadItem';\nimport { useDragAndDrop } from './useDragAndDrop';\nimport styles from './FileMultiUpload.module.css';\n\nexport interface FileUploadItem {\n id: string;\n name: string;\n size: number;\n status: 'uploading' | 'success' | 'error';\n progress: number;\n errorMessage?: string;\n}\n\nexport interface FileMultiUploadProps {\n title: string;\n supportedFileTypes?: string[];\n files: FileUploadItem[];\n onFileSelect?: (file: File) => void;\n onFileRetry?: (fileId: string) => void;\n onFileRemove?: (fileId: string) => void;\n onFileFailure?: () => void;\n}\n\nexport const FileMultiUpload = ({\n title,\n supportedFileTypes = ['.txt', '.sql'],\n files,\n onFileSelect,\n onFileRetry,\n onFileRemove,\n onFileFailure,\n}: FileMultiUploadProps) => {\n const handleFilesProcessed = useCallback(\n (processedFiles: File[]) => {\n processedFiles.forEach(file => {\n if (onFileSelect) {\n onFileSelect(file);\n }\n });\n },\n [onFileSelect]\n );\n\n const {\n isDragging,\n isNotSupported,\n fileInputRef,\n handleDragEnter,\n handleDragLeave,\n handleDragOver,\n handleDrop,\n handleFileSelect,\n handleBrowseClick,\n } = useDragAndDrop({\n onFilesProcessed: handleFilesProcessed,\n supportedFileTypes,\n onFileFailure,\n multiple: true,\n });\n\n const handleRemoveFile = useCallback(\n (fileId: string) => {\n if (onFileRemove) {\n onFileRemove(fileId);\n }\n },\n [onFileRemove]\n );\n\n const handleRetryUpload = useCallback(\n (fileId: string) => {\n if (onFileRetry) {\n onFileRetry(fileId);\n }\n },\n [onFileRetry]\n );\n\n const acceptedFileTypes = supportedFileTypes.join(',');\n\n return (\n <>\n <FileUploadArea\n title={title}\n supportedFileTypes={supportedFileTypes}\n size=\"md\"\n isDragging={isDragging}\n isNotSupported={isNotSupported}\n hasFile={false}\n multiple={true}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n onClick={handleBrowseClick}\n />\n\n {files.length > 0 && (\n <div className={styles['files-list']}>\n {files.map(file => (\n <FileUploadItem\n key={file.id}\n fileName={file.name}\n fileSize={file.size}\n progress={file.progress}\n showSuccess={file.status === 'success'}\n showProgress={file.status === 'uploading'}\n failureMessage={file.errorMessage || 'Upload failed'}\n onRetry={() => handleRetryUpload(file.id)}\n onRemove={() => handleRemoveFile(file.id)}\n size=\"sm\"\n inline={false}\n />\n ))}\n </div>\n )}\n\n <input\n type=\"file\"\n ref={fileInputRef}\n accept={acceptedFileTypes}\n onChange={handleFileSelect}\n multiple\n style={{ display: 'none' }}\n />\n </>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileMultiUpload.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileMultiUpload.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -83,81 +83,84 @@ const FileUploadArea = ({
|
|
|
83
83
|
children
|
|
84
84
|
}) => {
|
|
85
85
|
const isCompact = hasFile || size === "sm";
|
|
86
|
-
return
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
onDragLeave,
|
|
105
|
-
onDragOver,
|
|
106
|
-
onDrop,
|
|
107
|
-
onClick: !hasFile ? onClick : void 0,
|
|
108
|
-
children: !hasFile ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
109
|
-
/* @__PURE__ */ jsx(
|
|
110
|
-
SvgImage,
|
|
111
|
-
{
|
|
112
|
-
name: "upload",
|
|
113
|
-
className: styles["upload-icon"]
|
|
114
|
-
}
|
|
86
|
+
return (
|
|
87
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events -- area click widens the pointer target; the Browse button inside is the keyboard path
|
|
88
|
+
/* @__PURE__ */ jsx(
|
|
89
|
+
"div",
|
|
90
|
+
{
|
|
91
|
+
className: cn(
|
|
92
|
+
uploadAreaVariants({
|
|
93
|
+
radius: hasFile ? "sm" : "md",
|
|
94
|
+
padding: isCompact ? "sm" : "md",
|
|
95
|
+
minHeight: size === "sm" ? "sm" : "md",
|
|
96
|
+
direction: hasFile || size === "sm" ? "row" : "column",
|
|
97
|
+
justify: hasFile || size === "sm" ? "space-between" : "center",
|
|
98
|
+
gap: size === "sm" ? "sm" : "md",
|
|
99
|
+
cursor: hasFile ? "default" : "pointer",
|
|
100
|
+
dashed: !hasFile,
|
|
101
|
+
dragging: !hasFile && isDragging,
|
|
102
|
+
error: isError
|
|
103
|
+
})
|
|
115
104
|
),
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
className: cn(titleVariants({ notSupported: isNotSupported })),
|
|
138
|
-
children: title
|
|
139
|
-
}
|
|
105
|
+
onDragEnter,
|
|
106
|
+
onDragLeave,
|
|
107
|
+
onDragOver,
|
|
108
|
+
onDrop,
|
|
109
|
+
onClick: !hasFile ? onClick : void 0,
|
|
110
|
+
children: !hasFile ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
111
|
+
/* @__PURE__ */ jsx(
|
|
112
|
+
SvgImage,
|
|
113
|
+
{
|
|
114
|
+
name: "upload",
|
|
115
|
+
className: styles["upload-icon"]
|
|
116
|
+
}
|
|
117
|
+
),
|
|
118
|
+
/* @__PURE__ */ jsxs(
|
|
119
|
+
"div",
|
|
120
|
+
{
|
|
121
|
+
className: cn(
|
|
122
|
+
uploadTextVariants({
|
|
123
|
+
centered: !hasFile && size === "md",
|
|
124
|
+
grow: hasFile || size === "sm"
|
|
125
|
+
})
|
|
140
126
|
),
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
127
|
+
children: [
|
|
128
|
+
isNotSupported ? /* @__PURE__ */ jsx(
|
|
129
|
+
Title,
|
|
130
|
+
{
|
|
131
|
+
type: "h1",
|
|
132
|
+
className: cn(titleVariants({ notSupported: true })),
|
|
133
|
+
children: "Unsupported file type"
|
|
134
|
+
}
|
|
135
|
+
) : /* @__PURE__ */ jsx(
|
|
136
|
+
Title,
|
|
137
|
+
{
|
|
138
|
+
type: "h1",
|
|
139
|
+
className: cn(titleVariants({ notSupported: isNotSupported })),
|
|
140
|
+
children: title
|
|
141
|
+
}
|
|
142
|
+
),
|
|
143
|
+
/* @__PURE__ */ jsxs(Text, { className: styles.description, children: [
|
|
144
|
+
"Files supported: ",
|
|
145
|
+
supportedFileTypes.join(", ")
|
|
146
|
+
] })
|
|
147
|
+
]
|
|
148
|
+
}
|
|
149
|
+
),
|
|
150
|
+
/* @__PURE__ */ jsx(
|
|
151
|
+
Button,
|
|
152
|
+
{
|
|
153
|
+
type: "secondary",
|
|
154
|
+
onClick: (e) => {
|
|
155
|
+
e.stopPropagation();
|
|
156
|
+
onClick?.();
|
|
157
|
+
},
|
|
158
|
+
children: multiple ? "Browse files" : "Browse file"
|
|
159
|
+
}
|
|
160
|
+
)
|
|
161
|
+
] }) : children
|
|
162
|
+
}
|
|
163
|
+
)
|
|
161
164
|
);
|
|
162
165
|
};
|
|
163
166
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadArea.js","sources":["../../../../src/components/FileUpload/FileUploadArea.tsx"],"sourcesContent":["import type { DragEvent, FC, ReactNode } from 'react';\nimport { cn, cva } from '@/lib/cva';\nimport { Text } from '@/components/Text';\nimport { Title } from '@/components/Title';\nimport { Icon } from '@/components/Icon';\nimport { Button } from '@/components/Button';\nimport styles from './FileUploadArea.module.css';\n\nconst uploadAreaVariants = cva(styles['upload-area'], {\n variants: {\n radius: {\n sm: styles['upload-area_radius_sm'],\n md: styles['upload-area_radius_md'],\n },\n padding: {\n sm: styles['upload-area_padding_sm'],\n md: styles['upload-area_padding_md'],\n },\n minHeight: {\n sm: styles['upload-area_min-height_sm'],\n md: styles['upload-area_min-height_md'],\n },\n direction: {\n row: styles['upload-area_direction_row'],\n column: styles['upload-area_direction_column'],\n },\n justify: {\n 'space-between': styles['upload-area_justify_space-between'],\n center: styles['upload-area_justify_center'],\n },\n gap: {\n sm: styles['upload-area_gap_sm'],\n md: styles['upload-area_gap_md'],\n },\n cursor: {\n default: styles['upload-area_cursor_default'],\n pointer: styles['upload-area_cursor_pointer'],\n },\n dashed: {\n true: styles['upload-area_dashed_true'],\n },\n dragging: {\n true: styles['upload-area_dragging_true'],\n },\n error: {\n true: styles['upload-area_error_true'],\n },\n },\n});\n\nconst titleVariants = cva(styles.title, {\n variants: {\n notSupported: {\n true: styles['title_not-supported_true'],\n },\n },\n});\n\nconst uploadTextVariants = cva(styles['upload-text'], {\n variants: {\n centered: {\n true: styles['upload-text_centered_true'],\n },\n grow: {\n true: styles['upload-text_grow_true'],\n },\n },\n});\n\nexport interface FileUploadAreaProps {\n title: string;\n supportedFileTypes: string[];\n size?: 'sm' | 'md';\n isDragging: boolean;\n isNotSupported: boolean;\n hasFile?: boolean;\n isError?: boolean;\n multiple?: boolean;\n onDragEnter: (e: DragEvent<HTMLDivElement>) => void;\n onDragLeave: (e: DragEvent<HTMLDivElement>) => void;\n onDragOver: (e: DragEvent<HTMLDivElement>) => void;\n onDrop: (e: DragEvent<HTMLDivElement>) => void;\n onClick?: () => void;\n children?: ReactNode;\n}\n\nexport const FileUploadArea: FC<FileUploadAreaProps> = ({\n title,\n supportedFileTypes,\n size = 'sm',\n isDragging,\n isNotSupported,\n hasFile = false,\n isError = false,\n multiple = false,\n onDragEnter,\n onDragLeave,\n onDragOver,\n onDrop,\n onClick,\n children,\n}) => {\n const isCompact = hasFile || size === 'sm';\n\n return (\n <div\n className={cn(\n uploadAreaVariants({\n radius: hasFile ? 'sm' : 'md',\n padding: isCompact ? 'sm' : 'md',\n minHeight: size === 'sm' ? 'sm' : 'md',\n direction: hasFile || size === 'sm' ? 'row' : 'column',\n justify: hasFile || size === 'sm' ? 'space-between' : 'center',\n gap: size === 'sm' ? 'sm' : 'md',\n cursor: hasFile ? 'default' : 'pointer',\n dashed: !hasFile,\n dragging: !hasFile && isDragging,\n error: isError,\n })\n )}\n onDragEnter={onDragEnter}\n onDragLeave={onDragLeave}\n onDragOver={onDragOver}\n onDrop={onDrop}\n onClick={!hasFile ? onClick : undefined}\n >\n {!hasFile ? (\n <>\n <Icon\n name=\"upload\"\n className={styles['upload-icon']}\n />\n <div\n className={cn(\n uploadTextVariants({\n centered: !hasFile && size === 'md',\n grow: hasFile || size === 'sm',\n })\n )}\n >\n {isNotSupported ? (\n <Title\n type=\"h1\"\n className={cn(titleVariants({ notSupported: true }))}\n >\n Unsupported file type\n </Title>\n ) : (\n <Title\n type=\"h1\"\n className={cn(titleVariants({ notSupported: isNotSupported }))}\n >\n {title}\n </Title>\n )}\n <Text className={styles.description}>\n Files supported: {supportedFileTypes.join(', ')}\n </Text>\n </div>\n <Button\n type={'secondary'}\n onClick={e => {\n e.stopPropagation();\n onClick?.();\n }}\n >\n {multiple ? 'Browse files' : 'Browse file'}\n </Button>\n </>\n ) : (\n children\n )}\n </div>\n );\n};\n"],"names":["Icon"],"mappings":";;;;;;;;;AAQA,MAAM,kBAAA,GAAqB,GAAA,CAAI,MAAA,CAAO,aAAa,CAAA,EAAG;AAAA,EACpD,QAAA,EAAU;AAAA,IACR,MAAA,EAAQ;AAAA,MACN,EAAA,EAAI,OAAO,uBAAuB,CAAA;AAAA,MAClC,EAAA,EAAI,OAAO,uBAAuB;AAAA,KACpC;AAAA,IACA,OAAA,EAAS;AAAA,MACP,EAAA,EAAI,OAAO,wBAAwB,CAAA;AAAA,MACnC,EAAA,EAAI,OAAO,wBAAwB;AAAA,KACrC;AAAA,IACA,SAAA,EAAW;AAAA,MACT,EAAA,EAAI,OAAO,2BAA2B,CAAA;AAAA,MACtC,EAAA,EAAI,OAAO,2BAA2B;AAAA,KACxC;AAAA,IACA,SAAA,EAAW;AAAA,MACT,GAAA,EAAK,OAAO,2BAA2B,CAAA;AAAA,MACvC,MAAA,EAAQ,OAAO,8BAA8B;AAAA,KAC/C;AAAA,IACA,OAAA,EAAS;AAAA,MACP,eAAA,EAAiB,OAAO,mCAAmC,CAAA;AAAA,MAC3D,MAAA,EAAQ,OAAO,4BAA4B;AAAA,KAC7C;AAAA,IACA,GAAA,EAAK;AAAA,MACH,EAAA,EAAI,OAAO,oBAAoB,CAAA;AAAA,MAC/B,EAAA,EAAI,OAAO,oBAAoB;AAAA,KACjC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,OAAA,EAAS,OAAO,4BAA4B,CAAA;AAAA,MAC5C,OAAA,EAAS,OAAO,4BAA4B;AAAA,KAC9C;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,OAAO,yBAAyB;AAAA,KACxC;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,OAAO,2BAA2B;AAAA,KAC1C;AAAA,IACA,KAAA,EAAO;AAAA,MACL,IAAA,EAAM,OAAO,wBAAwB;AAAA;AACvC;AAEJ,CAAC,CAAA;AAED,MAAM,aAAA,GAAgB,GAAA,CAAI,MAAA,CAAO,KAAA,EAAO;AAAA,EACtC,QAAA,EAAU;AAAA,IACR,YAAA,EAAc;AAAA,MACZ,IAAA,EAAM,OAAO,0BAA0B;AAAA;AACzC;AAEJ,CAAC,CAAA;AAED,MAAM,kBAAA,GAAqB,GAAA,CAAI,MAAA,CAAO,aAAa,CAAA,EAAG;AAAA,EACpD,QAAA,EAAU;AAAA,IACR,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,OAAO,2BAA2B;AAAA,KAC1C;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,IAAA,EAAM,OAAO,uBAAuB;AAAA;AACtC;AAEJ,CAAC,CAAA;AAmBM,MAAM,iBAA0C,CAAC;AAAA,EACtD,KAAA;AAAA,EACA,kBAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,UAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA,GAAU,KAAA;AAAA,EACV,OAAA,GAAU,KAAA;AAAA,EACV,QAAA,GAAW,KAAA;AAAA,EACX,WAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,KAAM;AACJ,EAAA,MAAM,SAAA,GAAY,WAAW,IAAA,KAAS,IAAA;AAEtC,EAAA,
|
|
1
|
+
{"version":3,"file":"FileUploadArea.js","sources":["../../../../src/components/FileUpload/FileUploadArea.tsx"],"sourcesContent":["import type { DragEvent, FC, ReactNode } from 'react';\nimport { cn, cva } from '@/lib/cva';\nimport { Text } from '@/components/Text';\nimport { Title } from '@/components/Title';\nimport { Icon } from '@/components/Icon';\nimport { Button } from '@/components/Button';\nimport styles from './FileUploadArea.module.css';\n\nconst uploadAreaVariants = cva(styles['upload-area'], {\n variants: {\n radius: {\n sm: styles['upload-area_radius_sm'],\n md: styles['upload-area_radius_md'],\n },\n padding: {\n sm: styles['upload-area_padding_sm'],\n md: styles['upload-area_padding_md'],\n },\n minHeight: {\n sm: styles['upload-area_min-height_sm'],\n md: styles['upload-area_min-height_md'],\n },\n direction: {\n row: styles['upload-area_direction_row'],\n column: styles['upload-area_direction_column'],\n },\n justify: {\n 'space-between': styles['upload-area_justify_space-between'],\n center: styles['upload-area_justify_center'],\n },\n gap: {\n sm: styles['upload-area_gap_sm'],\n md: styles['upload-area_gap_md'],\n },\n cursor: {\n default: styles['upload-area_cursor_default'],\n pointer: styles['upload-area_cursor_pointer'],\n },\n dashed: {\n true: styles['upload-area_dashed_true'],\n },\n dragging: {\n true: styles['upload-area_dragging_true'],\n },\n error: {\n true: styles['upload-area_error_true'],\n },\n },\n});\n\nconst titleVariants = cva(styles.title, {\n variants: {\n notSupported: {\n true: styles['title_not-supported_true'],\n },\n },\n});\n\nconst uploadTextVariants = cva(styles['upload-text'], {\n variants: {\n centered: {\n true: styles['upload-text_centered_true'],\n },\n grow: {\n true: styles['upload-text_grow_true'],\n },\n },\n});\n\nexport interface FileUploadAreaProps {\n title: string;\n supportedFileTypes: string[];\n size?: 'sm' | 'md';\n isDragging: boolean;\n isNotSupported: boolean;\n hasFile?: boolean;\n isError?: boolean;\n multiple?: boolean;\n onDragEnter: (e: DragEvent<HTMLDivElement>) => void;\n onDragLeave: (e: DragEvent<HTMLDivElement>) => void;\n onDragOver: (e: DragEvent<HTMLDivElement>) => void;\n onDrop: (e: DragEvent<HTMLDivElement>) => void;\n onClick?: () => void;\n children?: ReactNode;\n}\n\nexport const FileUploadArea: FC<FileUploadAreaProps> = ({\n title,\n supportedFileTypes,\n size = 'sm',\n isDragging,\n isNotSupported,\n hasFile = false,\n isError = false,\n multiple = false,\n onDragEnter,\n onDragLeave,\n onDragOver,\n onDrop,\n onClick,\n children,\n}) => {\n const isCompact = hasFile || size === 'sm';\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events -- area click widens the pointer target; the Browse button inside is the keyboard path\n <div\n className={cn(\n uploadAreaVariants({\n radius: hasFile ? 'sm' : 'md',\n padding: isCompact ? 'sm' : 'md',\n minHeight: size === 'sm' ? 'sm' : 'md',\n direction: hasFile || size === 'sm' ? 'row' : 'column',\n justify: hasFile || size === 'sm' ? 'space-between' : 'center',\n gap: size === 'sm' ? 'sm' : 'md',\n cursor: hasFile ? 'default' : 'pointer',\n dashed: !hasFile,\n dragging: !hasFile && isDragging,\n error: isError,\n })\n )}\n onDragEnter={onDragEnter}\n onDragLeave={onDragLeave}\n onDragOver={onDragOver}\n onDrop={onDrop}\n onClick={!hasFile ? onClick : undefined}\n >\n {!hasFile ? (\n <>\n <Icon\n name=\"upload\"\n className={styles['upload-icon']}\n />\n <div\n className={cn(\n uploadTextVariants({\n centered: !hasFile && size === 'md',\n grow: hasFile || size === 'sm',\n })\n )}\n >\n {isNotSupported ? (\n <Title\n type=\"h1\"\n className={cn(titleVariants({ notSupported: true }))}\n >\n Unsupported file type\n </Title>\n ) : (\n <Title\n type=\"h1\"\n className={cn(titleVariants({ notSupported: isNotSupported }))}\n >\n {title}\n </Title>\n )}\n <Text className={styles.description}>\n Files supported: {supportedFileTypes.join(', ')}\n </Text>\n </div>\n <Button\n type={'secondary'}\n onClick={e => {\n e.stopPropagation();\n onClick?.();\n }}\n >\n {multiple ? 'Browse files' : 'Browse file'}\n </Button>\n </>\n ) : (\n children\n )}\n </div>\n );\n};\n"],"names":["Icon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadArea.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileUploadArea.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadItem.js","sources":["../../../../src/components/FileUpload/FileUploadItem.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { cn, cva } from '@/lib/cva';\nimport { Text } from '@/components/Text';\nimport { Icon } from '@/components/Icon';\nimport { IconButton } from '@/components/IconButton';\nimport { ProgressBar } from '@/components/ProgressBar';\nimport { MiddleTruncator } from '@/components/MiddleTruncator';\nimport { formatFileSize } from '@/utils/file';\nimport styles from './FileUploadItem.module.css';\n\nexport interface FileUploadItemProps {\n fileName: string;\n fileSize: number;\n progress?: number;\n showSuccess?: boolean;\n showProgress?: boolean;\n failureMessage?: string;\n onRetry?: () => void;\n onRemove?: () => void;\n size?: 'sm' | 'md';\n inline?: boolean;\n}\n\nconst fileItemContainerVariants = cva(styles['file-item-container'], {\n variants: {\n inline: {\n false: styles['file-item-container_inline_false'],\n },\n error: {\n true: styles['file-item-container_error_true'],\n },\n },\n});\n\nconst documentIconVariants = cva(styles['document-icon'], {\n variants: {\n size: {\n sm: styles['document-icon_size_sm'],\n md: styles['document-icon_size_md'],\n },\n },\n});\n\nconst descriptionVariants = cva(styles.description, {\n variants: {\n error: {\n true: styles['description_error_true'],\n },\n },\n});\n\nconst fileContentContainerVariants = cva(styles['file-content-container'], {\n variants: {\n size: {\n sm: styles['file-content-container_size_sm'],\n md: styles['file-content-container_size_md'],\n },\n },\n});\n\nexport const FileUploadItem: FC<FileUploadItemProps> = ({\n fileName,\n fileSize,\n progress = 0,\n showSuccess = false,\n showProgress = false,\n failureMessage = 'Upload failed',\n onRetry,\n onRemove,\n size = 'sm',\n inline = false,\n}) => {\n const isError = !showSuccess && !showProgress;\n\n return (\n <div\n className={cn(\n fileItemContainerVariants({\n inline: inline ? undefined : false,\n error: !inline && isError,\n })\n )}\n >\n {showSuccess ? (\n <Icon\n size={'xs'}\n state={'success'}\n name={'check'}\n />\n ) : (\n <Icon\n name={'document'}\n className={cn(documentIconVariants({ size }))}\n />\n )}\n\n <div className={cn(fileContentContainerVariants({ size }))}>\n <div className={styles['file-details']}>\n <MiddleTruncator text={fileName} />\n {showProgress && !showSuccess && (\n <Text className={styles.description}>{progress}%</Text>\n )}\n </div>\n\n {isError && (\n <Text className={cn(descriptionVariants({ error: true }))}>\n {failureMessage}\n </Text>\n )}\n\n {showProgress && !showSuccess && (\n <div className={styles['progress-bar-wrapper']}>\n <ProgressBar\n progress={progress}\n type={'small'}\n />\n </div>\n )}\n\n {showSuccess && (\n <Text className={styles.description}>{formatFileSize(fileSize)}</Text>\n )}\n </div>\n\n <div className={styles['file-actions']}>\n {isError && onRetry && (\n <IconButton\n size={'sm'}\n icon={'refresh'}\n type={'ghost'}\n onClick={onRetry}\n />\n )}\n {onRemove && (\n <IconButton\n size={'sm'}\n icon={'cross'}\n type={'ghost'}\n onClick={onRemove}\n />\n )}\n </div>\n </div>\n );\n};\n"],"names":["Icon"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FileUploadItem.js","sources":["../../../../src/components/FileUpload/FileUploadItem.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { cn, cva } from '@/lib/cva';\nimport { Text } from '@/components/Text';\nimport { Icon } from '@/components/Icon';\nimport { IconButton } from '@/components/IconButton';\nimport { ProgressBar } from '@/components/ProgressBar';\nimport { MiddleTruncator } from '@/components/MiddleTruncator';\nimport { formatFileSize } from '@/utils/file';\nimport styles from './FileUploadItem.module.css';\n\nexport interface FileUploadItemProps {\n fileName: string;\n fileSize: number;\n progress?: number;\n showSuccess?: boolean;\n showProgress?: boolean;\n failureMessage?: string;\n onRetry?: () => void;\n onRemove?: () => void;\n size?: 'sm' | 'md';\n inline?: boolean;\n}\n\nconst fileItemContainerVariants = cva(styles['file-item-container'], {\n variants: {\n inline: {\n false: styles['file-item-container_inline_false'],\n },\n error: {\n true: styles['file-item-container_error_true'],\n },\n },\n});\n\nconst documentIconVariants = cva(styles['document-icon'], {\n variants: {\n size: {\n sm: styles['document-icon_size_sm'],\n md: styles['document-icon_size_md'],\n },\n },\n});\n\nconst descriptionVariants = cva(styles.description, {\n variants: {\n error: {\n true: styles['description_error_true'],\n },\n },\n});\n\nconst fileContentContainerVariants = cva(styles['file-content-container'], {\n variants: {\n size: {\n sm: styles['file-content-container_size_sm'],\n md: styles['file-content-container_size_md'],\n },\n },\n});\n\nexport const FileUploadItem: FC<FileUploadItemProps> = ({\n fileName,\n fileSize,\n progress = 0,\n showSuccess = false,\n showProgress = false,\n failureMessage = 'Upload failed',\n onRetry,\n onRemove,\n size = 'sm',\n inline = false,\n}) => {\n const isError = !showSuccess && !showProgress;\n\n return (\n <div\n className={cn(\n fileItemContainerVariants({\n inline: inline ? undefined : false,\n error: !inline && isError,\n })\n )}\n >\n {showSuccess ? (\n <Icon\n size={'xs'}\n state={'success'}\n name={'check'}\n />\n ) : (\n <Icon\n name={'document'}\n className={cn(documentIconVariants({ size }))}\n />\n )}\n\n <div className={cn(fileContentContainerVariants({ size }))}>\n <div className={styles['file-details']}>\n <MiddleTruncator text={fileName} />\n {showProgress && !showSuccess && (\n <Text className={styles.description}>{progress}%</Text>\n )}\n </div>\n\n {isError && (\n <Text className={cn(descriptionVariants({ error: true }))}>\n {failureMessage}\n </Text>\n )}\n\n {showProgress && !showSuccess && (\n <div className={styles['progress-bar-wrapper']}>\n <ProgressBar\n progress={progress}\n type={'small'}\n />\n </div>\n )}\n\n {showSuccess && (\n <Text className={styles.description}>{formatFileSize(fileSize)}</Text>\n )}\n </div>\n\n <div className={styles['file-actions']}>\n {isError && onRetry && (\n <IconButton\n size={'sm'}\n icon={'refresh'}\n type={'ghost'}\n onClick={onRetry}\n />\n )}\n {onRemove && (\n <IconButton\n size={'sm'}\n icon={'cross'}\n type={'ghost'}\n onClick={onRemove}\n />\n )}\n </div>\n </div>\n );\n};\n"],"names":["Icon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadItem.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileUploadItem.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/FileUpload/FileUpload.tsx"],"sourcesContent":["import { useState, useCallback } from 'react';\nimport { FileUploadArea } from './FileUploadArea';\nimport { FileUploadItem } from './FileUploadItem';\nimport { useDragAndDrop } from './useDragAndDrop';\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/FileUpload/FileUpload.tsx"],"sourcesContent":["import { useState, useCallback } from 'react';\nimport { FileUploadArea } from './FileUploadArea';\nimport { FileUploadItem } from './FileUploadItem';\nimport { useDragAndDrop } from './useDragAndDrop';\nimport type { FileUploadProps } from './FileUpload.types';\n\ninterface FileInfo {\n name: string;\n size: number;\n}\n\nexport const FileUpload = ({\n title,\n supportedFileTypes = ['.txt', '.sql'],\n size = 'sm',\n onFileSelect,\n onRetry,\n progress = 0,\n failureMessage = 'Upload failed',\n showProgress = false,\n showSuccess = false,\n onFileFailure,\n onFileClose,\n}: FileUploadProps) => {\n const [file, setFile] = useState<FileInfo | null>(null);\n\n const handleFilesProcessed = useCallback(\n (files: File[]) => {\n const selectedFile = files[0];\n const newFile: FileInfo = {\n name: selectedFile.name,\n size: selectedFile.size,\n };\n\n setFile(newFile);\n\n if (onFileSelect) {\n onFileSelect(selectedFile);\n }\n },\n [onFileSelect]\n );\n\n const {\n isDragging,\n isNotSupported,\n fileInputRef,\n handleDragEnter,\n handleDragLeave,\n handleDragOver,\n handleDrop,\n handleFileSelect,\n handleBrowseClick,\n } = useDragAndDrop({\n onFilesProcessed: handleFilesProcessed,\n supportedFileTypes,\n onFileFailure,\n multiple: false,\n });\n\n const handleRemoveFile = useCallback(() => {\n setFile(null);\n if (fileInputRef.current) {\n fileInputRef.current.value = '';\n }\n\n if (onFileClose) {\n onFileClose();\n }\n }, [onFileClose, fileInputRef]);\n\n const handleRetryUpload = useCallback(() => {\n if (onRetry) {\n onRetry();\n }\n }, [onRetry]);\n\n const acceptedFileTypes = supportedFileTypes.join(',');\n\n return (\n <>\n <FileUploadArea\n title={title}\n supportedFileTypes={supportedFileTypes}\n size={size}\n isDragging={isDragging}\n isNotSupported={isNotSupported}\n hasFile={!!file}\n isError={!!file && !showSuccess && !showProgress}\n multiple={false}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n onClick={handleBrowseClick}\n >\n {file && (\n <FileUploadItem\n fileName={file.name}\n fileSize={file.size}\n progress={progress}\n showSuccess={showSuccess}\n showProgress={showProgress}\n failureMessage={failureMessage}\n onRetry={handleRetryUpload}\n onRemove={handleRemoveFile}\n size={size}\n inline={true}\n />\n )}\n </FileUploadArea>\n\n <input\n type=\"file\"\n ref={fileInputRef}\n accept={acceptedFileTypes}\n onChange={handleFileSelect}\n style={{ display: 'none' }}\n />\n </>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDragAndDrop.js","sources":["../../../../src/components/FileUpload/useDragAndDrop.ts"],"sourcesContent":["import {\n useState,\n useRef,\n useCallback,\n useEffect,\n type DragEvent,\n type RefObject,\n type ChangeEvent,\n} from 'react';\n\nexport interface UseDragAndDropOptions {\n onFilesProcessed: (files: File[]) => void;\n supportedFileTypes: string[];\n onFileFailure?: () => void;\n multiple?: boolean;\n}\n\nexport interface UseDragAndDropReturn {\n isDragging: boolean;\n isNotSupported: boolean;\n fileInputRef: RefObject<HTMLInputElement>;\n handleDragEnter: (e: DragEvent<HTMLDivElement>) => void;\n handleDragLeave: (e: DragEvent<HTMLDivElement>) => void;\n handleDragOver: (e: DragEvent<HTMLDivElement>) => void;\n handleDrop: (e: DragEvent<HTMLDivElement>) => void;\n handleFileSelect: (e: ChangeEvent<HTMLInputElement>) => void;\n handleBrowseClick: () => void;\n}\n\nconst isFiletypeSupported = (filename: string, supportedTypes: string[]): boolean => {\n if (!supportedTypes.length) {\n return true;\n }\n\n const extension = filename.toLowerCase().slice(filename.lastIndexOf('.'));\n return supportedTypes.some(type => type.toLowerCase() === extension.toLowerCase());\n};\n\nexport const useDragAndDrop = ({\n onFilesProcessed,\n supportedFileTypes,\n onFileFailure,\n multiple = false,\n}: UseDragAndDropOptions): UseDragAndDropReturn => {\n const [isDragging, setIsDragging] = useState(false);\n const [isNotSupported, setIsNotSupported] = useState(false);\n const fileInputRef = useRef<HTMLInputElement>(null);\n const dragCounterRef = useRef(0);\n\n useEffect(() => {\n let timeoutId: NodeJS.Timeout;\n if (isNotSupported) {\n timeoutId = setTimeout(() => {\n setIsNotSupported(false);\n }, 2000);\n }\n return () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, [isNotSupported]);\n\n const handleDragEnter = useCallback((e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n dragCounterRef.current += 1;\n setIsDragging(true);\n }, []);\n\n const handleDragLeave = useCallback((e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n dragCounterRef.current -= 1;\n\n // Only set to false when left the container\n if (dragCounterRef.current <= 0) {\n setIsDragging(false);\n dragCounterRef.current = 0;\n }\n }, []);\n\n const handleDragOver = useCallback((e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n // Reset state when drag ends anywhere in the document\n useEffect(() => {\n const handleDragEnd = () => {\n setIsDragging(false);\n dragCounterRef.current = 0;\n };\n\n window.addEventListener('dragend', handleDragEnd);\n document.addEventListener('drop', handleDragEnd);\n document.addEventListener('mouseleave', handleDragEnd);\n\n return () => {\n window.removeEventListener('dragend', handleDragEnd);\n document.removeEventListener('drop', handleDragEnd);\n document.removeEventListener('mouseleave', handleDragEnd);\n };\n }, []);\n\n const processFiles = useCallback(\n (files: File[]) => {\n const validFiles: File[] = [];\n let hasInvalidFile = false;\n\n files.forEach(file => {\n if (isFiletypeSupported(file.name, supportedFileTypes)) {\n validFiles.push(file);\n } else {\n hasInvalidFile = true;\n }\n });\n\n if (hasInvalidFile) {\n setIsNotSupported(true);\n if (onFileFailure) {\n onFileFailure();\n }\n }\n\n if (validFiles.length > 0) {\n setIsNotSupported(false);\n onFilesProcessed(validFiles);\n }\n },\n [onFilesProcessed, supportedFileTypes, onFileFailure]\n );\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragging(false);\n dragCounterRef.current = 0;\n\n if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {\n const files = Array.from(e.dataTransfer.files);\n processFiles(multiple ? files : [files[0]]);\n }\n },\n [processFiles, multiple]\n );\n\n const handleFileSelect = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (e.target.files && e.target.files.length > 0) {\n const files = Array.from(e.target.files);\n processFiles(files);\n }\n },\n [processFiles]\n );\n\n const handleBrowseClick = useCallback(() => {\n if (fileInputRef.current) {\n fileInputRef.current.click();\n }\n }, []);\n\n return {\n isDragging,\n isNotSupported,\n fileInputRef,\n handleDragEnter,\n handleDragLeave,\n handleDragOver,\n handleDrop,\n handleFileSelect,\n handleBrowseClick,\n };\n};\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useDragAndDrop.js","sources":["../../../../src/components/FileUpload/useDragAndDrop.ts"],"sourcesContent":["import {\n useState,\n useRef,\n useCallback,\n useEffect,\n type DragEvent,\n type RefObject,\n type ChangeEvent,\n} from 'react';\n\nexport interface UseDragAndDropOptions {\n onFilesProcessed: (files: File[]) => void;\n supportedFileTypes: string[];\n onFileFailure?: () => void;\n multiple?: boolean;\n}\n\nexport interface UseDragAndDropReturn {\n isDragging: boolean;\n isNotSupported: boolean;\n fileInputRef: RefObject<HTMLInputElement>;\n handleDragEnter: (e: DragEvent<HTMLDivElement>) => void;\n handleDragLeave: (e: DragEvent<HTMLDivElement>) => void;\n handleDragOver: (e: DragEvent<HTMLDivElement>) => void;\n handleDrop: (e: DragEvent<HTMLDivElement>) => void;\n handleFileSelect: (e: ChangeEvent<HTMLInputElement>) => void;\n handleBrowseClick: () => void;\n}\n\nconst isFiletypeSupported = (filename: string, supportedTypes: string[]): boolean => {\n if (!supportedTypes.length) {\n return true;\n }\n\n const extension = filename.toLowerCase().slice(filename.lastIndexOf('.'));\n return supportedTypes.some(type => type.toLowerCase() === extension.toLowerCase());\n};\n\nexport const useDragAndDrop = ({\n onFilesProcessed,\n supportedFileTypes,\n onFileFailure,\n multiple = false,\n}: UseDragAndDropOptions): UseDragAndDropReturn => {\n const [isDragging, setIsDragging] = useState(false);\n const [isNotSupported, setIsNotSupported] = useState(false);\n const fileInputRef = useRef<HTMLInputElement>(null);\n const dragCounterRef = useRef(0);\n\n useEffect(() => {\n let timeoutId: NodeJS.Timeout;\n if (isNotSupported) {\n timeoutId = setTimeout(() => {\n setIsNotSupported(false);\n }, 2000);\n }\n return () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, [isNotSupported]);\n\n const handleDragEnter = useCallback((e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n dragCounterRef.current += 1;\n setIsDragging(true);\n }, []);\n\n const handleDragLeave = useCallback((e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n dragCounterRef.current -= 1;\n\n // Only set to false when left the container\n if (dragCounterRef.current <= 0) {\n setIsDragging(false);\n dragCounterRef.current = 0;\n }\n }, []);\n\n const handleDragOver = useCallback((e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n // Reset state when drag ends anywhere in the document\n useEffect(() => {\n const handleDragEnd = () => {\n setIsDragging(false);\n dragCounterRef.current = 0;\n };\n\n window.addEventListener('dragend', handleDragEnd);\n document.addEventListener('drop', handleDragEnd);\n document.addEventListener('mouseleave', handleDragEnd);\n\n return () => {\n window.removeEventListener('dragend', handleDragEnd);\n document.removeEventListener('drop', handleDragEnd);\n document.removeEventListener('mouseleave', handleDragEnd);\n };\n }, []);\n\n const processFiles = useCallback(\n (files: File[]) => {\n const validFiles: File[] = [];\n let hasInvalidFile = false;\n\n files.forEach(file => {\n if (isFiletypeSupported(file.name, supportedFileTypes)) {\n validFiles.push(file);\n } else {\n hasInvalidFile = true;\n }\n });\n\n if (hasInvalidFile) {\n setIsNotSupported(true);\n if (onFileFailure) {\n onFileFailure();\n }\n }\n\n if (validFiles.length > 0) {\n setIsNotSupported(false);\n onFilesProcessed(validFiles);\n }\n },\n [onFilesProcessed, supportedFileTypes, onFileFailure]\n );\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragging(false);\n dragCounterRef.current = 0;\n\n if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {\n const files = Array.from(e.dataTransfer.files);\n processFiles(multiple ? files : [files[0]]);\n }\n },\n [processFiles, multiple]\n );\n\n const handleFileSelect = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (e.target.files && e.target.files.length > 0) {\n const files = Array.from(e.target.files);\n processFiles(files);\n }\n },\n [processFiles]\n );\n\n const handleBrowseClick = useCallback(() => {\n if (fileInputRef.current) {\n fileInputRef.current.click();\n }\n }, []);\n\n return {\n isDragging,\n isNotSupported,\n fileInputRef,\n handleDragEnter,\n handleDragLeave,\n handleDragOver,\n handleDrop,\n handleFileSelect,\n handleBrowseClick,\n };\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flyout.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Flyout.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|